.journal-page {
	--journal-navy: #153a57;
	--journal-blue: #1688c7;
	--journal-blue-dark: #0c6fae;
	--journal-sky: #eaf5fc;
	--journal-line: #cfe4f2;
	--journal-text: #3a5a73;
	color: var(--journal-text);
	display: grid;
	gap: 32px;
	margin: 0 0 34px;
}

.journal-page *,
.journal-page *::before,
.journal-page *::after { box-sizing: border-box; }
.journal-page h2,
.journal-page h3,
.journal-page p { margin-top: 0; }

.journal-page__hero {
	align-items: center;
	background: linear-gradient(125deg, #123f63 0%, #087fba 64%, #42a9d5 100%);
	border-radius: 28px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(220px, 32%);
	min-height: 470px;
	overflow: hidden;
	padding: 48px 54px;
	position: relative;
}
.journal-page__hero::before {
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 50%;
	content: "";
	height: 420px;
	position: absolute;
	right: -125px;
	top: -175px;
	width: 420px;
}
.journal-page__hero-copy { max-width: 700px; position: relative; z-index: 1; }
.journal-page__eyebrow {
	color: #fff !important;
	display: block;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	margin-bottom: 16px;
	text-transform: uppercase;
}
.journal-page__brand {
	color: #fff !important;
	font-size: clamp(44px, 6vw, 78px) !important;
	font-weight: 400 !important;
	letter-spacing: -.04em;
	line-height: .92 !important;
	margin: 0 0 24px !important;
}
.journal-page__brand span,
.journal-page__brand strong { color: #fff !important; display: block; font-weight: 700 !important; }
.journal-page__hero-copy p { color: #fff !important; font-size: 18px; line-height: 1.65; margin-bottom: 28px; max-width: 660px; }
.journal-page__hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }

.journal-page__button {
	align-items: center;
	border-radius: 12px;
	display: inline-flex;
	font-size: 15px;
	font-weight: 700;
	justify-content: center;
	min-height: 48px;
	padding: 0 22px;
	text-decoration: none !important;
	transition: transform .2s ease, background .2s ease;
}
.journal-page__button:hover { transform: translateY(-2px); }
.journal-page__button--light { background: #fff; color: var(--journal-blue-dark) !important; }
.journal-page__button--outline { border: 1px solid rgba(255,255,255,.55); color: #fff !important; }
.journal-page__button--outline:hover { background: rgba(255,255,255,.12); }
.journal-page__button--primary { background: var(--journal-blue); color: #fff !important; gap: 18px; margin-top: 22px; width: 100%; }

.journal-page__hero-graphic {
	align-self: stretch;
	background: rgba(255,255,255,.08);
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 24px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 360px;
	overflow: hidden;
	padding: 8px 18px 20px;
	position: relative;
	z-index: 1;
}
.journal-page__hero-graphic::after {
	background: radial-gradient(circle, rgba(255,255,255,.2), transparent 65%);
	content: "";
	inset: 15% -20% -30% 20%;
	position: absolute;
}
.journal-page__hero-graphic svg { display: block; height: auto; opacity: .68; position: relative; width: 100%; z-index: 1; }
.journal-page__radar-ring,
.journal-page__route,
.journal-page__tower path,
.journal-page__signal path { fill: none; stroke: #fff; stroke-linecap: round; stroke-linejoin: round; }
.journal-page__radar-ring { opacity: .38; stroke-width: 1.5; }
.journal-page__route { opacity: .72; stroke-dasharray: 7 10; stroke-width: 2.2; }
.journal-page__route--secondary { opacity: .34; }
.journal-page__plane path { fill: #fff; opacity: .9; }
.journal-page__tower path { opacity: .74; stroke-width: 3; }
.journal-page__signal path { opacity: .48; stroke-width: 2; }
.journal-page__graphic-caption {
	background: rgba(9,63,99,.32);
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 12px;
	color: #fff;
	display: grid;
	margin: -28px 10px 0;
	padding: 10px 14px;
	position: relative;
	z-index: 2;
}
.journal-page__graphic-caption span { color: #fff !important; font-size: 10px; font-weight: 700; letter-spacing: .08em; opacity: 1; text-transform: uppercase; }
.journal-page__graphic-caption strong { color: #fff !important; font-size: 13px; }

.journal-page__section,
.journal-page__topics,
.journal-page__subscription,
.journal-page__authors { background: #fff; border: 1px solid var(--journal-line); border-radius: 26px; padding: 38px; }
.journal-page__section-head { align-items: end; display: flex; gap: 36px; justify-content: space-between; margin-bottom: 26px; }
.journal-page__section-head span,
.journal-page__topics-copy span,
.journal-page__authors > div > span {
	color: var(--journal-blue);
	display: block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	margin-bottom: 7px;
	text-transform: uppercase;
}
.journal-page__section-head h2,
.journal-page__topics h2,
.journal-page__subscription h2,
.journal-page__authors h2 { color: var(--journal-navy) !important; font-size: 32px !important; line-height: 1.12 !important; margin-bottom: 0 !important; }
.journal-page__section-head p { line-height: 1.55; margin-bottom: 0; max-width: 470px; }
.journal-page__manage-link {
	border: 1px solid var(--journal-line);
	border-radius: 10px;
	color: var(--journal-blue-dark) !important;
	font-size: 13px;
	font-weight: 700;
	padding: 9px 13px;
	text-decoration: none !important;
}
.journal-page__manage-link:hover { background: var(--journal-sky); }
.journal-admin-setup {
	--journal-blue: #1688c7;
	--journal-blue-dark: #0c6fae;
	background: #fff;
	border: 1px solid #cfe4f2;
	border-radius: 20px;
	padding: 26px;
}
.journal-admin-setup .journal-page__button { border: 0; width: auto; }

.journal-page__issues { display: grid; gap: 18px; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.journal-page__issue { min-width: 0; }
.journal-page__cover { background: var(--journal-sky); border-radius: 16px; box-shadow: 0 10px 28px rgba(21,58,87,.12); overflow: hidden; position: relative; }
.journal-page__cover img { aspect-ratio: 800 / 1130; display: block; object-fit: cover; transition: transform .35s ease; width: 100%; }
.journal-page__cover-placeholder {
	align-items: flex-start;
	aspect-ratio: 800 / 1130;
	background: linear-gradient(145deg, #dceefa, #86c4e6);
	color: var(--journal-navy);
	display: flex;
	flex-direction: column;
	font-size: clamp(18px, 2vw, 26px);
	font-weight: 700;
	justify-content: center;
	letter-spacing: -.03em;
	line-height: .95;
	padding: 18px;
}
.journal-page__cover-placeholder strong { color: var(--journal-navy) !important; }
.journal-page__issue:hover .journal-page__cover img { transform: scale(1.025); }
.journal-page__cover > span {
	background: #e5192d;
	border-radius: 999px;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	padding: 5px 9px;
	position: absolute;
	right: 9px;
	top: 9px;
	text-transform: uppercase;
}
.journal-page__issue small { color: #7890a3; display: block; font-size: 12px; margin: 14px 0 5px; }
.journal-page__issue h3 { color: var(--journal-navy) !important; font-size: 16px !important; line-height: 1.3 !important; margin-bottom: 0 !important; }

.journal-page__topics {
	align-items: center;
	background: linear-gradient(120deg, #eff8fd, #fff);
	display: grid;
	gap: 34px;
	grid-template-columns: .75fr 1.65fr;
}
.journal-page__topics ul { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0,1fr)); list-style: none; margin: 0; padding: 0; }
.journal-page__topics li { background: #fff; border: 1px solid #dceaf4; border-radius: 12px; padding: 13px 15px 13px 44px; position: relative; }
.journal-page__topics li::before {
	border: solid var(--journal-blue);
	border-width: 0 2px 2px 0;
	content: "";
	height: 7px;
	left: 19px;
	position: absolute;
	top: 17px;
	transform: rotate(45deg);
	width: 4px;
}
.journal-page__topics li:last-child { grid-column: 1 / -1; }

.journal-page__subscription {
	background: linear-gradient(135deg, #f0f8fd 0%, #fff 56%);
	display: grid;
	gap: 34px;
	grid-template-columns: minmax(0,1.4fr) minmax(300px,.7fr);
}
.journal-page__eyebrow--blue {
	color: var(--journal-blue) !important;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	margin-bottom: 7px;
	text-transform: uppercase;
}
.journal-page__subscription-main > p { line-height: 1.65; margin: 18px 0 25px; max-width: 690px; }
.journal-page__subscription-facts { display: grid; gap: 12px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.journal-page__subscription-facts div { background: #fff; border: 1px solid var(--journal-line); border-radius: 14px; display: grid; padding: 15px 18px; }
.journal-page__subscription-facts span { color: #7890a3; font-size: 12px; }
.journal-page__subscription-facts strong { color: var(--journal-navy); font-size: 19px; }
.journal-page__editor { background: #fff; border: 1px solid var(--journal-line); border-radius: 18px; padding: 24px; }
.journal-page__editor-label { color: #7890a3; font-size: 12px; }
.journal-page__editor h3 { color: var(--journal-navy) !important; font-size: 20px !important; margin: 3px 0 15px !important; }
.journal-page__editor > a:not(.journal-page__button) { color: var(--journal-blue) !important; display: block; margin-top: 8px; overflow-wrap: anywhere; text-decoration: none !important; }

.journal-page__authors { align-items: center; display: grid; gap: 40px; grid-template-columns: 1.25fr .75fr; }
.journal-page__authors p { line-height: 1.6; margin: 15px 0 0; max-width: 690px; }
.journal-page__document { background: var(--journal-sky); border: 1px solid var(--journal-line); border-radius: 16px; padding: 20px; }
.journal-page__document > span { color: #7890a3; display: block; font-size: 12px; margin-bottom: 9px; }
.journal-page__document > a { color: var(--journal-blue-dark) !important; font-size: 15px !important; font-weight: 700; }
.journal-page__publisher { color: #71899d; font-size: 13px; margin: -12px 0 0 !important; text-align: center; }
.journal-page__publisher strong { color: var(--journal-navy); }

@media (max-width: 1100px) {
	.journal-page,
	.journal-page > *,
	.journal-page__hero-copy,
	.journal-page__hero-graphic,
	.journal-page__topics > *,
	.journal-page__subscription > *,
	.journal-page__authors > * {
		max-width: 100%;
		min-width: 0;
	}
	.journal-page {
		width: 100%;
		overflow: hidden;
	}
	.journal-page__hero { grid-template-columns: minmax(0,1fr) 250px; padding: 40px; width: 100%; }
	.journal-page__issues {
		display: flex;
		overflow-x: auto;
		padding-bottom: 18px;
		scroll-snap-type: x mandatory;
	}
	.journal-page__issue { flex: 0 0 220px; scroll-snap-align: start; }
}

@media (max-width: 767px) {
	.journal-page {
		gap: 18px;
		max-width: 100%;
		min-width: 0;
		margin-bottom: 24px;
		overflow: hidden;
	}
	.journal-page > *,
	.journal-page__hero-copy,
	.journal-page__subscription-main,
	.journal-page__editor { max-width: 100%; min-width: 0; }
	.journal-page__hero {
		gap: 22px;
		grid-template-columns: minmax(0, 1fr);
		min-height: 0;
		padding: 26px 18px 20px;
		border-radius: 20px;
	}
	.journal-page__hero::before { height: 260px; right: -130px; top: -110px; width: 260px; }
	.journal-page__eyebrow { font-size: 11px; line-height: 1.4; margin-bottom: 12px; }
	.journal-page__brand {
		font-size: clamp(34px, 11.5vw, 46px) !important;
		line-height: .96 !important;
		margin-bottom: 18px !important;
		overflow-wrap: normal;
	}
	.journal-page__hero-copy p { font-size: 15px; line-height: 1.55; margin-bottom: 22px; }
	.journal-page__hero-actions { display: grid; gap: 10px; grid-template-columns: 1fr; }
	.journal-page__button { min-height: 46px; padding: 0 16px; width: 100%; }
	.journal-page__hero-graphic { min-height: 0; height: 230px; padding: 0 10px 12px; }
	.journal-page__hero-graphic svg { height: 190px; margin: 0 auto; width: auto; max-width: 100%; }
	.journal-page__graphic-caption { margin: -22px 4px 0; }
	.journal-page__section,
	.journal-page__topics,
	.journal-page__subscription,
	.journal-page__authors { border-radius: 20px; padding: 22px 18px; }
	.journal-page__section-head { align-items: start; display: grid; gap: 12px; margin-bottom: 20px; }
	.journal-page__section-head h2,
	.journal-page__topics h2,
	.journal-page__subscription h2,
	.journal-page__authors h2 { font-size: 25px !important; overflow-wrap: anywhere; }
	.journal-page__manage-link { justify-self: start; }
	.journal-page__issues {
		display: flex;
		gap: 14px;
		margin: 0;
		max-width: 100%;
		overflow-x: auto;
		overscroll-behavior-inline: contain;
		padding: 2px 2px 16px;
		scroll-padding-left: 2px;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}
	.journal-page__issue { flex: 0 0 min(76vw, 230px); min-width: 0; scroll-snap-align: start; }
	.journal-page__issue h3 { overflow-wrap: anywhere; }
	.journal-page__topics,
	.journal-page__subscription,
	.journal-page__authors { grid-template-columns: 1fr; }
	.journal-page__topics { gap: 22px; }
	.journal-page__topics ul { gap: 8px; grid-template-columns: 1fr; }
	.journal-page__topics li { padding: 12px 12px 12px 40px; }
	.journal-page__topics li:last-child { grid-column: auto; }
	.journal-page__subscription-facts { grid-template-columns: 1fr; }
	.journal-page__subscription { gap: 22px; }
	.journal-page__subscription-main > p { margin: 14px 0 20px; }
	.journal-page__subscription-facts strong { font-size: 17px; }
	.journal-page__editor { padding: 20px 16px; }
	.journal-page__authors { gap: 20px; }
	.journal-page__document { min-width: 0; padding: 16px; }
	.journal-page__document > a { display: block; overflow-wrap: anywhere; }
	.journal-page__publisher { line-height: 1.45; padding: 0 12px; }
}

@media (max-width: 420px) {
	.journal-page__brand { font-size: clamp(32px, 11vw, 42px) !important; }
	.journal-page__hero-graphic { height: 210px; }
	.journal-page__hero-graphic svg { height: 172px; }
	.journal-page__issue { flex-basis: min(78vw, 218px); }
}
