:root {
	--mfl-press-navy: #18284f;
	--mfl-press-blue: #152a58;
	--mfl-press-yellow: #ffd44f;
	--mfl-press-muted: #7784a0;
	--mfl-press-line: #ececef;
}

body.mfl-press-landing {
	background-color: var(--mfl-press-navy) !important;
}

.mfl-press-landing .entry-header,
.mfl-press-landing .page-header,
.mfl-press-landing .entry-title { display: none !important; }

.mfl-press-landing footer.elementor-location-footer,
.mfl-press-single footer.elementor-location-footer {
	background-color: var(--mfl-press-navy) !important;
}

body.admin-bar.mfl-press-landing footer.elementor-location-footer,
body.admin-bar.mfl-press-single footer.elementor-location-footer {
	margin-bottom: -32px !important;
}

@media (max-width: 782px) {
	body.admin-bar.mfl-press-landing footer.elementor-location-footer,
	body.admin-bar.mfl-press-single footer.elementor-location-footer {
		margin-bottom: -46px !important;
	}
}

.mfl-press-landing .site-main,
.mfl-press-landing .entry-content,
.mfl-press-landing .content-area,
.mfl-press-landing .elementor > .e-con-boxed,
.mfl-press-landing .elementor > .e-con-boxed > .e-con-inner {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 0 !important;
}

.mfl-press-page, .mfl-press-page * { box-sizing: border-box; }

.mfl-press-page {
	margin: 0;
	color: var(--mfl-press-blue);
	font: 400 17.6px/30.8px "Myriad Pro", Arial, sans-serif;
}

.mfl-press-page.e-con,
.mfl-press-page .mfl-press-hero.e-con,
.mfl-press-page .mfl-press-main.e-con {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	gap: 0;
}

.mfl-press-page .mfl-press-shell.e-con {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: min(1140px, calc(100% - 40px));
	max-width: 1140px;
	margin-right: auto;
	margin-left: auto;
	padding: 0;
	gap: 0;
}

.mfl-press-page > .elementor-widget-shortcode,
.mfl-press-page > .elementor-widget-shortcode > .elementor-widget-container {
	width: 100%;
	margin: 0;
	padding: 0;
}

.mfl-press-page a { color: inherit; text-decoration: none; }

.mfl-press-shell {
	width: min(1140px, calc(100% - 40px));
	margin-right: auto;
	margin-left: auto;
}

/* Elementor owns the hero copy; the plugin preserves the approved geometry. */
.mfl-press-hero,
.mfl-press-page .mfl-press-hero.e-con {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center !important;
	min-height: 315px;
	color: #fff;
	background-color: var(--mfl-press-navy) !important;
	background-image: none !important;
}

.mfl-press-hero::before,
.mfl-press-hero::after,
.mfl-press-hero > .elementor-background-overlay,
.mfl-press-hero > .elementor-motion-effects-container { background-image: none !important; }

/* Keep the legacy shortcode fallback; Elementor containers own their own background. */
.mfl-press-hero:not(.e-con) {
	background-color: var(--mfl-press-navy);
	background-image: none;
}

.mfl-press-page .mfl-press-hero__inner.e-con,
.mfl-press-hero__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: min(1140px, calc(100% - 40px));
	max-width: 1140px;
	margin: 0 auto;
	padding: 56px 0;
	gap: 0;
	text-align: center;
}

.mfl-press-page .mfl-press-hero .elementor-widget-heading,
.mfl-press-page .mfl-press-hero .elementor-widget-text-editor { width: 100%; }

.mfl-press-hero h1,
.mfl-press-page .mfl-press-hero .elementor-widget-heading .elementor-heading-title {
	margin: 0;
	color: #fff;
	font: 300 52px/1.08 Lato, sans-serif;
	letter-spacing: .02em;
	text-align: center;
	text-transform: uppercase;
}

.mfl-press-hero p,
.mfl-press-page .mfl-press-hero .elementor-widget-text-editor p {
	margin: 18px 0 0;
	color: #fff;
	font: 400 18px/28px Lato, sans-serif;
	text-align: center;
}

.mfl-press-hero p a { color: var(--mfl-press-yellow); font-weight: 700; }
.mfl-press-dynamic-content { width: 100%; }

.mfl-press-toolbar {
	width: 100%;
	background: #fff;
	border-bottom: 1px solid var(--mfl-press-line);
	box-shadow: 0 3px 0 rgba(24,40,79,.035);
}

.mfl-press-filters {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 72px;
	margin: 0 auto;
}

.mfl-press-search,
.mfl-press-topic-filter {
	display: flex;
	align-items: center;
	gap: 16px;
	min-width: 0;
	color: var(--mfl-press-blue);
}

.mfl-press-search { flex: 1 1 auto; }

.mfl-press-search svg,
.mfl-press-topic-filter svg {
	width: 26px;
	height: 26px;
	flex: 0 0 auto;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-width: 1.8;
}

.mfl-press-search input,
.mfl-press-topic-filter select {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	outline: 0;
	background: transparent;
	box-shadow: none;
	color: var(--mfl-press-blue);
	font: 400 18px/28px Lato, sans-serif;
}

.mfl-press-search input { width: 100%; height: 70px; }
.mfl-press-search input::placeholder { color: rgba(24,40,79,.48); opacity: 1; }
.mfl-press-topic-filter { flex: 0 0 auto; }
.mfl-press-topic-filter select { width: auto; min-width: 145px; cursor: pointer; }

.mfl-press-main {
	padding: 42px 0 92px;
	background: #fff;
	scroll-margin-top: 120px;
}

.mfl-press-main--static,
.mfl-press-page .mfl-press-main--static.e-con { padding: 42px 0 0; }

.mfl-press-main--feed,
.mfl-press-page .mfl-press-main--feed.e-con { padding: 68px 0 92px; }

.mfl-press-results { transition: opacity .2s ease; }
.mfl-press-results.is-loading { opacity: .45; pointer-events: none; }

.mfl-press-section-title,
.mfl-press-page .mfl-press-section-title {
	margin: 0 0 22px;
	color: #6f819e;
	font: 300 32.2px/39.2px Lato, sans-serif;
	letter-spacing: .01em;
	text-transform: uppercase;
}

.mfl-press-page .elementor-widget-heading.mfl-press-section-title .elementor-heading-title {
	margin: 0;
	color: #6f819e;
	font: 300 32.2px/39.2px Lato, sans-serif;
	letter-spacing: .01em;
	text-transform: uppercase;
}

.mfl-press-featured-list, .mfl-press-release-list { display: grid; }

.mfl-press-release {
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	gap: 40px;
	min-height: 368px;
	padding: 34px 0;
	border-bottom: 1px solid var(--mfl-press-line);
}

.mfl-press-page .mfl-press-release--elementor.e-con {
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	gap: 40px;
	width: 100%;
	max-width: none;
	margin: 0;
	min-height: 368px !important;
}

.mfl-press-release--elementor > .elementor-widget-image {
	display: block;
	width: 300px;
	height: 300px;
	overflow: hidden;
	border-radius: 12px;
}

.mfl-press-release--elementor > .elementor-widget-image > .elementor-widget-container,
.mfl-press-release--elementor > .elementor-widget-image a,
.mfl-press-release--elementor > .elementor-widget-image img {
	display: block;
	width: 100%;
	height: 100% !important;
	object-fit: cover !important;
}

.mfl-press-release__image {
	display: block;
	width: 300px;
	height: 300px;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 12px;
	background: var(--mfl-press-navy);
}

.mfl-press-release__image img,
.mfl-press-release__image span {
	display: block;
	width: 100%;
	height: 100% !important;
	object-fit: cover !important;
}

.mfl-press-release__image > .elementor-widget-container,
.mfl-press-release__image > .elementor-widget-container > a {
	display: block;
	width: 100%;
	height: 100%;
}

.mfl-press-release__body { min-width: 0; }

.mfl-press-page .mfl-press-release__body.e-con {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	gap: 0;
}

.mfl-press-release__body > .elementor-widget,
.mfl-press-release__body > .elementor-widget > .elementor-widget-container {
	width: 100%;
	margin: 0;
	padding: 0;
}

.mfl-press-release__type {
	position: relative;
	display: inline-block;
	margin: 0 0 8px !important;
	padding: 3px 20px 3px 26px;
	border: 2px solid rgba(24,40,79,.27);
	border-radius: 10px;
	color: var(--mfl-press-blue);
	font: 400 13px/22.75px "Myriad Pro", Arial, sans-serif !important;
}

.mfl-press-release__type::before {
	position: absolute;
	top: 3px;
	left: 13px;
	content: "•";
}

.mfl-press-release h3 { margin: 0 0 4px; padding: 0; }

.mfl-press-page .mfl-press-release h3 a,
.mfl-press-release h3 a {
	color: var(--mfl-press-blue);
	font-family: Lato, sans-serif !important;
	font-size: 34px !important;
	font-weight: 300 !important;
	line-height: 42.5px !important;
}

.mfl-press-release h3 a:hover,
.mfl-press-release h3 a:focus-visible { color: #0b1d45; }

.mfl-press-release__date {
	margin: 0 0 15px;
	color: var(--mfl-press-muted);
	font: 400 15px/24px Lato, sans-serif;
}

.mfl-press-release__excerpt {
	margin: 0 0 14px;
	padding: 0;
	color: rgba(24,40,79,.8);
	font: 400 18px/28px Lato, sans-serif;
}

.mfl-press-release__author {
	display: none !important;
}

/* Dedicated single-release layout. */
.mfl-press-single .entry-header,
.mfl-press-single .page-header,
.mfl-press-single .entry-title,
.mfl-press-single .post-meta,
.mfl-press-single .author,
.mfl-press-single .byline { display: none !important; }

.mfl-press-single-page,
.mfl-press-single-page * { box-sizing: border-box; }

.mfl-press-single-page { color: var(--mfl-press-blue); font: 400 18px/1.7 Lato, Arial, sans-serif; }
.mfl-press-single-hero { padding: 68px 20px; background: var(--mfl-press-navy); color: #fff; }
.mfl-press-single-shell { width: min(920px, 100% - 40px); margin: 0 auto; }
.mfl-press-single-kicker { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.mfl-press-single-back { display: inline-flex; align-items: center; justify-content: center; margin: 0; line-height: 1; }
.mfl-press-single-back img { display: block; width: 12px; height: 12px; }
.mfl-press-single-back:hover,
.mfl-press-single-back:focus-visible { text-decoration: underline; }
.mfl-press-single-type { margin: 0; color: var(--mfl-press-yellow); font-size: 14px; font-weight: 700; letter-spacing: .05em; line-height: 1; text-transform: uppercase; }
.mfl-press-single-title { max-width: 980px; margin: 0; color: #fff; font: 300 clamp(38px, 5vw, 62px)/1.12 Lato, sans-serif; }
.mfl-press-single-date { margin: 20px 0 0; color: rgba(255,255,255,.75); font-size: 16px; }
.mfl-press-single-content { padding: 64px 0 80px; }
.mfl-press-single-featured { width: min(520px, 100%); aspect-ratio: 1 / 1; margin: 0 auto 48px; overflow: hidden; border-radius: 14px; }
.mfl-press-single-featured img { display: block; width: 100%; height: 100% !important; object-fit: cover !important; }
.mfl-press-single-body { color: #263554; }
.mfl-press-single-body > :first-child { margin-top: 0; }
.mfl-press-single-body img { max-width: 100%; height: auto; }
.mfl-press-single-body a { color: #1f5d9b; text-decoration: underline; }
.mfl-press-single-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-top: 64px; padding-top: 30px; border-top: 1px solid var(--mfl-press-line); }
.mfl-press-single-nav a { color: var(--mfl-press-blue); font-weight: 700; text-decoration: none; }
.mfl-press-single-nav__control { display: inline-flex; align-items: center; }
.mfl-press-single-nav__title { display: block; margin-top: 8px; font-size: 70%; font-weight: 400 !important; line-height: 1.4; opacity: .6; }
.mfl-press-single-nav__next { text-align: right; }

.mfl-press-divider { height: 1px; margin: 68px 0 62px; background: var(--mfl-press-line); }
.mfl-press-releases-title { margin-bottom: 22px; }
.mfl-press-release-list .mfl-press-release:last-child { border-bottom: 0; }

.mfl-press-empty { min-height: 250px; padding: 60px 0; border-bottom: 1px solid var(--mfl-press-line); }
.mfl-press-empty h2 { margin: 0 0 8px; font: 300 34px/42.5px Lato, sans-serif; }
.mfl-press-empty p { margin: 0; }

@media (max-width: 900px) {
	.mfl-press-release { grid-template-columns: 250px minmax(0, 1fr); gap: 30px; }
	.mfl-press-page .mfl-press-release--elementor.e-con { grid-template-columns: 250px minmax(0, 1fr); gap: 30px; }
	.mfl-press-release__image { width: 250px; height: 250px; }
	.mfl-press-release--elementor > .elementor-widget-image { width: 250px; height: 250px; }
}

@media (max-width: 767px) {
	.mfl-press-shell,
	.mfl-press-page .mfl-press-hero__inner.e-con,
	.mfl-press-hero__inner { width: min(100% - 32px, 1140px); }

	.mfl-press-hero,
	.mfl-press-page .mfl-press-hero.e-con { min-height: 300px; }
	.mfl-press-hero h1,
	.mfl-press-page .mfl-press-hero .elementor-widget-heading .elementor-heading-title { font-size: 42px; line-height: 48px; }

	.mfl-press-hero p,
	.mfl-press-page .mfl-press-hero .elementor-widget-text-editor p { font-size: 16px; line-height: 24px; }

	.mfl-press-filters { min-height: 68px; }
	.mfl-press-search svg, .mfl-press-topic-filter svg { width: 22px; height: 22px; }
	.mfl-press-search input, .mfl-press-topic-filter select { font-size: 15px; }
	.mfl-press-topic-filter { gap: 8px; }
	.mfl-press-topic-filter select { min-width: 110px; }
	.mfl-press-main { padding: 40px 0 64px; }

	.mfl-press-section-title,
	.mfl-press-page .mfl-press-section-title { margin-bottom: 18px; font-size: 25.2px; line-height: 30.8px; }
	.mfl-press-page .elementor-widget-heading.mfl-press-section-title .elementor-heading-title { font-size: 25.2px; line-height: 30.8px; }

	.mfl-press-release {
		grid-template-columns: 112px minmax(0, 1fr);
		gap: 16px;
		min-height: 0;
		padding: 26px 0;
	}

	.mfl-press-page .mfl-press-release--elementor.e-con {
		grid-template-columns: 112px minmax(0, 1fr);
		gap: 16px;
		min-height: 0 !important;
	}

	.mfl-press-release__image { width: 112px; height: 112px; }
	.mfl-press-release--elementor > .elementor-widget-image { width: 112px; height: 112px; }

	.mfl-press-page .mfl-press-release h3 a,
	.mfl-press-release h3 a { font-size: 21px !important; line-height: 27px !important; }

	.mfl-press-release__type {
		margin-bottom: 7px !important;
		padding: 3px 10px 3px 21px;
		font-size: 10px !important;
		line-height: 13px !important;
	}

	.mfl-press-release__type::before { top: 3px; left: 10px; }
	.mfl-press-release__date { margin-bottom: 0; font-size: 13px; line-height: 21px; }
	.mfl-press-release__excerpt, .mfl-press-release__author { display: none; }
	.mfl-press-divider { margin: 48px 0; }
	.mfl-press-single-hero { padding: 48px 0; }
	.mfl-press-single-shell { width: min(100% - 32px, 920px); }
	.mfl-press-single-content { padding: 42px 0 60px; }
	.mfl-press-single-featured { margin-bottom: 34px; }
	.mfl-press-single-nav { grid-template-columns: 1fr; }
	.mfl-press-single-nav__next { text-align: left; }
}
