/* ===== Newsroom – Hero ===== */
.gohn-hero {
	position: relative;
	overflow: hidden;
}
/* Swoosh: bottom 132px of a 164px hero (80.5%) */
.e-con.gohn-hero::after {
	content: "";
	top: auto;
	width: auto;
	opacity: 0.445376; /* Figma group opacity on top of the SVG's own gradient */
	mix-blend-mode: normal;
	border: 0;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 80.5%;
	background: url("../img/hero-swoosh.svg") no-repeat center bottom / 100% 100%;
	pointer-events: none;
	z-index: 0;
}
.e-con.gohn-hero > .elementor-element,
.e-con.gohn-hero > .e-con-inner {
	position: relative;
	z-index: 1;
}

/* ===== Newsroom – Secondary Nav (sticky) ===== */
:root {
	/* Site header height if it is sticky; adjust if needed */
	--gohn-sticky-top: 0px;
	--gohn-subnav-h: 88px;
}
.gohn-subnav {
	position: sticky;
	top: var(--gohn-sticky-top);
	z-index: 50;
	background: #C1E8FF;
}
.gohn-subnav__list {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 46px;
	height: var(--gohn-subnav-h);
	margin: 0;
	padding: 0 20px;
	list-style: none;
}
.gohn-subnav__list li { margin: 0; padding: 0; }
.gohn-subnav__list a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: "Open Sans", sans-serif;
	font-size: 18px;
	font-weight: 600;
	line-height: 16px;
	letter-spacing: 0;
	color: rgba(0, 0, 0, 0.9);
	text-decoration: none;
	white-space: nowrap;
}
.gohn-subnav__list a::after {
	content: "";
	width: 0;
	height: 0;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 6px solid currentColor;
}
.gohn-subnav__list a:hover,
.gohn-subnav__list a:focus-visible { text-decoration: underline; }

/* Anchored sections are not hidden behind the sticky bar */
.gohn-anchor {
	scroll-margin-top: calc(var(--gohn-sticky-top) + var(--gohn-subnav-h));
}
html { scroll-behavior: smooth; }

@media (max-width: 767px) {
	:root { --gohn-subnav-h: 56px; }
	.gohn-subnav__list {
		justify-content: flex-start;
		gap: 24px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.gohn-subnav__list::-webkit-scrollbar { display: none; }
	.gohn-subnav__list a { font-size: 15px; gap: 6px; }
}

/* ===== Shared tokens ===== */
:root {
	--gohn-font-heading: "apparat", "Apparat", sans-serif;
	--gohn-font-body: "Open Sans", sans-serif;
	/* Figma uses Apparat ExtraBold (800), but the site's Adobe Fonts kit only has
	   300/400/500/600/700/900, so 800 renders as 900 (Black). 700 is the closest
	   match; switch back to 800 if ExtraBold is added to the kit. */
	--gohn-heading-weight: 700;
	--gohn-green: #2B7151;
	--gohn-text: #444444;
	--gohn-card-bg: #EFF4E8;
	/* Figma lists 0 3 20 -15 #97B573 48%, but its render shows a wider glow;
	   this value matches the rendered Figma frame. */
	--gohn-card-shadow: 0 3px 16px rgba(151, 181, 115, 0.45);
	--gohn-radius: 18px;
}

/* ===== Meta (date • category • source) ===== */
.gohn-meta {
	margin: 0;
	font-family: var(--gohn-font-body);
	font-size: 18px;
	font-weight: 400;
	line-height: 34px;
	color: var(--gohn-text);
}
.gohn-meta span + span::before {
	content: "\2022";
	margin: 0 8px;
}

/* Triangle ▸ after linked titles */
.gohn-news__title a::after {
	content: "";
	display: inline-block;
	margin-left: 12px;
	vertical-align: middle;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	border-left: 7px solid currentColor;
	transform: translateY(-2px);
}

/* ===== In the News (desktop ≥768) ===== */
.gohn-news__track {
	display: grid;
	grid-template-columns: minmax(0, 649fr) minmax(0, 622fr);
	column-gap: 53px;
	align-items: start;
}
.gohn-news__list {
	display: flex;
	flex-direction: column;
	gap: 25.5px; /* 3×148 in a 495px container with space-between */
}
.gohn-news__media {
	display: block;
	overflow: hidden;
}
.gohn-news__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.gohn-news__title {
	margin: 0;
	font-family: var(--gohn-font-heading);
	font-weight: var(--gohn-heading-weight);
	color: var(--gohn-green);
}
.gohn-news__title a {
	color: inherit;
	text-decoration: none;
}
.gohn-news__title a:hover,
.gohn-news__title a:focus-visible { text-decoration: underline; }

/* Featured */
.gohn-news__item--featured .gohn-news__media {
	aspect-ratio: 649 / 442;
}
.gohn-news__item--featured .gohn-news__body { padding-top: 16px; }
.gohn-news__item--featured .gohn-news__title {
	font-size: 28px;
	line-height: 41px;
	letter-spacing: -0.7px;
	margin-bottom: 8px; /* 582 − 442 − 16 − 82 − 34 */
}

/* List cards */
.gohn-news__list .gohn-news__item {
	display: flex;
	align-items: center;
	gap: 24px;
	min-height: 148px;
	box-sizing: border-box;
	padding: 13px 17px;
	background: var(--gohn-card-bg);
	border-radius: var(--gohn-radius);
	box-shadow: var(--gohn-card-shadow);
}
.gohn-news__list .gohn-news__media {
	flex: 0 0 146px;
	height: 122px;
}
.gohn-news__list .gohn-news__body { flex: 1 1 auto; min-width: 0; }
.gohn-news__list .gohn-news__title {
	font-size: 24px;
	line-height: 34px;
	letter-spacing: -0.7px;
	margin-bottom: 10px;
}

/* Dots (only shown when the track overflows) */
.gohn-dots {
	display: flex;
	justify-content: center;
	gap: 4px;
	margin-top: 24px;
}
.gohn-dots[hidden] { display: none; }
.gohn-dots__dot {
	width: 22px;
	height: 2px;
	padding: 0;
	border: 0;
	border-radius: 1px;
	background: #C9C9C9;
	cursor: pointer;
}
.gohn-dots__dot.is-active { background: #1D1D1B; }

/* ===== In the News (mobile <768): carousel ===== */
@media (max-width: 767px) {
	.gohn-news__track {
		display: flex;
		gap: 16px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		margin: 0 -16px;
		padding: 0 16px;
		scroll-padding: 0 16px;
	}
	.gohn-news__track::-webkit-scrollbar { display: none; }
	.gohn-news__list { display: contents; }
	.gohn-news__item,
	.gohn-news__list .gohn-news__item {
		flex: 0 0 86%;
		scroll-snap-align: start;
		display: block;
		padding: 0;
		background: none;
		border-radius: 0;
		box-shadow: none;
	}
	.gohn-news__item .gohn-news__media,
	.gohn-news__list .gohn-news__media {
		width: 100%;
		height: auto;
		aspect-ratio: 322 / 247;
	}
	.gohn-news__item .gohn-news__body { padding-top: 12px; }
	.gohn-news__item .gohn-news__title,
	.gohn-news__list .gohn-news__title {
		font-size: 18px;
		line-height: 1.45;
		margin-bottom: 8px;
	}
	.gohn-news__title a::after {
		margin-left: 8px;
		border-top-width: 4px;
		border-bottom-width: 4px;
		border-left-width: 5px;
	}
	.gohn-meta { font-size: 14px; }
	.gohn-meta span + span::before { margin: 0 6px; }
}

/* ===== Mobile: nav above the hero + wide curve ===== */
/* Page root becomes flex so sections can be reordered without breaking sticky */
/* Mobile only: on desktop a flex root would dodge the floats that the WP admin bar
   leaks for logged-in users (#wp-admin-bar-top-secondary), shrinking the whole page. */
@media (max-width: 767px) {
	.elementor:has(> .gohn-subnav) {
		display: flex;
		flex-direction: column;
		width: 100%;
	}
	.elementor:has(> .gohn-subnav) > .gohn-subnav { order: -1; }
	/* 927×85 curve, offset 171px to the left, pinned to the bottom */
	/* Mobile curve exported from Figma (375×85) */
	.e-con.gohn-hero::after {
		left: 0;
		right: 0;
		width: auto;
		height: 85px;
		background-image: url("../img/hero-swoosh-mobile.svg");
	}
}

/* Page headings in Apparat (hero H1 and section H2s) */
.gohn-heading .elementor-heading-title {
	font-family: var(--gohn-font-heading) !important;
	font-weight: var(--gohn-heading-weight) !important;
}

/* ===== Section header (title + "See All" button) ===== */
.gohn-section-head .elementor-widget-text-editor p { margin: 0; }

/* ===== Press Releases ===== */
.gohn-press-section { position: relative; overflow: hidden; }
.e-con.gohn-press-section > .e-con-inner { position: relative; z-index: 1; }
.gohn-press {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 620px));
	grid-template-rows: repeat(3, auto);
	grid-auto-flow: column;           /* fills the left column first, then the right */
	justify-content: space-between;   /* 2×620 in 1324 */
	row-gap: 16px;                    /* 3×154 in 494 */
}
.gohn-press__item {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 16px 0;
	border-radius: 18px;
}
.gohn-press__title {
	margin: 0;
	font-family: var(--gohn-font-body);
	font-size: 24px;
	font-weight: 700;
	line-height: 40px;
	color: var(--gohn-text);
}
.gohn-press__title a {
	color: inherit;
	text-decoration: underline;
	text-decoration-style: solid;
	text-underline-offset: 3px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.gohn-press__title a:hover,
.gohn-press__title a:focus-visible { text-decoration-thickness: 2px; }

@media (max-width: 767px) {
	.gohn-press {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: none;
		grid-auto-flow: row;
		row-gap: 0;
	}
	.gohn-press__item:nth-child(n+6) { display: none; } /* mobile shows 5 */
	.gohn-press__item { padding: 12px 0; gap: 4px; }
	.gohn-press__title { font-size: 16px; line-height: 26px; }
	.gohn-press__title a { -webkit-line-clamp: 3; }
}
/* Full-width button (mobile) */
.gohn-btn-full a.btn-primary { display: block; width: 100%; text-align: center; box-sizing: border-box; }

/* Green wave at the bottom of Press Releases (1440×131) */
.e-con.gohn-press-section::after {
	content: "";
	top: auto;
	opacity: 0.445376; /* Figma group opacity on top of the SVG's own gradient */
	mix-blend-mode: normal;
	border: 0;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 131px;
	background: url("../img/press-wave.svg") no-repeat center bottom / 100% 100%;
	pointer-events: none;
	z-index: 0;
}
@media (max-width: 767px) {
	/* Same approach as the mobile hero curve: wider than the viewport */
	.e-con.gohn-press-section::after {
		left: -171px;
		right: auto;
		width: 927px;
		height: 85px;
	}
}


/* =====================================================================
   Theme overrides — the OMS theme styles ul/li, links (gradient underline),
   h2/h3 and paragraphs globally, so these rules need !important.
   ===================================================================== */
.gohn-subnav .gohn-subnav__list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 20px !important;
}
.gohn-subnav .gohn-subnav__list li {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.gohn-subnav .gohn-subnav__list li::before,
.gohn-subnav .gohn-subnav__list li::marker {
	content: none !important;
	display: none !important;
}
.gohn-subnav .gohn-subnav__list a {
	padding: 0 !important;
	background: none !important;
	color: rgba(0, 0, 0, 0.9) !important;
	-webkit-text-fill-color: rgba(0, 0, 0, 0.9) !important;
	text-decoration: none !important;
	font-family: var(--gohn-font-body) !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	line-height: 16px !important;
}
.gohn-subnav .gohn-subnav__list a:hover,
.gohn-subnav .gohn-subnav__list a:focus-visible { text-decoration: underline !important; }

/* Section headings / text-editor paragraphs */
.gohn-section .elementor-heading-title { margin: 0 !important; }
.gohn-section-head p,
.gohn-btn-full p { margin: 0 !important; }

/* Shared meta line */
.gohn-section .gohn-meta {
	margin: 0 !important;
	font-family: var(--gohn-font-body) !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 34px !important;
	color: var(--gohn-text) !important;
}

/* In the News titles */
.gohn-news .gohn-news__title {
	margin: 0 0 10px !important;
	font-family: var(--gohn-font-heading) !important;
	font-weight: var(--gohn-heading-weight) !important;
	font-size: 24px !important;
	line-height: 34px !important;
	letter-spacing: -0.7px !important;
	color: var(--gohn-green) !important;
}
.gohn-news .gohn-news__item--featured .gohn-news__title {
	margin-bottom: 8px !important;
	font-size: 28px !important;
	line-height: 41px !important;
}
.gohn-news .gohn-news__title a,
.gohn-press .gohn-press__title a {
	background: none !important;
	color: inherit !important;
	-webkit-text-fill-color: currentColor !important;
	padding: 0 !important;
}
.gohn-news .gohn-news__title a { text-decoration: none !important; }
.gohn-news .gohn-news__title a:hover,
.gohn-news .gohn-news__title a:focus-visible { text-decoration: underline !important; }

/* Press Releases titles */
.gohn-press .gohn-press__title {
	margin: 0 !important;
	font-family: var(--gohn-font-body) !important;
	font-size: 24px !important;
	font-weight: 700 !important;
	line-height: 40px !important;
	letter-spacing: 0 !important;
	color: var(--gohn-text) !important;
}
.gohn-press .gohn-press__title a { text-decoration: underline !important; }

@media (max-width: 767px) {
	.gohn-subnav .gohn-subnav__list { padding: 0 16px !important; }
	.gohn-subnav .gohn-subnav__list a { font-size: 15px !important; }
	.gohn-section .gohn-meta { font-size: 14px !important; line-height: 22px !important; }
	.gohn-news .gohn-news__title,
	.gohn-news .gohn-news__item--featured .gohn-news__title {
		font-size: 18px !important;
		line-height: 26px !important;
		letter-spacing: 0 !important;
		margin-bottom: 8px !important;
	}
	.gohn-press .gohn-press__title { font-size: 16px !important; line-height: 26px !important; }
}

/* Elementor sets container overflow through its own variable; clip the
   decorative curves so they never cause horizontal scroll on mobile. */
.e-con.gohn-hero,
.e-con.gohn-press-section {
	overflow: hidden !important;
	overflow: clip !important;
}

/* Carousel indicators (Figma: 40×4, radius 100, #A6A6A6 / active #220C36) */
.gohn-dots { gap: 8px !important; }
.gohn-dots .gohn-dots__dot {
	-webkit-appearance: none !important;
	appearance: none !important;
	transition: none !important;
	width: 40px !important;
	min-width: 0 !important;
	height: 4px !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 100px !important;
	background: #A6A6A6 !important;
	box-shadow: none !important;
	font-size: 0 !important;
	line-height: 0 !important;
}
.gohn-dots .gohn-dots__dot.is-active { background: #220C36 !important; }

/* Mobile: every In the News image uses the same frame (Figma 322×247),
   including the featured one. */
@media (max-width: 767px) {
	.gohn-news .gohn-news__track .gohn-news__media {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 322 / 247 !important;
		flex: none !important;
	}
}

/* ===== Blog (desktop): 3 cards 426.66×469 in a 1340px row ===== */
.gohn-blog__track {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;                 /* (1340 − 3×426.66) / 2 */
	margin: 0 -8px;            /* row is 1340px inside a 1324px content box */
	align-items: stretch;
}
.gohn-blog .gohn-blog__card {
	box-sizing: border-box;
	min-height: 469px;
	padding: 25px 25px 32px;
	background: var(--gohn-card-bg);
	border-radius: 30px;
	box-shadow: 0 14px 30px -15px rgba(152, 191, 214, 0.5); /* Figma "Link:shadow" */
	display: flex !important;
	flex-direction: column !important;
}
/* Date always pinned to the bottom of the card, with or without image */
.gohn-blog .gohn-blog__card .gohn-blog__date {
	margin-top: auto !important;
	padding-top: 16px;
	order: 10;
}
.gohn-blog__media {
	display: block;
	height: 320px;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18);
}
.gohn-blog__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.gohn-blog .gohn-blog__title {
	margin: 24px 0 0 !important;
	font-family: var(--gohn-font-heading) !important;
	font-weight: var(--gohn-heading-weight) !important;
	font-size: 24px !important;
	line-height: 34px !important;
	letter-spacing: -0.7px !important;
	color: var(--gohn-green) !important;
	/* Max 2 lines on every breakpoint; the browser adds the ellipsis. */
	display: -webkit-box !important;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden !important;
}
.gohn-blog .gohn-blog__title a {
	background: none !important;
	color: inherit !important;
	-webkit-text-fill-color: currentColor !important;
	padding: 0 !important;
	text-decoration: none !important;
}
.gohn-blog .gohn-blog__title a:hover,
.gohn-blog .gohn-blog__title a:focus-visible { text-decoration: underline !important; }
.gohn-blog__title a::after {
	content: "";
	display: inline-block;
	margin-left: 8px;
	vertical-align: middle;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 6px solid currentColor;
	transform: translateY(-2px);
}
/* Blog dots use the green accent */
.gohn-blog .gohn-dots .gohn-dots__dot.is-active { background: var(--gohn-green) !important; }

/* Blog card with no Featured Image: date, headline, body copy only (no media slot) */
.gohn-blog .gohn-blog__card--noimage .gohn-blog__title { margin-top: 8px !important; }
.gohn-blog .gohn-blog__excerpt {
	margin: 16px 0 0 !important;
	font-family: var(--gohn-font-body) !important;
	font-size: 16px !important;
	line-height: 24px !important;
	color: var(--gohn-text-muted, #555) !important;
}

/* ===== Blog (mobile): carousel ===== */
@media (max-width: 767px) {
	.gohn-blog__track {
		display: flex;
		gap: 12px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		margin: 0 -16px;
		padding: 0 16px 24px;     /* bottom room for the card shadow */
		scroll-padding: 0 16px;
	}
	.gohn-blog__track::-webkit-scrollbar { display: none; }
	.gohn-blog .gohn-blog__card {
		flex: 0 0 84%;
		scroll-snap-align: start;
		min-height: 503px;      /* Figma card: 315×503 */
		padding: 25px 25px 32px;
		border-radius: 30px;
	}
	.gohn-blog__media { height: auto; aspect-ratio: 266 / 234; }
	.gohn-blog .gohn-dots { margin-top: 8px; }
}

/* =====================================================================
   Media Resources (1440: padding 86/58, gap 40 · 375: padding 42/16)
   The section carries the theme class "pageblock" so the theme's
   oms-transition script (combined.min.js) reserves half of the
   "Say yes to" CTA height as padding-bottom on it. That script writes
   an inline padding-bottom on the outer container, so the section's own
   bottom padding lives on .e-con-inner instead.
   ===================================================================== */
/* Section right before the "Say yes to" CTA: add classes "pageblock gohn-before-cta".
   Its own bottom padding goes on .e-con-inner (--gohn-before-cta-pb) because the
   theme script overwrites the outer padding-bottom with half the CTA height. */
.e-con.pageblock.gohn-before-cta > .e-con-inner {
	/* also cancels the theme's .pageblock > .e-con-inner padding */
	padding: var(--gohn-before-cta-pt, 0px) 0 var(--gohn-before-cta-pb, 86px) !important;
}
.gohn-media-section .gohn-media__intro p {
	margin: 0 !important;
	font-family: var(--gohn-font-body) !important;
	font-size: 18px !important;
	line-height: 34px !important;
	color: var(--gohn-text) !important;
}

/* Downloads: 6 × 202px, space-between in 1324 */
.e-con.gohn-media__grid {
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 202px));
	justify-content: space-between;
	gap: 24px 16px;
}
.e-con.gohn-media__grid > .elementor-widget {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
}
.gohn-media__item .elementor-image-box-wrapper {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	text-align: center !important;
}
.gohn-media__item .elementor-image-box-img {
	width: 100% !important;
	margin: 0 !important;
	line-height: 0;
}
.gohn-media__item .elementor-image-box-img a { display: block; background: none !important; padding: 0 !important; }
.gohn-media__item .elementor-image-box-img img {
	display: block;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 202 / 262;
	object-fit: cover;
	border-radius: 20px !important;
	background: #FFFFFF;
}
.gohn-media__item .elementor-image-box-content { width: 100%; }
.gohn-media__item .elementor-image-box-title,
.gohn-media__links p {
	margin: 0 !important;
	font-family: var(--gohn-font-body) !important;
	font-size: 22px !important;
	font-weight: 700 !important;
	line-height: 40px !important;
	letter-spacing: 0 !important;
	color: var(--gohn-text) !important;
}
.gohn-media__links p + p { margin-top: 16px !important; }
/* A paragraph without a link under a link = its description (same style as the
   Media Resources intro). */
.gohn-media-section .gohn-media__links p:not(:has(a)) {
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 34px !important;
	margin-top: 0 !important;
}
.gohn-media-section .gohn-media__links p:not(:has(a)) + p:has(a) { margin-top: 24px !important; }
.gohn-media__item .elementor-image-box-title a,
.gohn-media__links a {
	background: none !important;
	padding: 0 !important;
	color: inherit !important;
	-webkit-text-fill-color: currentColor !important;
	font: inherit !important;
	text-decoration: underline !important;
	text-decoration-skip-ink: auto;
	text-underline-offset: 3px;
}
.gohn-media__item .elementor-image-box-title a:hover,
.gohn-media__links a:hover,
.gohn-media__links a:focus-visible { text-decoration-thickness: 2px !important; }

/* Tablet: 3 columns */
@media (max-width: 1199px) {
	.e-con.gohn-media__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 24px; }
}
/* Mobile: 2 columns */
@media (max-width: 767px) {
	.gohn-media-section .gohn-media__intro p { font-size: 16px !important; line-height: 26px !important; }
	/* Figma 375: cards 159.5 wide (image 159.5×206.9 + 12px + label) */
	.e-con.gohn-media__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 24px; }
	.gohn-media__item .elementor-image-box-wrapper { gap: 12px; }
	.gohn-media__item .elementor-image-box-img img { aspect-ratio: 202 / 262; border-radius: 16px !important; }
	.gohn-media__item .elementor-image-box-title,
	.gohn-media__links p { font-size: 16px !important; line-height: 26px !important; }
	.gohn-media__links p + p { margin-top: 12px !important; }
	.gohn-media-section .gohn-media__links p:not(:has(a)) { font-size: 16px !important; line-height: 26px !important; margin-top: 0 !important; }
	.gohn-media-section .gohn-media__links p:not(:has(a)) + p:has(a) { margin-top: 20px !important; }
}

/* Media Resources: hide the theme's "opens in new window" icon
   (<i class="new-window-icon fas fa-external-link-alt"> injected by the theme JS
   into a[target="_blank"]) only in this section. The .sr-only text stays for
   screen readers. */
.gohn-media-section .gohn-media__item .new-window-icon,
.gohn-media-section .gohn-media__links .new-window-icon {
	display: none !important;
}

/* =====================================================================
   Videos (YouTube carousel)
   Figma 1440: 5 visible (frame 1870 wide at −215px), center 398×279,
   sides 351×245 @30%, gap 17, radius 16 · 375: center 260×182, gap 12.
   Sizes are in vw so the same proportion holds on every screen; the gap is
   set in videos.js with the same ratio.
   ===================================================================== */
.e-con.gohn-videos-section {
	overflow-x: clip !important;
	--gohn-before-cta-pt: 90px;   /* the theme zeroes the outer top padding of .pageblock */
	--gohn-before-cta-pb: 109px;
}
.gohn-videos-section .gohn-videos__sub p {
	margin: 0 !important;
	text-align: center;
	font-family: var(--gohn-font-heading) !important;
	font-weight: var(--gohn-heading-weight) !important;
	font-size: 20px !important;
	line-height: 24px !important;
	letter-spacing: 0 !important;
}
.gohn-videos-section .gohn-videos__sub a {
	background: none !important;
	padding: 0 !important;
	color: var(--gohn-green) !important;
	-webkit-text-fill-color: var(--gohn-green) !important;
	font: inherit !important;
	text-decoration: none !important;
}
.gohn-videos-section .gohn-videos__sub a:hover,
.gohn-videos-section .gohn-videos__sub a:focus-visible { text-decoration: underline !important; }
.gohn-videos-section .new-window-icon { display: none !important; }
.gohn-videos-section .gohn-videos__sub a::after {
	content: "" !important;
	display: inline-block !important;
	margin-left: 10px;
	vertical-align: middle;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 6px solid currentColor;
	transform: translateY(-2px);
	background: none !important;
	position: static !important;
}
.gohn-videos-section .elementor-widget-shortcode { width: 100% !important; max-width: none !important; align-self: stretch !important; }

/* Full-bleed track */
.gohn-videos {
	--gohn-vid-w: 27.64vw;     /* 398 / 1440 */
	--gohn-vid-k: 0.882;       /* 351 / 398 */
	width: 100vw;
	margin-left: calc(50% - 50vw);
	position: relative;
}
.gohn-videos .swiper {
	--gohn-vid-k: 0.882;
	width: 100%;
	height: calc(var(--gohn-vid-w) * 279 / 398);
	overflow: hidden;
}
.gohn-videos .swiper-wrapper {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	height: 100%;
}
/* Before Swiper runs (or without it): centered scroll-snap row */
.gohn-videos:not(.is-swiper) .swiper { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.gohn-videos:not(.is-swiper) .swiper-wrapper { gap: 1.18vw; padding: 0 calc(50vw - var(--gohn-vid-w) / 2); }
.gohn-videos:not(.is-swiper) .gohn-videos__slide { scroll-snap-align: center; }

.gohn-videos .gohn-videos__slide {
	flex: 0 0 auto;
	position: relative;
	width: var(--gohn-vid-w) !important;
	height: calc(var(--gohn-vid-w) * 279 / 398);
	border-radius: 16px;
	overflow: hidden;
	background: #E9E9E9;
	transform-origin: center center;
	transition-property: transform, opacity;
	transition-timing-function: ease;
	will-change: transform;
}
.gohn-videos a.gohn-videos__link {
	display: block !important;
	width: 100%;
	height: 100%;
	padding: 0 !important;
	background: none !important;
	position: relative;
	text-decoration: none !important;
	cursor: pointer;
}
.gohn-videos a.gohn-videos__link::before,
.gohn-videos a.gohn-videos__link::after { content: none !important; display: none !important; }
.gohn-videos .gohn-videos__link img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0 !important;
}
.gohn-videos .gohn-videos__link:focus-visible { outline: 3px solid #592D82; outline-offset: -3px; }

/* Play icon (white ring + triangle): center slide only, grows on hover */
.gohn-videos__play {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 58px;
	height: 58px;
	margin: -29px 0 0 -29px;
	border: 3px solid #FFFFFF;
	border-radius: 50%;
	box-sizing: border-box;
	background: rgba(0, 0, 0, 0.12);
	opacity: 0;
	transition: opacity .25s ease, transform .2s ease, background-color .2s ease;
	pointer-events: none;
}
.gohn-videos__play::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -10px 0 0 -6px;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 16px solid #FFFFFF;
}
.gohn-videos .swiper-slide-active .gohn-videos__play,
.gohn-videos:not(.is-swiper) .gohn-videos__slide:hover .gohn-videos__play { opacity: 1; }
.gohn-videos .swiper-slide-active .gohn-videos__link:hover .gohn-videos__play,
.gohn-videos .swiper-slide-active .gohn-videos__link:focus-visible .gohn-videos__play {
	transform: scale(1.12);
	background-color: rgba(0, 0, 0, 0.3);
}

/* Tablet: keep the slides from getting too small */
@media (min-width: 768px) and (max-width: 1199px) {
	.gohn-videos { --gohn-vid-w: 33vw; }
}
/* Mobile: center 260/375, peeks at the sides */
@media (max-width: 767px) {
	.e-con.gohn-videos-section { --gohn-before-cta-pt: 48px; --gohn-before-cta-pb: 64px; }
	.gohn-videos { --gohn-vid-w: 69.33vw; }
	.gohn-videos:not(.is-swiper) .swiper-wrapper { gap: 3.2vw; }
	.gohn-videos .gohn-videos__slide { border-radius: 12px; }
	.gohn-videos__play { width: 44px; height: 44px; margin: -22px 0 0 -22px; }
	.gohn-videos__play::after { margin: -8px 0 0 -5px; border-top-width: 8px; border-bottom-width: 8px; border-left-width: 13px; }
}

/* Blog: every image fills its 320px frame (the theme/lazy-load was forcing
   height:auto, so each image kept its own ratio and left a gap under it). */
.gohn-blog .gohn-blog__media img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover !important;
}

/* =====================================================================
   In the News – static version built with Elementor widgets (editable in
   the page editor). Same look as the old [gohn_news] shortcode.
   Structure (all containers "Full width", padding 0):
     .gohn-ns.gohn-carousel
       .gohn-ns__track.gohn-carousel__track
         .gohn-ns__item.gohn-ns__item--featured.gohn-carousel__slide
           Image .gohn-ns__media · .gohn-ns__body (Heading .gohn-ns__title · Text .gohn-ns__meta)
         .gohn-ns__list
           3 × .gohn-ns__item.gohn-carousel__slide (same children)
   ===================================================================== */
.e-con.gohn-ns { padding: 0 !important; gap: 0 !important; }
.e-con.gohn-ns__track {
	display: grid !important;
	grid-template-columns: minmax(0, 649fr) minmax(0, 622fr);
	column-gap: 53px !important;
	row-gap: 0 !important;
	align-items: start;
	padding: 0 !important;
}
.e-con.gohn-ns__list {
	display: flex !important;
	flex-direction: column !important;
	gap: 25.5px !important;
	padding: 0 !important;
	width: auto !important;
	min-width: 0;
}
.e-con.gohn-ns__item,
.e-con.gohn-ns__body {
	padding: 0 !important;
	width: auto !important;
	min-width: 0;
	--width: auto;
}
.e-con.gohn-ns__item--featured { display: flex !important; flex-direction: column !important; gap: 0 !important; }
.e-con.gohn-ns__body { flex: 1 1 auto !important; gap: 0 !important; }
.gohn-ns__item--featured > .e-con.gohn-ns__body { padding-top: 16px !important; }

/* Image widget */
.gohn-ns .gohn-ns__media { width: 100% !important; max-width: none !important; margin: 0 !important; overflow: hidden; }
.gohn-ns .gohn-ns__media .elementor-widget-container,
.gohn-ns .gohn-ns__media a { display: block !important; width: 100%; height: 100%; padding: 0 !important; background: none !important; }
.gohn-ns .gohn-ns__media img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	border-radius: 0 !important;
}
.gohn-ns__item--featured > .gohn-ns__media { aspect-ratio: 649 / 442; }

/* List cards (right column) */
.gohn-ns__list > .e-con.gohn-ns__item {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 24px !important;
	min-height: 148px;
	box-sizing: border-box;
	padding: 13px 17px !important;
	background: var(--gohn-card-bg) !important;
	border-radius: var(--gohn-radius) !important;
	box-shadow: var(--gohn-card-shadow) !important;
}
.gohn-ns__list .gohn-ns__media { flex: 0 0 146px !important; width: 146px !important; height: 122px; }

/* Title (Heading widget) */
.gohn-ns .gohn-ns__title { margin: 0 !important; }
.gohn-ns .gohn-ns__title .elementor-heading-title {
	margin: 0 0 10px !important;
	font-family: var(--gohn-font-heading) !important;
	font-weight: var(--gohn-heading-weight) !important;
	font-size: 24px !important;
	line-height: 34px !important;
	letter-spacing: -0.7px !important;
	color: var(--gohn-green) !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.gohn-ns .gohn-ns__item--featured .gohn-ns__title .elementor-heading-title {
	font-size: 28px !important;
	line-height: 41px !important;
	margin-bottom: 8px !important;
}
.gohn-ns .gohn-ns__title a {
	background: none !important;
	padding: 0 !important;
	color: inherit !important;
	-webkit-text-fill-color: currentColor !important;
	text-decoration: none !important;
}
.gohn-ns .gohn-ns__title a:hover,
.gohn-ns .gohn-ns__title a:focus-visible { text-decoration: underline !important; }
.gohn-ns .gohn-ns__title a::after {
	content: "";
	display: inline-block;
	margin-left: 12px;
	vertical-align: middle;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	border-left: 7px solid currentColor;
	transform: translateY(-2px);
}
.gohn-ns .new-window-icon { display: none !important; }

/* Meta line (Text Editor widget): "Jan 15, 2026 • Press Release • Chicago Tribune" */
.gohn-ns .gohn-ns__meta { margin: 0 !important; }
.gohn-ns .gohn-ns__meta p {
	margin: 0 !important;
	font-family: var(--gohn-font-body) !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 34px !important;
	color: var(--gohn-text) !important;
}

/* Mobile: every item becomes a slide (Figma 322×247 images) */
@media (max-width: 767px) {
	.e-con.gohn-ns__track {
		display: flex !important;
		flex-direction: row !important;
		gap: 16px !important;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		margin: 0 -16px !important;
		padding: 0 16px !important;
		scroll-padding: 0 16px;
	}
	.e-con.gohn-ns__track::-webkit-scrollbar { display: none; }
	.e-con.gohn-ns__list { display: contents !important; }
	.e-con.gohn-ns__item,
	.gohn-ns__list > .e-con.gohn-ns__item {
		flex: 0 0 86% !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 0 !important;
		scroll-snap-align: start;
		min-height: 0;
		padding: 0 !important;
		background: none !important;
		border-radius: 0 !important;
		box-shadow: none !important;
	}
	.gohn-ns .gohn-ns__media,
	.gohn-ns__list .gohn-ns__media {
		flex: none !important;
		width: 100% !important;
		height: auto;
		aspect-ratio: 322 / 247;
	}
	.gohn-ns .e-con.gohn-ns__body { padding-top: 12px !important; }
	.gohn-ns .gohn-ns__title .elementor-heading-title,
	.gohn-ns .gohn-ns__item--featured .gohn-ns__title .elementor-heading-title {
		font-size: 18px !important;
		line-height: 26px !important;
		letter-spacing: 0 !important;
		margin-bottom: 8px !important;
		-webkit-line-clamp: 3;
	}
	.gohn-ns .gohn-ns__title a::after {
		margin-left: 8px;
		border-top-width: 4px;
		border-bottom-width: 4px;
		border-left-width: 5px;
	}
	.gohn-ns .gohn-ns__meta p { font-size: 14px !important; line-height: 22px !important; }
}

/* Blog: publish date under the title */
.gohn-blog .gohn-meta.gohn-blog__date { margin: 8px 0 0 !important; }

/* Media Resources as the last section before the "Say yes to" CTA
   (classes "pageblock gohn-before-cta" on the section, outer top/bottom padding 0). */
.e-con.gohn-media-section { --gohn-before-cta-pt: 86px; --gohn-before-cta-pb: 86px; }
@media (max-width: 767px) {
	.e-con.gohn-media-section { --gohn-before-cta-pt: 42px; --gohn-before-cta-pb: 42px; }
}

/* =====================================================================
   Videos – pop-up player
   ===================================================================== */
.gohn-vmodal[hidden] { display: none !important; }
.gohn-vmodal {
	position: fixed;
	inset: 0;
	z-index: 100000; /* above the WP admin bar and sticky headers */
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	box-sizing: border-box;
	opacity: 0;
	transition: opacity .2s ease;
}
.gohn-vmodal.is-open { opacity: 1; }
.gohn-vmodal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 6, 24, 0.85);
	cursor: pointer;
}
.gohn-vmodal__dialog {
	position: relative;
	width: min(1000px, 100%, calc((100vh - 120px) * 16 / 9));
	transform: scale(.97);
	transition: transform .2s ease;
}
.gohn-vmodal.is-open .gohn-vmodal__dialog { transform: none; }
.gohn-vmodal__frame {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #000;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}
.gohn-vmodal__frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.gohn-vmodal .gohn-vmodal__close {
	-webkit-appearance: none !important;
	appearance: none !important;
	position: absolute !important;
	top: -52px;
	right: 0;
	width: 44px !important;
	height: 44px !important;
	min-width: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 2px solid #FFFFFF !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: #FFFFFF !important;
	font: 400 30px/1 var(--gohn-font-body) !important;
	box-shadow: none !important;
	cursor: pointer;
	display: flex !important;
	align-items: center;
	justify-content: center;
}
.gohn-vmodal .gohn-vmodal__close:hover,
.gohn-vmodal .gohn-vmodal__close:focus-visible {
	background: #FFFFFF !important;
	color: #592D82 !important;
	outline: none;
}
html.gohn-vmodal-open,
html.gohn-vmodal-open body { overflow: hidden !important; }
@media (max-width: 767px) {
	.gohn-vmodal { padding: 16px; }
	.gohn-vmodal__frame { border-radius: 12px; }
	.gohn-vmodal .gohn-vmodal__close { width: 40px !important; height: 40px !important; top: -48px; }
}
@media (prefers-reduced-motion: reduce) {
	.gohn-vmodal, .gohn-vmodal__dialog { transition: none; }
}

/* Videos: 4:3 thumbnails with black bars (videos without an HD thumbnail) –
   zoom so the 16:9 picture fills the card and the bars are cropped out. */
.gohn-videos .gohn-videos__link img.is-letterbox { transform: scale(1.25); }
