.gn-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--gn-space-sm, 0.75rem);
	margin-block-end: var(--gn-space-2xl, 3rem);
}

.gn-hero__main,
.gn-hero__slides,
.gn-hero-slide,
.gn-hero-slide__link,
.gn-hero-rail-card,
.gn-hero-rail-card > a {
	position: relative;
	min-width: 0;
}

.gn-hero__main {
	overflow: hidden;
	background: var(--gn-navy-dark, #2c4054);
}

.gn-hero-slide__link,
.gn-hero-rail-card > a {
	display: block;
	color: #fff;
	text-decoration: none;
}

.gn-hero-slide__image,
.gn-hero-rail-card img {
	display: block;
	width: 100%;
	object-fit: cover;
}

.gn-hero-slide__image {
	min-height: clamp(22rem, 56vw, 38rem);
	aspect-ratio: 16 / 9;
}

.gn-hero-slide__scrim,
.gn-hero-rail-card__scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(12, 18, 24, 0.9), rgba(12, 18, 24, 0.06) 70%);
}

.gn-hero-slide__content {
	position: absolute;
	inset-inline: clamp(1rem, 0.6rem + 2vw, 2.5rem);
	inset-block-end: clamp(3.8rem, 2.8rem + 3vw, 6rem);
	z-index: 1;
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	max-width: 48rem;
}

.gn-hero-slide__title {
	margin: 0;
	color: #fff;
	font-size: clamp(1.75rem, 1rem + 3.1vw, 3.8rem);
	text-shadow: 0 2px 1.2rem rgba(0, 0, 0, 0.35);
}

.gn-hero-slide__meta,
.gn-hero-slide__excerpt {
	margin-block-start: var(--gn-space-sm, 0.75rem);
	color: rgba(255, 255, 255, 0.88);
	font-size: var(--gn-text-sm, 0.875rem);
}

.gn-hero-slide__excerpt {
	max-width: 42rem;
	font-size: var(--gn-text-base, 1rem);
}

.gn-hero__controls {
	position: absolute;
	inset-inline-start: clamp(1rem, 0.6rem + 2vw, 2.5rem);
	inset-block-end: var(--gn-space-md, 1rem);
	z-index: 2;
	display: flex;
	align-items: center;
	gap: var(--gn-space-xs, 0.5rem);
}

.gn-hero__control {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	min-height: 2.75rem;
	border: 1px solid rgba(255, 255, 255, 0.45);
	background: rgba(17, 25, 32, 0.45);
	color: #fff;
	font-size: 1.3rem;
}

.gn-hero__control:hover {
	border-color: #fff;
	background: var(--gn-accent, #c93d30);
}

.gn-hero__counter {
	min-width: 3.6rem;
	color: #fff;
	font-size: var(--gn-text-sm, 0.875rem);
	font-weight: 750;
	text-align: center;
}

.gn-hero__rail {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--gn-space-sm, 0.75rem);
}

.gn-hero-rail-card {
	overflow: hidden;
	background: var(--gn-navy-dark, #2c4054);
}

.gn-hero-rail-card img {
	min-height: 13rem;
	aspect-ratio: 16 / 10;
}

.gn-hero-rail-card__content {
	position: absolute;
	inset-inline: var(--gn-space-md, 1rem);
	inset-block-end: var(--gn-space-md, 1rem);
	z-index: 1;
}

.gn-hero-rail-card h3 {
	margin: 0 0 var(--gn-space-xs, 0.5rem);
	color: #fff;
	font-size: clamp(1rem, 0.85rem + 0.65vw, 1.4rem);
}

.gn-hero-rail-card__content > span:last-child {
	color: rgba(255, 255, 255, 0.78);
	font-size: var(--gn-text-xs, 0.75rem);
}

.gn-hero-slide__link:hover .gn-hero-slide__title,
.gn-hero-rail-card > a:hover h3 {
	color: #fff;
	text-decoration: underline;
	text-decoration-thickness: 0.06em;
	text-underline-offset: 0.16em;
}

.gn-category-section {
	margin-block: var(--gn-space-2xl, 3rem);
}

.gn-category-section__lead-list {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--gn-space-xl, 2rem);
}

.gn-category-section__list,
.gn-category-section--compact .gn-category-section__items {
	display: grid;
	gap: var(--gn-space-lg, 1.5rem);
}

.gn-category-section__list .gn-story-card {
	padding-block-end: var(--gn-space-lg, 1.5rem);
	border-block-end: var(--gn-border-standard, 1px solid #e3e9ee);
}

.gn-category-section__list .gn-story-card:last-child {
	padding-block-end: 0;
	border-block-end: 0;
}

.gn-category-section--grid .gn-category-section__items {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
	gap: var(--gn-space-xl, 2rem);
}

.gn-category-section--carousel .gn-category-section__items {
	display: grid;
	grid-auto-columns: minmax(min(78vw, 17rem), 1fr);
	grid-auto-flow: column;
	gap: var(--gn-space-lg, 1.5rem);
	overflow-x: auto;
	padding-block-end: var(--gn-space-md, 1rem);
	scroll-snap-type: inline mandatory;
	scrollbar-width: thin;
}

.gn-category-section--carousel .gn-story-card {
	scroll-snap-align: start;
}

.gn-form-block {
	padding: clamp(1.25rem, 0.85rem + 1.5vw, 2.5rem);
	background: var(--gn-surface, #f5f7f9);
	border-block-start: 4px solid var(--gn-accent, #c93d30);
}

.gn-form-block__title {
	margin-block-start: 0;
	font-size: var(--gn-h3, 1.85rem);
}

.gn-form-block > p {
	max-width: 46rem;
}

.gn-form-block form {
	margin-block-start: var(--gn-space-lg, 1.5rem);
}

.gn-form-block label {
	display: block;
	margin-block-end: var(--gn-space-xs, 0.5rem);
	font-weight: 750;
}

.gn-form-block input,
.gn-form-block textarea {
	width: 100%;
	border: var(--gn-border-standard, 1px solid #e3e9ee);
	border-radius: var(--gn-radius-sm, 3px);
	padding: 0.72rem var(--gn-space-md, 1rem);
	background: #fff;
	color: var(--gn-ink, #24313d);
}

.gn-form-block textarea {
	resize: vertical;
}

.gn-form-block button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--gn-space-xs, 0.5rem);
	border: 0;
	border-radius: var(--gn-radius-button, 3px);
	padding-inline: var(--gn-space-lg, 1.5rem);
	background: var(--gn-accent, #c93d30);
	color: #fff;
	font-weight: 800;
}

.gn-form-block button:hover {
	background: var(--gn-accent-hover, #ad3429);
}

.gn-form-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0 var(--gn-space-lg, 1.5rem);
}

.gn-contact-form form > p,
.gn-form-grid p {
	margin-block: 0 1rem;
}

.gn-newsletter__controls {
	display: flex;
	align-items: stretch;
	max-width: 42rem;
}

.gn-newsletter__controls input {
	min-width: 0;
	border-radius: var(--gn-radius-button, 3px) 0 0 var(--gn-radius-button, 3px);
}

.gn-newsletter__controls button {
	flex: 0 0 auto;
	border-radius: 0 var(--gn-radius-button, 3px) var(--gn-radius-button, 3px) 0;
}

.gn-form-notice {
	padding: var(--gn-space-sm, 0.75rem) var(--gn-space-md, 1rem);
	border-inline-start: 4px solid currentColor;
}

.gn-form-notice--success {
	background: var(--gn-success-bg, #e8f5ee);
	color: var(--gn-success, #157347);
}

.gn-form-notice--error {
	background: var(--gn-error-bg, #fbeceb);
	color: var(--gn-error, #a12622);
}

.gn-honeypot {
	position: absolute !important;
	inset-inline-start: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.gn-editor-form-preview {
	padding: 2rem;
	border-block-start: 4px solid #c93d30;
	background: #f5f7f9;
}

.gn-editor-form-preview h2 {
	margin-block-start: 0;
}

.gn-editor-form-preview > span,
.gn-editor-form-preview__row span {
	display: block;
	min-height: 2.75rem;
	margin-block-end: 1rem;
	padding: 0.72rem 1rem;
	border: 1px solid #dfe6eb;
	background: #fff;
	color: #5c6d7e;
}

.gn-editor-form-preview__row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.gn-editor-form-preview > .is-textarea {
	min-height: 8rem;
}

.gn-editor-form-preview button {
	min-height: 2.75rem;
	padding-inline: 1.5rem;
	border: 0;
	background: #c93d30;
	color: #fff;
	font-weight: 750;
	opacity: 1;
}

@media (min-width: 48rem) {
	.gn-form-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64rem) {
	.gn-hero {
		grid-template-columns: minmax(0, 2fr) minmax(17rem, 0.86fr);
	}

	.gn-hero__rail {
		grid-template-columns: 1fr;
	}

	.gn-hero-rail-card img {
		min-height: 0;
		height: 100%;
		aspect-ratio: auto;
	}

	.gn-hero-rail-card > a {
		height: 100%;
	}

	.gn-category-section__lead-list {
		grid-template-columns: minmax(0, 1.3fr) minmax(16rem, 0.82fr);
	}
}

@media (max-width: 35.99rem) {
	.gn-hero__rail {
		grid-template-columns: 1fr;
	}

	.gn-hero-slide__excerpt {
		display: none;
	}

	.gn-newsletter__controls {
		align-items: stretch;
		flex-direction: column;
		gap: var(--gn-space-sm, 0.75rem);
	}

	.gn-newsletter__controls input,
	.gn-newsletter__controls button {
		border-radius: var(--gn-radius-button, 3px);
	}

	.gn-editor-form-preview__row {
		grid-template-columns: 1fr;
	}
}
