/* =========================================================================
   Ormeau Information Hub – front end
   Scoped to .ohub so nothing leaks into the rest of the site.
   Colours and fonts follow the site's Elementor global kit where available.
   ========================================================================= */

.ohub {
	--ohub-olive: var(--e-global-color-primary, #464412);
	--ohub-olive-dark: #2f2e0c;
	--ohub-olive-tint: #eef0dc;
	--ohub-cream: var(--e-global-color-secondary, #f5eae3);
	--ohub-cream-light: #fbf6f2;
	--ohub-tan: #efe4da;
	--ohub-line: #e6dfd6;
	--ohub-line-strong: #d9cfc4;
	--ohub-text: #1b1b1b;
	--ohub-body: #333333;
	--ohub-soft: #444444;
	--ohub-muted: #6c6c6c;
	--ohub-white: #ffffff;
	--ohub-font-head: "Roboto Condensed", "Arial Narrow", sans-serif;
	--ohub-font-body: "Work Sans", -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--ohub-radius: 16px;
	--ohub-gutter: 24px;
	/* Site container width (matches the rest of the site). */
	--ohub-site-width: 1270px;
	/* Article text width. Set to e.g. 860px for a narrower reading column. */
	--ohub-article-width: var(--ohub-site-width);

	display: block;
	font-family: var(--ohub-font-body);
	font-size: 16px;
	line-height: 1.6;
	color: var(--ohub-text);
	background: var(--ohub-white);
}

.ohub *,
.ohub *::before,
.ohub *::after {
	box-sizing: border-box;
}

.ohub a {
	color: var(--ohub-olive);
}

.ohub a:hover {
	color: var(--ohub-olive-dark);
}

.ohub :focus-visible {
	outline: 3px solid var(--ohub-olive);
	outline-offset: 3px;
	border-radius: 4px;
}

.ohub img {
	max-width: 100%;
	height: auto;
}

.ohub .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.ohub-icon {
	flex-shrink: 0;
	vertical-align: middle;
}

/* ----- Layout ----------------------------------------------------------- */

/* Space for a fixed site header. hub.js measures the header and sets this automatically
   (desktop fixed header = its height; non-fixed header on mobile = 0). */
main.ohub {
	--ohub-header-offset-default: 0px;
	padding-top: var(--ohub-header-offset, var(--ohub-header-offset-default));
}

/* Starting value before hub.js measures (avoids a jump on desktop, where the header is fixed). */
@media (min-width: 1025px) {
	main.ohub {
		--ohub-header-offset-default: 163px;
	}
}

.ohub-container {
	width: 100%;
	max-width: calc(var(--ohub-site-width) + 2 * var(--ohub-gutter));
	margin: 0 auto;
	padding: 0 var(--ohub-gutter);
}

.ohub-container--narrow {
	max-width: 816px;
}

.ohub-container--article {
	max-width: calc(var(--ohub-article-width) + 2 * var(--ohub-gutter));
}

.ohub-container--wide {
	max-width: calc(var(--ohub-site-width) + 2 * var(--ohub-gutter));
}

/* Space between the end of the article and the footer / related articles. */
.ohub-article__inner {
	padding-bottom: 96px;
}

.ohub-container--results {
	max-width: 1008px;
}

.ohub-section {
	padding: 64px 0 0;
}

.ohub-section__title {
	margin: 0;
	text-align: center;
	font-family: var(--ohub-font-head);
	font-weight: 400;
	font-size: 44px;
	line-height: 1.1;
	text-transform: uppercase;
	color: var(--ohub-olive);
}

.ohub-section__title--left {
	text-align: left;
	font-size: 40px;
}

.ohub-rule {
	display: block;
	width: 80px;
	height: 3px;
	margin: 16px auto 32px;
	background: var(--ohub-olive);
}

.ohub-eyebrow {
	margin: 0;
	font-size: 15px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--ohub-olive);
}

.ohub-label {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--ohub-olive);
}

.ohub-meta {
	margin: 0;
	font-size: 13px;
	color: var(--ohub-muted);
}

.ohub-empty {
	text-align: center;
	color: var(--ohub-soft);
}

/* ----- Buttons and pills ------------------------------------------------ */

.ohub .ohub-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 0 26px;
	border: 1.5px solid var(--ohub-olive);
	border-radius: 999px;
	background: var(--ohub-olive);
	color: var(--ohub-white);
	font-family: var(--ohub-font-body);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.ohub .ohub-button:hover {
	background: var(--ohub-olive-dark);
	border-color: var(--ohub-olive-dark);
	color: var(--ohub-white);
}

.ohub .ohub-button--light {
	background: var(--ohub-cream);
	border-color: var(--ohub-cream);
	color: var(--ohub-olive);
}

.ohub .ohub-button--light:hover {
	background: var(--ohub-white);
	border-color: var(--ohub-white);
	color: var(--ohub-olive-dark);
}

.ohub .ohub-button--outline-light {
	background: transparent;
	border-color: var(--ohub-cream);
	color: var(--ohub-white);
}

.ohub .ohub-button--outline-light:hover {
	background: rgba(255, 255, 255, 0.12);
	border-color: var(--ohub-white);
	color: var(--ohub-white);
}

.ohub-filters {
	padding-top: 32px;
}

.ohub-filters ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ohub .ohub-pill {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 22px;
	border: 1.5px solid var(--ohub-olive);
	border-radius: 999px;
	background: var(--ohub-white);
	color: var(--ohub-olive);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
}

.ohub .ohub-pill:hover {
	background: var(--ohub-cream-light);
	color: var(--ohub-olive-dark);
}

.ohub .ohub-pill.is-active {
	background: var(--ohub-olive);
	color: var(--ohub-white);
	font-weight: 600;
}

.ohub-badge {
	display: inline-block;
	padding: 5px 12px;
	border-radius: 999px;
	background: var(--ohub-olive);
	color: var(--ohub-white);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.ohub .ohub-chip {
	align-self: flex-start;
	display: inline-block;
	padding: 7px 14px;
	border-radius: 999px;
	background: var(--ohub-cream);
	color: var(--ohub-olive);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	text-decoration: none;
}

.ohub .ohub-link-arrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}

/* ----- Breadcrumbs ------------------------------------------------------ */

.ohub-breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 18px;
	padding: 0;
	list-style: none;
	font-size: 13px;
	color: var(--ohub-muted);
}

.ohub-breadcrumbs li + li::before {
	content: "/";
	margin-right: 6px;
}

.ohub .ohub-breadcrumbs a {
	color: var(--ohub-muted);
}

.ohub-hero--center .ohub-breadcrumbs ol {
	justify-content: center;
}

/* ----- Hero ------------------------------------------------------------- */

.ohub-hero {
	padding: 64px 0 52px;
	background: var(--ohub-cream-light);
}

.ohub-hero--center {
	text-align: center;
}

.ohub-hero__title {
	margin: 14px 0 0;
	font-family: var(--ohub-font-head);
	font-weight: 700;
	font-size: 60px;
	line-height: 1.05;
	text-transform: uppercase;
	color: var(--ohub-olive);
}

.ohub-hero .ohub-rule {
	margin: 20px auto;
}

.ohub-hero__intro {
	max-width: 760px;
	margin: 0 auto;
	font-size: 18px;
	line-height: 1.6;
	color: var(--ohub-body);
}

.ohub-hero--center .ohub-search {
	max-width: 720px;
	margin: 28px auto 0;
}

.ohub-hero--split .ohub-hero__inner {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 64px;
}

.ohub-hero--split .ohub-hero__text {
	max-width: 720px;
}

.ohub-hero--split .ohub-rule {
	margin: 20px 0;
}

.ohub-hero--split .ohub-hero__intro {
	margin: 0;
}

.ohub-hero__search {
	flex: 0 0 460px;
}

/* ----- Search form ------------------------------------------------------ */

.ohub-search {
	display: flex;
	align-items: center;
	padding: 6px;
	border: 1px solid var(--ohub-line-strong);
	border-radius: 999px;
	background: var(--ohub-white);
	box-shadow: 0 6px 20px rgba(70, 68, 18, 0.08);
}

.ohub-search__label {
	display: flex;
	align-items: center;
	padding-left: 14px;
	color: var(--ohub-olive);
	cursor: text;
}

.ohub .ohub-search__input {
	flex: 1 1 auto;
	min-width: 0;
	height: 48px;
	padding: 0 14px;
	border: 0;
	background: transparent;
	box-shadow: none;
	font-family: var(--ohub-font-body);
	font-size: 16px;
	color: var(--ohub-text);
}

.ohub .ohub-search__input:focus {
	outline: none;
}

.ohub-search:focus-within {
	outline: 3px solid var(--ohub-olive);
	outline-offset: 2px;
}

.ohub .ohub-search__input::placeholder {
	color: var(--ohub-muted);
	opacity: 1;
}

.ohub .ohub-search__button {
	height: 48px;
	padding: 0 28px;
	border: 0;
	border-radius: 999px;
	background: var(--ohub-olive);
	color: var(--ohub-white);
	font-family: var(--ohub-font-body);
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
}

.ohub .ohub-search__button:hover,
.ohub .ohub-search__button:focus {
	background: var(--ohub-olive-dark);
	color: var(--ohub-white);
}

/* ----- Cards ------------------------------------------------------------ */

.ohub-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
}

.ohub-media {
	display: block;
	overflow: hidden;
	background: var(--ohub-tan);
}

.ohub-media__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Featured card and search rows: the image fills the whole image area, whatever its proportions. */
.ohub-featured__media,
.ohub-row__media {
	position: relative;
}

.ohub-featured__media .ohub-media__img,
.ohub-featured__media .ohub-media__placeholder,
.ohub-row__media .ohub-media__img,
.ohub-row__media .ohub-media__placeholder {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
}

.ohub-media__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: var(--ohub-olive);
	opacity: 0.3;
}

.ohub-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--ohub-line);
	border-radius: var(--ohub-radius);
	background: var(--ohub-white);
}

.ohub-card__media {
	aspect-ratio: 16 / 9;
}

.ohub-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 12px;
	padding: 24px 26px 26px;
}

.ohub .ohub-card__title {
	margin: 0;
	font-family: var(--ohub-font-head);
	font-weight: 700;
	font-size: 25px;
	line-height: 1.15;
	text-transform: none;
}

.ohub .ohub-card__title a {
	color: var(--ohub-text);
	text-decoration: none;
}

.ohub .ohub-card__title a:hover {
	color: var(--ohub-olive);
	text-decoration: underline;
}

.ohub-card__excerpt {
	flex: 1 1 auto;
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: var(--ohub-soft);
}

.ohub-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid #efe8e0;
}

.ohub .ohub-card__more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

/* Featured */

.ohub-section--featured {
	padding-top: 48px;
}

.ohub-featured {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	overflow: hidden;
	border: 1px solid var(--ohub-line);
	border-radius: 18px;
	background: var(--ohub-white);
}

.ohub-featured__media {
	min-height: 400px;
}

.ohub-featured__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 16px;
	padding: 48px 56px;
}

.ohub-featured__labels {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.ohub .ohub-featured__title {
	margin: 0;
	font-family: var(--ohub-font-head);
	font-weight: 700;
	font-size: 40px;
	line-height: 1.1;
}

.ohub .ohub-featured__title a {
	color: var(--ohub-text);
	text-decoration: none;
}

.ohub .ohub-featured__title a:hover {
	text-decoration: underline;
}

.ohub-featured__excerpt {
	margin: 0;
	font-size: 17px;
	color: var(--ohub-soft);
}

.ohub-featured .ohub-meta {
	font-size: 14px;
}

/* Search result rows */

.ohub-results-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 24px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--ohub-line);
}

.ohub-results-count {
	margin: 0;
	font-size: 18px;
	color: var(--ohub-body);
}

.ohub-rows {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.ohub-row {
	display: flex;
	overflow: hidden;
	border: 1px solid var(--ohub-line);
	border-radius: var(--ohub-radius);
	background: var(--ohub-white);
}

.ohub-row__media {
	flex: 0 0 300px;
	min-height: 190px;
}

.ohub-row__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 10px;
	padding: 24px 32px;
}

.ohub .ohub-row__title {
	margin: 0;
	font-family: var(--ohub-font-head);
	font-weight: 700;
	font-size: 26px;
	line-height: 1.15;
}

.ohub .ohub-row__title a {
	color: var(--ohub-text);
	text-decoration: none;
}

.ohub .ohub-row__title a:hover {
	text-decoration: underline;
}

.ohub-row__excerpt {
	margin: 0;
	font-size: 15px;
	color: var(--ohub-soft);
}

/* No results */

.ohub-noresults {
	padding: 72px 0 96px;
	text-align: center;
}

.ohub-noresults > .ohub-container > .ohub-icon {
	color: var(--ohub-olive);
}

.ohub .ohub-noresults__title {
	margin: 18px 0 10px;
	font-family: var(--ohub-font-head);
	font-weight: 700;
	font-size: 34px;
	line-height: 1.2;
	color: var(--ohub-text);
}

.ohub-didyoumean {
	margin: 0 0 8px;
	font-size: 18px;
	font-weight: 600;
}

.ohub-noresults .ohub-filters {
	padding-top: 12px;
}

.ohub-help {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-top: 40px;
	padding: 32px 40px;
	border-radius: 18px;
	background: var(--ohub-cream);
	text-align: left;
}

.ohub-help p {
	margin: 0;
}

.ohub-help__heading {
	font-family: var(--ohub-font-head);
	font-weight: 700;
	font-size: 22px;
	color: var(--ohub-olive);
}

/* Pagination */

.ohub-pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-top: 40px;
}

.ohub-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 16px;
	border: 1.5px solid var(--ohub-line-strong);
	border-radius: 999px;
	color: var(--ohub-olive);
	font-weight: 500;
	text-decoration: none;
}

.ohub-pagination a.page-numbers:hover {
	border-color: var(--ohub-olive);
}

.ohub-pagination .page-numbers.current {
	border-color: var(--ohub-olive);
	background: var(--ohub-olive);
	color: var(--ohub-white);
	font-weight: 600;
}

.ohub-pagination .page-numbers.dots {
	border-color: transparent;
}

/* ----- Register / Contact band ----------------------------------------- */

.ohub-section--cta {
	padding: 88px 0 96px;
}

.ohub-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 48px;
	padding: 64px 80px;
	border-radius: 24px;
	background: var(--ohub-olive);
	color: var(--ohub-cream);
}

.ohub-cta__text {
	max-width: 640px;
}

.ohub-cta p {
	margin: 0 0 12px;
	font-size: 17px;
}

.ohub .ohub-cta__heading,
.ohub .ohub-cta-box__heading {
	margin: 0 0 14px;
	font-family: var(--ohub-font-head);
	font-weight: 700;
	font-size: 44px;
	line-height: 1.1;
	text-transform: uppercase;
	color: var(--ohub-white);
}

.ohub-cta__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	flex-shrink: 0;
}

.ohub .ohub-cta__contact {
	margin: 0;
	font-size: 15px;
}

.ohub .ohub-cta a:not(.ohub-button),
.ohub .ohub-cta-box a:not(.ohub-button) {
	color: var(--ohub-cream);
}

/* ----- Article ---------------------------------------------------------- */

.ohub-article__header {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding-top: 56px;
	padding-bottom: 40px;
}

.ohub-article__header .ohub-breadcrumbs ol {
	margin: 0;
}

.ohub .ohub-article__title {
	margin: 0;
	font-family: var(--ohub-font-head);
	font-weight: 700;
	font-size: 56px;
	line-height: 1.05;
	color: var(--ohub-olive);
}

.ohub-article__lead {
	margin: 0;
	font-size: 21px;
	line-height: 1.55;
	color: var(--ohub-body);
}

.ohub-article__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 20px;
	font-size: 14px;
	color: var(--ohub-muted);
}

.ohub-reviewed {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 14px;
	border-radius: 999px;
	background: var(--ohub-olive-tint);
	color: #3b3a10;
	font-weight: 600;
}

.ohub-article__image {
	margin: 0 auto;
}

.ohub-article__image img {
	display: block;
	width: 100%;
	border-radius: 20px;
}

/* Article content: what the writer types in the editor */

.ohub-content {
	padding-top: 56px;
	font-size: 18px;
	line-height: 1.75;
	color: #262626;
}

.ohub-content > * {
	margin-top: 0;
	margin-bottom: 22px;
}

.ohub .ohub-content h2 {
	margin: 44px 0 16px;
	font-family: var(--ohub-font-head);
	font-weight: 700;
	font-size: 34px;
	line-height: 1.2;
	text-transform: none;
	color: var(--ohub-olive);
}

.ohub .ohub-content h3 {
	margin: 36px 0 12px;
	font-family: var(--ohub-font-head);
	font-weight: 700;
	font-size: 26px;
	line-height: 1.25;
	text-transform: none;
	color: var(--ohub-text);
}

.ohub .ohub-content h4 {
	margin: 28px 0 10px;
	font-family: var(--ohub-font-body);
	font-weight: 700;
	font-size: 19px;
	color: var(--ohub-text);
}

.ohub-content ul,
.ohub-content ol {
	padding-left: 26px;
}

.ohub-content li {
	margin-bottom: 8px;
}

.ohub-content li::marker {
	color: var(--ohub-olive);
}

.ohub .ohub-content a {
	color: var(--ohub-olive);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ohub-content blockquote {
	margin-left: 0;
	margin-right: 0;
	padding: 4px 0 4px 24px;
	border-left: 4px solid var(--ohub-olive);
	font-size: 20px;
	color: var(--ohub-body);
}

.ohub-content blockquote p {
	margin: 0 0 8px;
}

.ohub-content table {
	width: 100%;
	border-collapse: collapse;
	font-size: 16px;
}

.ohub-content th,
.ohub-content td {
	padding: 10px 12px;
	border: 1px solid var(--ohub-line);
	text-align: left;
}

.ohub-content th {
	background: var(--ohub-cream-light);
}

.ohub-content figure {
	margin-left: 0;
	margin-right: 0;
}

.ohub-content img {
	border-radius: 12px;
}

.ohub-content figcaption {
	margin-top: 8px;
	font-size: 14px;
	color: var(--ohub-muted);
}

/* "Good to know" box */

.ohub-content .is-style-ohub-callout {
	margin: 32px 0;
	padding: 24px 28px 24px 64px;
	border-radius: var(--ohub-radius);
	background: var(--ohub-cream);
	font-size: 17px;
	line-height: 1.65;
	position: relative;
}

.ohub-content .is-style-ohub-callout::before {
	content: "";
	position: absolute;
	top: 26px;
	left: 26px;
	width: 24px;
	height: 24px;
	background: var(--ohub-olive);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5M12 8h.01'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5M12 8h.01'/%3E%3C/svg%3E") center / contain no-repeat;
}

.ohub-content .is-style-ohub-callout > * {
	margin: 0 0 8px;
}

.ohub-content .is-style-ohub-callout > *:last-child {
	margin-bottom: 0;
}

.ohub .ohub-content .ohub-callout__title,
.ohub .ohub-content .is-style-ohub-callout > p:first-child strong {
	font-family: var(--ohub-font-head);
	font-size: 20px;
	color: var(--ohub-olive);
}

/* Sources */

.ohub-sources {
	margin-top: 40px;
	padding: 28px 32px;
	border-radius: var(--ohub-radius);
	background: var(--ohub-cream-light);
}

.ohub .ohub-sources__heading {
	margin: 0 0 16px;
	font-family: var(--ohub-font-head);
	font-weight: 700;
	font-size: 24px;
	line-height: 1.2;
	color: var(--ohub-olive);
}

.ohub-sources__list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 16px;
	line-height: 1.5;
}

.ohub-sources__list li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.ohub-sources__list .ohub-icon {
	margin-top: 3px;
	color: var(--ohub-olive);
}

.ohub .ohub-sources__list a {
	font-weight: 600;
}

.ohub-sources__org {
	color: var(--ohub-muted);
}

.ohub-sources__org::before {
	content: " · ";
}

/* Disclaimer */

.ohub-disclaimer {
	margin: 24px 0 0;
	font-size: 14px;
	line-height: 1.6;
	color: var(--ohub-muted);
}

.ohub-disclaimer strong {
	color: #4a4a4a;
}

/* Share */

.ohub-share {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 32px;
	padding: 22px 0;
	border-top: 1px solid var(--ohub-line);
	border-bottom: 1px solid var(--ohub-line);
}

.ohub-share__heading {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-family: var(--ohub-font-head);
	font-weight: 700;
	font-size: 20px;
	color: var(--ohub-olive);
}

.ohub-share__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.ohub .ohub-share__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 16px;
	border: 1.5px solid var(--ohub-line-strong);
	border-radius: 999px;
	background: var(--ohub-white);
	color: var(--ohub-olive);
	font-family: var(--ohub-font-body);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}

.ohub .ohub-share__btn:hover {
	border-color: var(--ohub-olive);
	background: var(--ohub-cream-light);
	color: var(--ohub-olive-dark);
}

.ohub .ohub-share__btn .fab {
	font-size: 16px;
}

.ohub .ohub-share__native {
	border-color: var(--ohub-olive);
	background: var(--ohub-olive);
	color: var(--ohub-white);
	font-weight: 600;
}

.ohub .ohub-share__native[hidden] {
	display: none;
}

/* Article Register / Contact box */

.ohub-cta-box {
	margin-top: 36px;
	padding: 40px 44px;
	border-radius: 20px;
	background: var(--ohub-olive);
	color: var(--ohub-cream);
}

.ohub .ohub-cta-box__heading {
	font-size: 32px;
	line-height: 1.15;
}

.ohub-cta-box p {
	margin: 0 0 16px;
	font-size: 17px;
}

.ohub-cta-box .ohub-cta__buttons {
	margin-bottom: 16px;
}

/* Related */

.ohub-related {
	padding: 0 0 104px;
}

.ohub-related__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 32px;
}

/* ----- Homepage section ------------------------------------------------- */

.ohub-home {
	padding: 100px 0 110px;
	background: var(--ohub-cream);
	text-align: center;
}

.ohub .ohub-home__title {
	margin: 0;
	font-family: var(--ohub-font-head);
	font-weight: 400;
	font-size: 44px;
	line-height: 1;
	text-transform: uppercase;
	color: var(--ohub-olive);
}

.ohub-home .ohub-rule {
	width: 127px;
	height: 2px;
	margin: 15px auto 22px;
}

.ohub-home__intro {
	max-width: 760px;
	margin: 0 auto;
	font-size: 16px;
	line-height: 1.5;
}

.ohub-home .ohub-filters {
	padding-top: 32px;
}

.ohub-home .ohub-pill {
	min-height: 44px;
	padding: 0 20px;
	background: transparent;
	font-size: 14px;
}

.ohub-grid--home {
	margin-top: 44px;
	text-align: left;
}

.ohub-home .ohub-card {
	border: 0;
	box-shadow: 0 4px 18px rgba(70, 68, 18, 0.08);
}

.ohub-home__more {
	margin: 48px 0 0;
}

/* =========================================================================
   Tablet
   ========================================================================= */

@media (max-width: 1024px) {
	.ohub {
		--ohub-gutter: 32px;
	}

	.ohub-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
	}

	.ohub-hero__title {
		font-size: 48px;
	}

	.ohub-hero--split .ohub-hero__inner {
		flex-direction: column;
		align-items: stretch;
		gap: 28px;
	}

	.ohub-hero__search {
		flex-basis: auto;
	}

	.ohub-featured {
		grid-template-columns: 1fr;
	}

	.ohub-featured__media {
		min-height: 0;
		aspect-ratio: 16 / 9;
	}

	.ohub-featured__body {
		padding: 32px 36px 36px;
	}

	.ohub .ohub-featured__title {
		font-size: 34px;
	}

	.ohub-cta {
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
		padding: 48px 44px;
	}

	.ohub .ohub-cta__heading {
		font-size: 38px;
	}

	.ohub-row__media {
		flex-basis: 240px;
	}
}

/* =========================================================================
   Mobile
   ========================================================================= */

@media (max-width: 767px) {
	.ohub {
		--ohub-gutter: 20px;
	}

	.ohub-section {
		padding-top: 48px;
	}

	.ohub-section__title,
	.ohub-home .ohub-home__title {
		font-size: 34px;
	}

	.ohub-hero {
		padding: 36px 0 32px;
	}

	.ohub-hero--center {
		text-align: left;
	}

	.ohub-hero--center .ohub-breadcrumbs ol {
		justify-content: flex-start;
	}

	.ohub-hero--center .ohub-rule,
	.ohub-hero--split .ohub-rule {
		margin: 16px 0;
		width: 60px;
	}

	.ohub-hero__title {
		font-size: 38px;
	}

	.ohub-hero__intro {
		font-size: 16px;
	}

	.ohub .ohub-search__button {
		padding: 0 18px;
	}

	.ohub-search__label {
		padding-left: 10px;
	}

	.ohub .ohub-search__input {
		padding: 0 10px;
	}

	.ohub-filters ul {
		justify-content: flex-start;
		gap: 8px;
	}

	.ohub-home .ohub-filters ul,
	.ohub-noresults .ohub-filters ul {
		justify-content: center;
	}

	.ohub .ohub-pill {
		padding: 0 16px;
		font-size: 14px;
	}

	.ohub-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.ohub-card__body {
		padding: 20px 20px 22px;
	}

	.ohub .ohub-card__title {
		font-size: 23px;
	}

	.ohub-featured__body {
		padding: 24px 22px 26px;
	}

	.ohub .ohub-featured__title {
		font-size: 28px;
	}

	.ohub-results-head {
		flex-direction: column;
		gap: 6px;
	}

	.ohub-row {
		flex-direction: column;
	}

	.ohub-row__media {
		flex-basis: auto;
		min-height: 0;
		aspect-ratio: 16 / 9;
	}

	.ohub-row__body {
		padding: 20px;
	}

	.ohub .ohub-row__title {
		font-size: 23px;
	}

	.ohub-noresults {
		padding: 48px 0 64px;
	}

	.ohub .ohub-noresults__title {
		font-size: 28px;
	}

	.ohub-help {
		flex-direction: column;
		align-items: flex-start;
		padding: 24px;
	}

	.ohub-section--cta {
		padding: 48px 0 56px;
	}

	.ohub-cta {
		padding: 32px 24px;
		border-radius: 20px;
	}

	.ohub .ohub-cta__heading,
	.ohub .ohub-cta-box__heading {
		font-size: 28px;
	}

	.ohub-cta__buttons {
		flex-direction: column;
		align-self: stretch;
		width: 100%;
	}

	.ohub-cta__buttons .ohub-button {
		width: 100%;
	}

	.ohub-article__header {
		padding-top: 28px;
		padding-bottom: 24px;
		gap: 14px;
	}

	.ohub .ohub-article__title {
		font-size: 38px;
	}

	.ohub-article__lead {
		font-size: 18px;
	}

	.ohub-article__meta {
		font-size: 13px;
	}

	.ohub-article__image {
		padding: 0 var(--ohub-gutter);
	}

	.ohub-article__image img {
		border-radius: 14px;
	}

	.ohub-content {
		padding-top: 32px;
		font-size: 17px;
		line-height: 1.7;
	}

	.ohub .ohub-content h2 {
		font-size: 28px;
	}

	.ohub .ohub-content h3 {
		font-size: 23px;
	}

	.ohub-content .is-style-ohub-callout {
		padding: 20px 20px 20px 54px;
	}

	.ohub-content .is-style-ohub-callout::before {
		top: 22px;
		left: 20px;
	}

	.ohub-sources {
		padding: 22px 20px;
	}

	.ohub-sources__org {
		display: block;
	}

	.ohub-sources__org::before {
		content: "";
	}

	.ohub-share {
		flex-direction: column;
		align-items: stretch;
	}

	.ohub .ohub-share__native {
		flex: 1 1 100%;
		justify-content: center;
	}

	.ohub-cta-box {
		padding: 28px 22px;
	}

	.ohub-article__inner {
		padding-bottom: 56px;
	}

	.ohub-related {
		padding: 0 0 56px;
	}

	.ohub-related__head {
		flex-direction: column;
		align-items: flex-start;
	}

	.ohub-home {
		padding: 56px 0 60px;
	}

	.ohub-home__intro {
		font-size: 16px;
	}

	.ohub-grid--home {
		margin-top: 28px;
		gap: 14px;
	}

	/* Compact cards on the homepage */
	.ohub-grid--home .ohub-card {
		flex-direction: row;
		align-items: center;
		gap: 14px;
		padding: 12px;
	}

	.ohub-grid--home .ohub-card__media {
		flex: 0 0 96px;
		width: 96px;
		aspect-ratio: 1 / 1;
		border-radius: 10px;
	}

	.ohub-grid--home .ohub-media__placeholder svg {
		width: 30px;
		height: 30px;
	}

	.ohub-grid--home .ohub-card__body {
		gap: 6px;
		padding: 0;
	}

	.ohub-grid--home .ohub-label {
		font-size: 10px;
		letter-spacing: 1.2px;
	}

	.ohub-grid--home .ohub-card__title {
		font-size: 19px;
	}

	.ohub-grid--home .ohub-card__excerpt,
	.ohub-grid--home .ohub-card__more {
		display: none;
	}

	.ohub-grid--home .ohub-card__footer {
		padding-top: 0;
		border-top: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ohub * {
		transition: none !important;
	}
}
