/* ==========================================================================
   Homepage bands — mission statement, explore index, helpline strip.
   Applied via custom CSS classes on Elementor sections.
   ========================================================================== */

.jcu-hb {
	--jcuh-purple: #68267e;
	--jcuh-ink: #221024;
	--jcuh-line: #e8e2ec;
}

.jcu-hb .jcu-hb__kicker,
.jcu-hb .jcu-hb__kicker .elementor-heading-title {
	color: var(--jcuh-purple);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	margin: 0 0 0.6rem;
}

.jcu-hb .jcu-hb__title .elementor-heading-title {
	color: var(--jcuh-ink);
	font-size: clamp(1.8rem, 3.6vw, 2.7rem);
	font-weight: 800;
	line-height: 1.12;
	margin: 0;
	max-width: 21ch;
}

.jcu-hb .jcu-hb__lede {
	color: #5c4f63;
	font-size: 1.06rem;
	line-height: 1.7;
	max-width: 62ch;
}

/* Ruled stats strip */

.jcu-hb__stats {
	display: flex;
	flex-wrap: wrap;
	gap: 2.75rem;
	list-style: none;
	margin: 2.4rem 0 0 !important;
	padding: 1.5rem 0 0 !important;
	border-top: 2px solid var(--jcuh-ink);
}

.jcu-hb__stats li {
	margin: 0;
	list-style: none;
}

.jcu-hb__stats strong {
	display: block;
	font-size: 2.1rem;
	font-weight: 800;
	line-height: 1;
	color: var(--jcuh-ink);
}

.jcu-hb__stats span {
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--jcuh-purple);
}

/* Editorial underline link */

.jcu-hb a.jcu-hb__link,
.jcu-hb a.jcu-hb__link:visited {
	display: inline-block;
	margin-top: 1.2rem;
	color: var(--jcuh-ink);
	font-weight: 800;
	text-decoration: none;
	border-bottom: 2px solid var(--jcuh-purple);
	padding-bottom: 2px;
	transition: color 0.15s;
}

.jcu-hb a.jcu-hb__link:hover {
	color: var(--jcuh-purple);
}

/* Explore index — ruled arrow list */

.jcu-hb__index {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
	border-top: 2px solid var(--jcuh-ink);
}

.jcu-hb__index li {
	margin: 0;
	list-style: none;
	border-bottom: 1px solid var(--jcuh-line);
}

.jcu-hb .jcu-hb__index a,
.jcu-hb .jcu-hb__index a:visited {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.05rem 0.2rem;
	color: var(--jcuh-ink);
	font-size: 1.08rem;
	font-weight: 800;
	text-decoration: none;
	transition: color 0.15s, padding-left 0.2s;
}

.jcu-hb .jcu-hb__index a small {
	font-size: 0.84rem;
	font-weight: 600;
	color: #7c6f83;
	letter-spacing: normal;
	text-transform: none;
}

.jcu-hb .jcu-hb__index a::after {
	content: "\2192";
	font-weight: 800;
	color: #b9a6c4;
	transition: color 0.15s, transform 0.15s;
}

.jcu-hb .jcu-hb__index a:hover {
	color: var(--jcuh-purple);
	padding-left: 0.4rem;
}

.jcu-hb .jcu-hb__index a:hover::after {
	color: var(--jcuh-purple);
}

/* Helpline band (dark ink) */

.jcu-hb--help {
	background: #221024;
}

.jcu-hb--help .jcu-hb__help {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem 3rem;
	flex-wrap: wrap;
}

.jcu-hb--help .jcu-hb__help-kicker {
	display: block;
	color: #e3a3cd;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.26em;
	text-transform: uppercase;
	margin-bottom: 0.5rem;
}

.jcu-hb--help .jcu-hb__help-title {
	color: #fff;
	font-size: clamp(1.5rem, 3vw, 2.1rem);
	font-weight: 800;
	line-height: 1.15;
	margin: 0;
}

.jcu-hb--help p {
	color: rgba(255, 255, 255, 0.75);
	margin: 0.6rem 0 0;
	max-width: 46ch;
	line-height: 1.6;
}

.jcu-hb--help .jcu-hb__help-cta {
	text-align: right;
}

.jcu-hb--help a.jcu-hb__help-phone,
.jcu-hb--help a.jcu-hb__help-phone:visited {
	display: block;
	color: #fff;
	font-size: clamp(1.7rem, 3.4vw, 2.5rem);
	font-weight: 800;
	line-height: 1.1;
	text-decoration: none;
	white-space: nowrap;
}

.jcu-hb--help a.jcu-hb__help-phone:hover {
	color: #e3a3cd;
}

.jcu-hb--help .jcu-hb__help-note {
	display: block;
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-top: 0.35rem;
}

.jcu-hb--help a.jcu-hb__help-link,
.jcu-hb--help a.jcu-hb__help-link:visited {
	display: inline-block;
	margin-top: 0.9rem;
	color: #fff;
	font-weight: 800;
	font-size: 0.95rem;
	text-decoration: none;
	border-bottom: 2px solid #e3a3cd;
	padding-bottom: 2px;
}

.jcu-hb--help a.jcu-hb__help-link:hover {
	color: #e3a3cd;
}

@media (max-width: 767px) {
	.jcu-hb__stats {
		gap: 1.75rem;
	}

	.jcu-hb--help .jcu-hb__help-cta {
		text-align: left;
	}
}

/* Photography */

.jcu-hb__photo img {
	display: block;
	width: 100%;
	border-radius: 4px;
	object-fit: cover;
}

.jcu-hb__photo--tall img {
	aspect-ratio: 4 / 3.4;
}

.jcu-hb__photo--wide img {
	aspect-ratio: 16 / 9;
	margin-bottom: 1.4rem;
}

.jcu-hb__photo figcaption,
.jcu-hb .jcu-hb__caption {
	margin-top: 0.6rem;
	font-size: 0.8rem;
	color: #7c6f83;
	border-left: 3px solid var(--jcuh-purple);
	padding-left: 0.7rem;
	text-align: left;
}

/* Centres band (photo + editorial panel) */

.jcu-hb--centres {
	background: #faf8fb;
	border-top: 1px solid var(--jcuh-line);
	border-bottom: 1px solid var(--jcuh-line);
}

@media (max-width: 767px) {
	.jcu-hb__photo--tall img {
		aspect-ratio: 16 / 10;
	}
}

/* ==========================================================================
   v3 — editorial devices
   ========================================================================== */

/* Services ticker: outline type scrolling between hero and mission */

.jcu-hb--ticker {
	background: #fff;
	border-bottom: 1px solid var(--jcuh-line, #e8e2ec);
	overflow: hidden;
}

.jcu-hb__ticker {
	display: flex;
	align-items: center;
	width: max-content;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
	animation: jcu-hb-tick 30s linear infinite;
}

.jcu-hb__ticker li {
	display: flex;
	align-items: center;
	list-style: none;
	margin: 0;
	white-space: nowrap;
	font-size: clamp(1.5rem, 2.8vw, 2.2rem);
	font-weight: 800;
	letter-spacing: 0.02em;
	color: transparent;
	-webkit-text-stroke: 1.5px #68267e;
	text-stroke: 1.5px #68267e;
}

.jcu-hb__ticker li::after {
	content: "\25C6";
	font-size: 0.55em;
	margin: 0 1.1em;
	color: #68267e;
	-webkit-text-stroke: 0;
}

@keyframes jcu-hb-tick {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
	.jcu-hb__ticker {
		animation: none;
		flex-wrap: wrap;
	}
}

/* Headline highlight words */

.jcu-hb .jcu-hb__title .elementor-heading-title em {
	font-style: normal;
	color: var(--jcuh-purple);
}

/* Offset photo frame — flat purple shadow */

.jcu-hb__photo--frame img {
	box-shadow: 16px 16px 0 rgba(104, 38, 126, 0.12);
}

.jcu-hb__photo--frame {
	padding-right: 16px;
	padding-bottom: 16px;
}

/* Ghost numeral behind the centres panel */

.jcu-hb__rel {
	position: relative;
}

.jcu-hb__rel > .elementor-widget-wrap {
	position: relative;
	z-index: 1;
}

.jcu-hb__ghost {
	position: absolute;
	top: -2.2rem;
	right: -0.5rem;
	font-size: clamp(7rem, 13vw, 12rem);
	font-weight: 800;
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 2px rgba(104, 38, 126, 0.16);
	text-stroke: 2px rgba(104, 38, 126, 0.16);
	pointer-events: none;
	z-index: 0;
	user-select: none;
}

/* Index rows: bigger type + purple sweep on hover */

.jcu-hb .jcu-hb__index a,
.jcu-hb .jcu-hb__index a:visited {
	position: relative;
	isolation: isolate;
	font-size: 1.18rem;
	padding: 1.1rem 0.8rem;
}

.jcu-hb .jcu-hb__index a::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--jcuh-purple);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
	z-index: -1;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	.jcu-hb .jcu-hb__index a:hover::before {
		transform: scaleX(1);
	}

	.jcu-hb .jcu-hb__index a:hover {
		color: #fff;
		padding-left: 1.1rem;
	}

	.jcu-hb .jcu-hb__index a:hover small {
		color: rgba(255, 255, 255, 0.75);
	}

	.jcu-hb .jcu-hb__index a:hover::after {
		color: #fff;
	}
}

/* Stats numerals get more presence */

.jcu-hb__stats strong {
	font-size: 2.6rem;
}

/* ==========================================================================
   v4 — image-led lower bands
   ========================================================================== */

/* Centre photo mosaic */

.jcu-hb__mosaic {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
}

.jcu-hb__mosaic img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 4px;
}

/* Explore photo cards */

.jcu-hb__cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1.75rem 1.4rem;
}

.jcu-hb a.jcu-hb__card,
.jcu-hb a.jcu-hb__card:visited {
	display: block;
	color: var(--jcuh-ink);
	text-decoration: none;
}

.jcu-hb__card-media {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: 4px;
	overflow: hidden;
	background: rgba(104, 38, 126, 0.08);
}

.jcu-hb__card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.jcu-hb__card:hover .jcu-hb__card-media img {
	transform: scale(1.05);
}

.jcu-hb__card-view {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 2.2rem 1rem 0.85rem;
	background: linear-gradient(to top, rgba(20, 8, 24, 0.85), transparent);
	color: #fff;
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.3s, transform 0.3s;
}

.jcu-hb__card:hover .jcu-hb__card-view,
.jcu-hb__card:focus-visible .jcu-hb__card-view {
	opacity: 1;
	transform: translateY(0);
}

@media (hover: none), (prefers-reduced-motion: reduce) {
	.jcu-hb__card-view {
		opacity: 1;
		transform: none;
	}
}

.jcu-hb__card-body {
	display: block;
	margin-top: 0.9rem;
	padding-top: 0.75rem;
	border-top: 2px solid var(--jcuh-ink);
}

.jcu-hb__card-body strong {
	display: block;
	font-size: 1.08rem;
	font-weight: 800;
	line-height: 1.25;
	transition: color 0.15s;
}

.jcu-hb__card:hover .jcu-hb__card-body strong {
	color: var(--jcuh-purple);
}

.jcu-hb__card-body span {
	display: block;
	margin-top: 0.3rem;
	font-size: 0.84rem;
	line-height: 1.5;
	color: #7c6f83;
}

/* ==========================================================================
   Intent panels — three flush bands straight after the hero slider.
   ========================================================================== */

.jcu-hb--panels {
	padding: 0 !important;
}

.jcu-hb--panels .elementor-column .elementor-widget-wrap {
	padding: 0;
}

.jcu-hb a.jcu-hb__panel,
.jcu-hb a.jcu-hb__panel:visited {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 1.8rem;
	min-height: 225px;
	padding: 2.2rem 2.4rem 1.9rem;
	color: #fff;
	text-decoration: none;
	transition: filter 0.25s;
}

.jcu-hb__panel--1 { background: #7d2f96; }
.jcu-hb__panel--2 { background: #68267e; }
.jcu-hb__panel--3 { background: #221024; }

.jcu-hb a.jcu-hb__panel:hover {
	filter: brightness(1.12);
}

.jcu-hb__panel h2 {
	margin: 0;
	font-size: clamp(1.5rem, 2.4vw, 2.1rem);
	font-weight: 700;
	line-height: 1.25;
	color: #fff;
	max-width: 16ch;
}

.jcu-hb__panel-rule {
	display: block;
	width: 34px;
	height: 2px;
	background: rgba(255, 255, 255, 0.55);
	margin-top: 1.4rem;
	transition: width 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.jcu-hb a.jcu-hb__panel:hover .jcu-hb__panel-rule {
	width: 64px;
	background: #e3a3cd;
}

.jcu-hb__panel-link {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	font-size: 0.92rem;
	font-weight: 800;
	letter-spacing: 0.02em;
}

.jcu-hb__panel-link svg {
	width: 18px;
	height: 18px;
	transition: transform 0.25s;
}

.jcu-hb a.jcu-hb__panel:hover .jcu-hb__panel-link svg {
	transform: translateX(5px);
}

@media (max-width: 900px) {
	.jcu-hb a.jcu-hb__panel {
		min-height: 0;
		gap: 1.6rem;
		padding: 2.2rem 1.5rem 1.9rem;
	}
}

/* Panel watermark icons */

.jcu-hb a.jcu-hb__panel {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.jcu-hb__panel-icon {
	position: absolute;
	top: 50%;
	right: -58px;
	width: 245px;
	height: 245px;
	color: rgba(255, 255, 255, 0.1);
	pointer-events: none;
	z-index: -1;
	transform: translateY(-50%) rotate(-8deg);
	transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

/* The ink panel is darker — let its mark breathe a little more */
.jcu-hb__panel--3 .jcu-hb__panel-icon {
	color: rgba(255, 255, 255, 0.13);
}

.jcu-hb__panel-icon svg {
	width: 100%;
	height: 100%;
	stroke-width: 0.9;
}

.jcu-hb a.jcu-hb__panel:hover .jcu-hb__panel-icon {
	transform: translateY(-50%) rotate(-2deg) scale(1.05);
}

@media (max-width: 900px) {
	.jcu-hb__panel-icon {
		width: 170px;
		height: 170px;
		right: -40px;
	}
}

/* ==========================================================================
   About JCU page bands
   ========================================================================== */

/* Impact band — big white numerals on ink */

.jcu-hb__stats--light {
	border-top-color: rgba(255, 255, 255, 0.25);
	gap: 2.5rem 3.5rem;
}

.jcu-hb__stats--light strong {
	color: #fff;
	font-size: clamp(2rem, 3.6vw, 2.9rem);
}

.jcu-hb__stats--light span {
	color: #e3a3cd;
}

.jcu-hb--impact {
	background: #221024;
}

.jcu-hb--impact .jcu-hb__kicker,
.jcu-hb--impact .jcu-hb__kicker .elementor-heading-title {
	color: #e3a3cd;
}

.jcu-hb--impact .jcu-hb__title .elementor-heading-title {
	color: #fff;
}

.jcu-hb--impact .jcu-hb__lede {
	color: rgba(255, 255, 255, 0.75);
}

/* Strategic objective panels — 2x2, tonal, watermark icons */

.jcu-ab__so {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
}

.jcu-ab__so-panel {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	border-radius: 4px;
	padding: 2.2rem 2.4rem 2rem;
	color: #fff;
	min-height: 210px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	gap: 0.6rem;
}

.jcu-ab__so-panel:nth-child(1) { background: #7d2f96; }
.jcu-ab__so-panel:nth-child(2) { background: #68267e; }
.jcu-ab__so-panel:nth-child(3) { background: #571f6a; }
.jcu-ab__so-panel:nth-child(4) { background: #221024; }

.jcu-ab__so-panel > small {
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #e3a3cd;
}

.jcu-ab__so-panel > h3 {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.45;
	color: #fff;
	max-width: 42ch;
}

.jcu-ab__so-icon {
	position: absolute;
	top: 50%;
	right: -48px;
	width: 200px;
	height: 200px;
	color: rgba(255, 255, 255, 0.09);
	transform: translateY(-50%) rotate(-8deg);
	pointer-events: none;
	z-index: -1;
}

.jcu-ab__so-icon svg {
	width: 100%;
	height: 100%;
	stroke-width: 0.9;
}

/* Service / empowerment lists — diamond-bulleted rules */

.jcu-ab__list {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
	border-top: 2px solid var(--jcuh-ink, #221024);
}

.jcu-ab__list li {
	display: flex;
	align-items: baseline;
	gap: 0.8rem;
	padding: 0.85rem 0.2rem;
	margin: 0;
	border-bottom: 1px solid #e8e2ec;
	font-size: 1rem;
	font-weight: 700;
	color: #221024;
}

.jcu-ab__list li::before {
	content: "\25C6";
	font-size: 0.5em;
	color: #68267e;
	flex-shrink: 0;
}

/* Legal aid explainer accordion — native details, ruled */

.jcu-ab__acc {
	border-top: 2px solid #221024;
}

.jcu-ab__acc details {
	border-bottom: 1px solid #e8e2ec;
}

.jcu-ab__acc summary {
	list-style: none;
	display: flex;
	align-items: baseline;
	justify-content: flex-start;
	gap: 0.35rem;
	padding: 1.15rem 0.3rem;
	font-size: 1.08rem;
	font-weight: 800;
	color: #221024;
	cursor: pointer;
	transition: color 0.15s;
}

.jcu-ab__acc summary::-webkit-details-marker {
	display: none;
}

.jcu-ab__acc summary::after {
	content: "+";
	font-size: 1.3rem;
	font-weight: 700;
	color: #68267e;
	line-height: 1;
	margin-left: auto;
	padding-left: 1.5rem;
	transition: transform 0.2s;
}

.jcu-ab__acc details[open] summary::after {
	transform: rotate(45deg);
}

.jcu-ab__acc summary:hover {
	color: #68267e;
}

.jcu-ab__acc .jcu-ab__acc-body {
	padding: 0 0.3rem 1.4rem;
	max-width: 72ch;
	color: #3c2f42;
	line-height: 1.75;
	text-align: justify;
}

.jcu-ab__acc .jcu-ab__acc-body p {
	margin: 0 0 1rem;
}

@media (max-width: 767px) {
	.jcu-ab__so {
		grid-template-columns: 1fr;
	}

	.jcu-ab__so-panel {
		min-height: 0;
	}

	.jcu-ab__acc .jcu-ab__acc-body {
		text-align: left;
	}
}

/* Strategy manifesto — objectives as ruled statements, not boxes */

.jcu-ab__man {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
	border-top: 2px solid var(--jcuh-ink, #221024);
}

.jcu-ab__man li {
	display: grid;
	grid-template-columns: 132px minmax(0, 1fr) auto;
	gap: 1rem 2.2rem;
	align-items: start;
	margin: 0;
	padding: 1.7rem 0.2rem;
	border-bottom: 1px solid #e8e2ec;
}

.jcu-ab__man-tag {
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #68267e;
	line-height: 1.6;
	padding-top: 0.45em;
}

.jcu-ab__man p {
	margin: 0;
	font-size: clamp(1.15rem, 1.9vw, 1.45rem);
	font-weight: 700;
	line-height: 1.45;
	color: #221024;
	max-width: 34ch;
}

.jcu-ab__man-mark {
	color: #b9a6c4;
	padding-top: 0.35em;
}

.jcu-ab__man-mark svg {
	width: 30px;
	height: 30px;
	stroke-width: 1.5;
}

.jcu-ab__man li:hover .jcu-ab__man-mark {
	color: #68267e;
}

@media (max-width: 767px) {
	.jcu-ab__man li {
		grid-template-columns: 1fr auto;
	}

	.jcu-ab__man-tag {
		grid-column: 1 / -1;
		padding-top: 0;
	}
}

/* Strategic objectives page — wide outcome titles + outcome jump index */

.jcu-hb .jcu-hb__title--wide .elementor-heading-title {
	max-width: 24ch;
	font-size: clamp(1.5rem, 2.7vw, 2.15rem);
	line-height: 1.22;
}

.jcu-so__tag {
	display: inline-block;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #fff;
	background: #68267e;
	padding: 0.35rem 0.9rem;
	border-radius: 999px;
	margin-bottom: 1rem;
}

.jcu-hb--soband + .jcu-hb--soband {
	border-top: 1px solid #e8e2ec;
}

/* ==========================================================================
   Scroll reveal (classes applied by home.js; without JS nothing is hidden)
   ========================================================================== */

.jcu-rv {
	opacity: 0;
	transform: translateY(18px);
	transition:
		opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1),
		transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
	transition-delay: var(--rv-delay, 0ms);
}

.jcu-rv.is-in {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.jcu-rv {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* ==========================================================================
   Touch ergonomics — enlarge hit areas on coarse pointers without moving
   the layout (padding balanced by negative margin).
   ========================================================================== */

@media (pointer: coarse) {
	.jcu-hb a.jcu-hb__link,
	.jcu-hb--help a.jcu-hb__help-link,
	.jcu-ptnx a.jcu-ptnx__panel-all,
	.jcu-ptnx .jcu-ptnx__members a,
	.jcu-team a.jcu-team__row-view,
	.jcu-team a.jcu-centre__back,
	.jcu-ev a.jcu-ev__back,
	a.jcu-posts__more,
	a.jcu-hero__cta,
	.jcu-ptn .jcu-ptn__groupintro-body a,
	.jcu-hb__index a small {
		padding-top: 11px;
		padding-bottom: 11px;
		margin-top: -11px;
		margin-bottom: -11px;
	}
}

/* Explore Cards widget: native heading spacing */

.jcu-hb--explore-widget p.jcu-hb__kicker {
	margin: 0 0 0.6rem;
}

.jcu-hb--explore-widget h2.jcu-hb__title {
	margin: 0 0 2rem;
}

/* Intent Panels widget: flush row layout */

.jcu-hb__panels-row {
	display: grid;
	grid-template-columns: repeat(var(--jcu-panels, 3), 1fr);
	gap: 0;
}

@media (max-width: 900px) {
	.jcu-hb__panels-row {
		grid-template-columns: 1fr;
	}
}

/* Feature Band widget: the split-band layout as one component */

.jcu-fband {
	display: grid;
	grid-template-columns: 55fr 45fr;
	gap: 3.5rem;
	align-items: center;
}

.jcu-fband--media-left {
	grid-template-columns: 45fr 55fr;
}

.jcu-fband--media-left .jcu-fband__content {
	order: 2;
}

.jcu-fband--media-left .jcu-fband__media {
	order: 1;
}

.jcu-fband--solo {
	grid-template-columns: 1fr;
}

.jcu-fband__content {
	position: relative;
	z-index: 1;
	min-width: 0;
}

.jcu-fband p.jcu-hb__kicker {
	margin: 0 0 0.6rem;
}

.jcu-fband h2.jcu-hb__title {
	margin: 0 0 1rem;
}

.jcu-fband .jcu-so__tag {
	margin-bottom: 1rem;
}

.jcu-fband__lede p {
	color: #5c4f63;
	font-size: 1.06rem;
	line-height: 1.7;
	max-width: 62ch;
	margin: 0 0 0.9rem;
}

.jcu-fband .jcu-ab__list {
	margin-top: 0.4rem;
}

.jcu-fband .jcu-hb__index {
	margin-top: 0.5rem !important;
}

@media (max-width: 900px) {
	.jcu-fband,
	.jcu-fband--media-left {
		grid-template-columns: 1fr;
		gap: 1.8rem;
	}

	.jcu-fband--media-left .jcu-fband__media {
		order: 0;
	}

	.jcu-fband--media-left .jcu-fband__content {
		order: 1;
	}
}

/* Ghost numerals are decoration — hide on small screens where they crowd
   and can poke past the viewport */
@media (max-width: 900px) {
	.jcu-hb__ghost {
		display: none;
	}
}

/* ==========================================================================
   Back-to-top button (injected by home.js)
   ========================================================================== */

/* Scoped + reset: reset.css/kit button rules otherwise repaint it */
button.jcu-totop,
button.jcu-totop:hover,
button.jcu-totop:focus {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 3500;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	background: #fff;
	color: #68267e;
	border: 1px solid #d9cfe0;
	border-radius: 50%;
	box-shadow: 0 6px 20px rgba(20, 5, 25, 0.22);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity 0.25s, visibility 0.25s, transform 0.25s, background 0.2s, color 0.2s;
}

button.jcu-totop.is-visible {
	opacity: 1;
	visibility: visible;
	transform: none;
}

button.jcu-totop:hover {
	background: #68267e;
	border-color: #68267e;
	color: #fff;
}

button.jcu-totop svg {
	width: 20px;
	height: 20px;
}

@media (max-width: 640px) {
	button.jcu-totop {
		right: 14px;
		bottom: 14px;
		width: 44px;
		height: 44px;
	}
}

@media print {
	button.jcu-totop {
		display: none;
	}
}
