/**
 * Category archive — editorial discovery experience.
 *
 * This layer deliberately scopes every refinement to taxonomy category pages,
 * preserving the search, author and generic archive presentations.
 */

.category.gl-platform-internal {
	background: #f4f5fa;
}

/* Category hero: the image supports the title instead of washing it out. */
.category .gl-page-hero--category {
	padding: 24px 0 22px;
	border: 0;
	background: #fff;
}

.category .gl-page-hero--category > .gl-container {
	min-height: 410px;
	padding: 32px 48px 42px;
	border: 1px solid rgba(65, 51, 139, .24);
	border-radius: 30px;
	background: linear-gradient(118deg, #101b38 0%, #17234a 45%, #433294 100%);
	box-shadow: 0 24px 58px rgba(20, 27, 57, .14);
	isolation: isolate;
}

.category .gl-page-hero--category > .gl-container::before {
	z-index: 1;
	background:
		linear-gradient(90deg, rgba(13, 24, 51, .99) 0%, rgba(18, 30, 63, .97) 38%, rgba(31, 35, 83, .85) 55%, rgba(44, 35, 106, .38) 76%, rgba(53, 39, 124, .16) 100%),
		linear-gradient(180deg, rgba(10, 19, 41, .16), rgba(25, 25, 72, .46));
}

.category .gl-page-hero--category > .gl-container::after {
	z-index: 2;
	right: -126px;
	bottom: -204px;
	width: 410px;
	height: 410px;
	border-color: rgba(255, 255, 255, .1);
	box-shadow: 0 0 0 58px rgba(255, 255, 255, .025), 0 0 0 116px rgba(255, 255, 255, .016);
	opacity: 1;
}

.category .gl-page-hero--category .gl-page-hero__media {
	z-index: 0;
	opacity: 1;
}

.category .gl-page-hero--category .gl-page-hero__media::after {
	background: linear-gradient(180deg, rgba(17, 24, 54, .08), rgba(22, 20, 67, .22));
}

.category .gl-page-hero--category .gl-page-hero__media img {
	opacity: .78;
	filter: saturate(.78) contrast(1.02) brightness(.79);
	transform: scale(1.018);
}

.category .gl-page-hero--category:hover .gl-page-hero__media img {
	filter: saturate(.83) contrast(1.03) brightness(.8);
	transform: scale(1.024);
}

.category .gl-page-hero--category .gl-breadcrumb {
	z-index: 3;
	max-width: 62%;
	margin-bottom: 28px;
	color: rgba(237, 239, 249, .72);
}

.category .gl-page-hero--category .gl-breadcrumb a:hover {
	color: #fff;
}

.category .gl-page-hero--category .gl-page-hero__grid {
	z-index: 3;
	min-height: 274px;
}

.category .gl-page-hero--category .gl-page-hero__copy {
	width: min(61%, 750px);
	max-width: 750px !important;
	padding: 8px 0 12px;
}

.category .gl-page-hero--category .gl-platform-label {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 15px;
	color: #f0c65d;
}

.category .gl-page-hero--category .gl-platform-label::before {
	width: 24px;
	height: 1px;
	background: currentColor;
	content: "";
}

.category .gl-page-hero--category h1 {
	max-width: 760px;
	color: #fff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(3rem, 4.3vw, 4.65rem);
	font-weight: 700;
	line-height: .98;
	letter-spacing: -.052em;
	text-wrap: balance;
}

.category .gl-page-hero--category .gl-page-hero__description {
	position: relative;
	max-width: 660px;
	margin-top: 20px;
	padding: 3px 0 3px 22px;
	border: 0;
	background: transparent;
	color: #f1f3fb;
	font-size: 1.02rem;
	font-weight: 520;
	line-height: 1.68;
	text-shadow: 0 2px 20px rgba(3, 9, 25, .72);
}

.category .gl-page-hero--category .gl-page-hero__description::before {
	position: absolute;
	top: 2px;
	bottom: 2px;
	left: 0;
	width: 2px;
	border-radius: 99px;
	background: linear-gradient(180deg, #f2ca68, #9d83ff 72%, rgba(157, 131, 255, .08));
	box-shadow: 0 0 18px rgba(240, 198, 93, .24);
	content: "";
}

.category .gl-page-hero--category .gl-page-hero__description,
.category .gl-page-hero--category .gl-page-hero__description p,
.category .gl-page-hero--category .gl-page-hero__description a {
	color: #f1f3fb;
}

.category .gl-page-hero--category .gl-page-hero__description p {
	margin: 0;
}

.category .gl-page-hero--category .gl-page-hero__description p + p {
	margin-top: .65em;
}

.category .gl-page-hero--category .gl-page-hero__count {
	margin-top: 25px;
}

.category .gl-page-hero--category .gl-page-hero__count--category {
	display: inline-grid;
	grid-template-columns: 42px minmax(0, auto);
	align-items: center;
	gap: 12px;
	min-height: 62px;
	padding: 9px 16px 9px 9px;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 15px;
	background: linear-gradient(125deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .055));
	color: rgba(243, 245, 252, .78);
	box-shadow: 0 14px 32px rgba(3, 9, 27, .2), inset 0 1px 0 rgba(255, 255, 255, .09);
	backdrop-filter: blur(12px);
}

.category .gl-page-hero--category .gl-page-hero__count-icon {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(240, 198, 93, .24);
	border-radius: 11px;
	background: rgba(240, 198, 93, .11);
	color: #f2ca68;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}

.category .gl-page-hero--category .gl-page-hero__count-icon .gl-icon {
	width: 19px;
	height: 19px;
}

.category .gl-page-hero--category .gl-page-hero__count-content {
	display: grid;
	gap: 2px;
	line-height: 1.25;
}

.category .gl-page-hero--category .gl-page-hero__count-content small {
	color: rgba(239, 242, 252, .6);
	font-size: .6rem;
	font-weight: 760;
	letter-spacing: .105em;
	text-transform: uppercase;
}

.category .gl-page-hero--category .gl-page-hero__count-content > span {
	color: rgba(248, 249, 253, .82);
	font-size: .72rem;
	font-weight: 650;
}

.category .gl-page-hero--category .gl-page-hero__count--category strong {
	color: #fff;
	font-size: 1.08rem;
	font-weight: 780;
	letter-spacing: -.025em;
}

.category .gl-page-hero--category .gl-platform-action {
	margin: 22px 0 0 9px;
	border-color: rgba(255, 255, 255, .78);
	background: #fff;
	color: #3926a1;
	box-shadow: 0 12px 28px rgba(7, 12, 35, .2);
}

.category .gl-page-hero--category .gl-platform-action:hover {
	border-color: #fff;
	background: #f7f5ff;
	color: #2f1e91;
}

/* Archive navigation behaves as a compact editorial subnav. */
.category .gl-filter-shell {
	border-top: 0;
	border-bottom-color: #e8e9f0;
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 8px 24px rgba(18, 26, 55, .025);
}

.category .gl-filter-bar {
	min-height: 86px;
}

.category .gl-filter-bar__group {
	gap: 24px;
}

.category .gl-filter-bar__label {
	position: relative;
	padding-left: 16px;
	color: #626c7e;
	font-size: .68rem;
	letter-spacing: .12em;
}

.category .gl-filter-bar__label::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 3px;
	height: 20px;
	border-radius: 4px;
	background: linear-gradient(180deg, #7657ff, #b39cff);
	content: "";
	transform: translateY(-50%);
}

.category .gl-filter-bar__pills {
	gap: 8px;
}

.category .gl-filter-bar__pills a {
	min-height: 42px;
	padding: 9px 15px;
	border-color: #e8e9ef;
	border-radius: 12px;
	background: #fff;
	color: #596476;
	font-size: .78rem;
	box-shadow: 0 2px 8px rgba(20, 28, 54, .02);
}

.category .gl-filter-bar__pills a:hover {
	border-color: #d9d3f3;
	background: #f8f6ff;
	color: #4f35d2;
	transform: translateY(-1px);
}

.category .gl-filter-bar__pills a.is-active {
	border-color: #6c4ff5;
	background: linear-gradient(135deg, #6b4cf5, #5738db);
	color: #fff;
	box-shadow: 0 8px 18px rgba(91, 61, 245, .18);
}

.category.gl-platform-internal .gl-nav .current-menu-item > a::after,
.category.gl-platform-internal .gl-nav .current-menu-ancestor > a::after {
	display: none;
}

/* Keep advertising reservations discreet while preserving their function. */
.category .gl-internal-ad.gl-container {
	padding-block: 10px;
	background: #f8f8fb;
}

.category > .gl-internal-ad .gl-ad-slot--placeholder {
	min-height: 54px;
}

/* Discovery heading and card system. */
.category .gl-discovery-results {
	padding: 72px 0 92px;
	background:
		radial-gradient(circle at 92% 3%, rgba(104, 78, 226, .055), transparent 25%),
		#f4f5fa;
}

.category .gl-section-heading {
	position: relative;
	align-items: center;
	margin-bottom: 34px;
	padding: 30px 34px 31px 31px;
	overflow: hidden;
	border: 1px solid #dee0ea;
	border-radius: 24px;
	background: linear-gradient(118deg, rgba(255, 255, 255, .98), rgba(249, 248, 255, .98));
	box-shadow: 0 12px 34px rgba(22, 29, 60, .05);
}

.category .gl-section-heading::before {
	position: absolute;
	top: 30px;
	bottom: 30px;
	left: 0;
	width: 4px;
	border-radius: 4px;
	background: linear-gradient(180deg, #6747f5, #a98fff);
	content: "";
}

.category .gl-section-heading::after {
	position: absolute;
	right: -82px;
	bottom: -132px;
	width: 250px;
	height: 250px;
	border: 1px solid rgba(103, 71, 245, .07);
	border-radius: 50%;
	box-shadow: 0 0 0 38px rgba(103, 71, 245, .018);
	content: "";
	pointer-events: none;
}

.category .gl-section-heading__title,
.category .gl-section-heading__aside {
	position: relative;
	z-index: 1;
}

.category .gl-section-heading .gl-platform-label {
	margin-bottom: 10px;
}

.category .gl-section-heading h2 {
	max-width: 680px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.25rem, 3.25vw, 3.2rem);
	font-weight: 700;
	line-height: 1.02;
}

.category .gl-section-heading > p {
	max-width: 390px;
	color: #6b7485;
	font-size: .86rem;
	line-height: 1.65;
	text-align: right;
}

.category .gl-section-heading__aside {
	display: grid;
	justify-items: end;
	max-width: 405px;
	gap: 11px;
}

.category .gl-section-heading__aside > p {
	margin: 0;
	color: #697386;
	font-size: .84rem;
	line-height: 1.62;
	text-align: right;
}

.category .gl-section-heading__aside .gl-section-heading__count {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	min-height: 38px;
	padding: 8px 12px;
	border: 1px solid #ddd6fa;
	border-radius: 11px;
	background: #fff;
	color: #625d72;
	font-size: .73rem;
	font-weight: 720;
	box-shadow: 0 5px 14px rgba(44, 31, 105, .045);
}

.category .gl-section-heading__count strong {
	color: #5b3df5;
	font-size: .98rem;
}

.category .gl-platform-card-grid {
	gap: 24px;
}

.category .gl-platform-card {
	border-color: #dde0e9;
	border-radius: 22px;
	box-shadow: 0 9px 28px rgba(18, 27, 54, .05);
}

.category .gl-platform-card:hover {
	border-color: #cfc6f3;
	box-shadow: 0 22px 46px rgba(24, 30, 65, .11);
	transform: translateY(-5px);
}

.category .gl-platform-card__media {
	aspect-ratio: 16 / 9.2;
}

.category .gl-platform-card__media img {
	filter: saturate(.94) contrast(1.01);
	transition: transform 650ms cubic-bezier(.2, .7, .2, 1), filter 250ms ease;
}

.category .gl-platform-card:hover .gl-platform-card__media img {
	filter: saturate(1) contrast(1.02);
	transform: scale(1.035);
}

.category .gl-platform-card__body {
	padding: 26px 27px 24px;
}

.category .gl-platform-card__category {
	margin-bottom: 11px;
	padding: 6px 9px;
	border-radius: 7px;
	background: #f0ecff;
	color: #6245df;
	font-size: .63rem;
	letter-spacing: .08em;
}

.category .gl-platform-card__title {
	min-height: 4.02em;
	margin-bottom: 13px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.24rem;
	font-weight: 700;
	line-height: 1.34;
	letter-spacing: -.022em;
}

.category .gl-platform-card__excerpt {
	min-height: 4.7em;
	margin-bottom: 21px;
	color: #6d7687;
	font-size: .85rem;
	line-height: 1.58;
}

.category .gl-platform-card__footer {
	min-height: 46px;
	padding-top: 14px;
	border-top: 1px solid #ececf2;
}

.category .gl-platform-card__footer a {
	min-height: 34px;
	padding: 8px 10px;
	border-radius: 9px;
	background: #f3f0ff;
	color: #5b3bd9;
}

.category .gl-platform-card__footer a:hover {
	background: #eae4ff;
	color: #4527c3;
}

.category .gl-platform-card--featured {
	height: 500px;
	min-height: 500px;
	grid-template-columns: minmax(0, 1.16fr) minmax(410px, .84fr);
	border-radius: 28px;
	box-shadow: 0 19px 52px rgba(20, 29, 62, .1);
}

.category .gl-platform-card--featured .gl-platform-card__media {
	min-height: 0;
	aspect-ratio: auto;
}

.category .gl-platform-card--featured .gl-platform-card__body {
	justify-content: center;
	min-height: 0;
	padding: 40px 43px;
}

.category .gl-platform-card--featured .gl-platform-card__recommendation,
.category .gl-platform-card--featured .gl-platform-card__category,
.category .gl-platform-card--featured .gl-platform-card__footer {
	flex-shrink: 0;
}

.category .gl-platform-card--featured .gl-platform-card__recommendation {
	align-self: flex-start;
	margin-bottom: 14px;
	padding: 8px 10px;
	border: 1px solid #dfd8fb;
	border-radius: 9px;
	background: #f7f4ff;
}

.category .gl-platform-card--featured .gl-platform-card__title {
	display: -webkit-box;
	flex-shrink: 0;
	min-height: 0;
	max-width: 650px;
	max-height: calc(3.24em + 2px);
	margin-bottom: 17px;
	overflow: hidden;
	font-size: clamp(2rem, 2.6vw, 2.52rem);
	line-height: 1.08;
	text-overflow: ellipsis;
	overflow-wrap: anywhere;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
}

.category .gl-platform-card--featured .gl-platform-card__excerpt {
	display: -webkit-box;
	flex-shrink: 0;
	min-height: 0;
	max-width: 610px;
	margin-bottom: 20px;
	overflow: hidden;
	font-size: .92rem;
	line-height: 1.65;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
}

.category .gl-platform-card--featured .gl-platform-card__footer {
	margin-top: 0;
}

/* The continuation block now closes the archive with the same visual care. */
.category .gl-discovery-next {
	padding: 78px 0;
	border-top: 1px solid #e8e9ef;
	background: #fff;
}

.category .gl-discovery-next__inner {
	position: relative;
	padding: 46px 48px;
	overflow: hidden;
	border: 1px solid rgba(116, 91, 229, .42);
	border-radius: 27px;
	background:
		radial-gradient(circle at 88% 0, rgba(118, 87, 255, .48), transparent 31%),
		linear-gradient(125deg, #101b38 0%, #18244b 54%, #382985 100%);
	box-shadow: 0 24px 54px rgba(18, 25, 55, .16);
}

.category .gl-discovery-next__inner::after {
	position: absolute;
	right: -112px;
	bottom: -188px;
	width: 390px;
	height: 390px;
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 50%;
	box-shadow: 0 0 0 52px rgba(255, 255, 255, .024), 0 0 0 104px rgba(255, 255, 255, .014);
	content: "";
	pointer-events: none;
}

.category .gl-discovery-next__inner > * {
	position: relative;
	z-index: 1;
}

.category .gl-discovery-next .gl-platform-label {
	color: #f0c65d;
}

.category .gl-discovery-next h2 {
	max-width: 460px;
	color: #fff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.35rem, 3.2vw, 3.25rem);
	line-height: 1.01;
}

.category .gl-discovery-next p:not(.gl-platform-label) {
	max-width: 455px;
	color: rgba(239, 242, 252, .72);
	font-size: .94rem;
	line-height: 1.7;
}

.category .gl-discovery-next__links {
	counter-reset: category-path;
	gap: 12px;
}

.category .gl-discovery-next__links a {
	justify-content: flex-start;
	min-height: 68px;
	padding: 14px 16px;
	border-color: rgba(255, 255, 255, .15);
	background: rgba(255, 255, 255, .075);
	color: #fff;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
	backdrop-filter: blur(7px);
}

.category .gl-discovery-next__links a::before {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	flex: 0 0 auto;
	border: 1px solid rgba(240, 198, 93, .34);
	border-radius: 9px;
	background: rgba(240, 198, 93, .09);
	color: #f0c65d;
	font-size: .66rem;
	font-weight: 820;
	content: "0" counter(category-path);
	counter-increment: category-path;
}

.category .gl-discovery-next__links a .gl-icon {
	margin-left: auto;
	color: #cfc5ff;
}

.category .gl-discovery-next__links a:hover {
	border-color: rgba(255, 255, 255, .29);
	background: rgba(255, 255, 255, .13);
	color: #fff;
	transform: translateY(-2px);
}

@media (max-width: 1050px) {
	.category .gl-page-hero--category > .gl-container {
		min-height: 390px;
		padding: 29px 38px 38px;
	}

	.category .gl-page-hero--category .gl-page-hero__copy {
		width: min(67%, 700px);
	}

	.category .gl-platform-card--featured {
		height: 480px;
		min-height: 480px;
		grid-template-columns: minmax(0, 1fr) minmax(370px, .9fr);
	}

	.category .gl-platform-card--featured .gl-platform-card__body {
		padding: 34px 35px;
	}
}

@media (max-width: 880px) {
	.category .gl-page-hero--category > .gl-container {
		min-height: 390px;
		padding: 25px 29px 32px;
	}

	.category .gl-page-hero--category > .gl-container::before {
		background: linear-gradient(90deg, rgba(13, 24, 51, .98) 0%, rgba(19, 29, 63, .94) 53%, rgba(43, 34, 104, .57) 100%);
	}

	.category .gl-page-hero--category .gl-page-hero__copy {
		width: min(82%, 700px);
	}

	.category .gl-page-hero--category .gl-page-hero__media {
		opacity: 1;
	}

	.category .gl-filter-bar {
		gap: 14px;
		padding-block: 18px;
	}

	.category .gl-filter-bar__group {
		display: block;
	}

	.category .gl-filter-bar__label {
		display: block;
		margin-bottom: 12px;
	}

	.category .gl-section-heading {
		align-items: flex-start;
	}

	.category .gl-section-heading__aside {
		max-width: 340px;
	}

	.category .gl-platform-card--featured {
		height: auto;
		min-height: 0;
		grid-template-columns: 1fr;
	}

	.category .gl-platform-card--featured .gl-platform-card__media {
		min-height: 350px;
		aspect-ratio: 16 / 9;
	}

	.category .gl-platform-card--featured .gl-platform-card__body {
		padding: 32px;
	}
}

@media (max-width: 600px) {
	.category .gl-page-hero--category {
		padding: 12px 0 16px;
	}

	.category .gl-page-hero--category > .gl-container {
		min-height: 430px;
		padding: 20px 20px 25px;
		border-radius: 22px;
	}

	.category .gl-page-hero--category > .gl-container::before {
		background:
			linear-gradient(180deg, rgba(13, 24, 51, .78) 0%, rgba(14, 25, 53, .91) 46%, rgba(31, 26, 83, .97) 100%),
			linear-gradient(90deg, rgba(14, 24, 52, .72), rgba(54, 38, 126, .32));
	}

	.category .gl-page-hero--category .gl-breadcrumb {
		max-width: 100%;
		margin-bottom: 20px;
	}

	.category .gl-page-hero--category .gl-page-hero__grid {
		min-height: 330px;
		align-items: end !important;
	}

	.category .gl-page-hero--category .gl-page-hero__copy {
		width: 100%;
		padding: 36px 0 0;
	}

	.category .gl-page-hero--category h1 {
		font-size: clamp(2.4rem, 11vw, 3.2rem);
		line-height: 1.01;
	}

	.category .gl-page-hero--category .gl-page-hero__description {
		padding: 2px 0 2px 17px;
		font-size: .9rem;
		line-height: 1.62;
	}

	.category .gl-page-hero--category .gl-page-hero__count {
		margin-top: 17px;
	}

	.category .gl-page-hero--category .gl-page-hero__count--category {
		grid-template-columns: 39px minmax(0, auto);
		min-height: 57px;
		padding: 8px 13px 8px 8px;
		border-radius: 13px;
	}

	.category .gl-page-hero--category .gl-page-hero__count-icon {
		width: 39px;
		height: 39px;
		border-radius: 10px;
	}

	.category .gl-page-hero--category .gl-platform-action {
		width: 100%;
		margin: 12px 0 0;
	}

	.category .gl-filter-bar__pills a {
		min-height: 40px;
		padding: 8px 13px;
	}

	.category .gl-discovery-results {
		padding: 54px 0 66px;
	}

	.category .gl-section-heading {
		display: block;
		margin-bottom: 28px;
		padding: 25px 21px 24px 24px;
		border-radius: 20px;
	}

	.category .gl-section-heading::before {
		top: 25px;
		bottom: 24px;
	}

	.category .gl-section-heading h2 {
		font-size: 2.2rem;
	}

	.category .gl-section-heading > p,
	.category .gl-section-heading__aside > p {
		margin-top: 13px;
		text-align: left;
	}

	.category .gl-section-heading__aside {
		justify-items: start;
		max-width: none;
		margin-top: 20px;
	}

	.category .gl-section-heading__aside .gl-section-heading__count {
		margin-top: 0;
	}

	.category .gl-platform-card-grid {
		gap: 18px;
	}

	.category .gl-platform-card__body,
	.category .gl-platform-card--featured .gl-platform-card__body {
		padding: 24px 22px 22px;
	}

	.category .gl-platform-card__title,
	.category .gl-platform-card__excerpt {
		min-height: 0;
	}

	.category .gl-platform-card--featured .gl-platform-card__media {
		min-height: 245px;
	}

	.category .gl-platform-card--featured .gl-platform-card__title {
		max-height: calc(3.24em + 2px);
		font-size: 1.86rem;
		-webkit-line-clamp: 3;
		line-clamp: 3;
	}

	.category .gl-discovery-next {
		padding: 54px 0;
	}

	.category .gl-discovery-next__inner {
		gap: 29px;
		padding: 32px 24px;
		border-radius: 20px;
	}

	.category .gl-discovery-next__links {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.category .gl-platform-card,
	.category .gl-platform-card__media img,
	.category .gl-filter-bar__pills a {
		transition: none;
	}
}
