/*
Theme Name: Expreso Base V1
Description: Base independiente, ligera y neutra para Expreso Yucatán. Plantillas clásicas, una columna y estilos esenciales.
Author: Expreso Yucatán
Version: 1.0.1
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: expreso-base
Tags: blog, news, one-column, custom-logo, custom-menu, featured-images, translation-ready
*/

/* ============================================================
 * VARIABLES
 * ============================================================ */

:root {
	--expreso-text: #202124;
	--expreso-muted: #565b63;
	--expreso-border: #d9dde3;
	--expreso-link: #174c88;
	--expreso-surface: #f5f6f8;

	--ex-red: #e30613;
	--ex-black: #08080a;
	--ex-dark: #111114;
	--ex-dark-2: #18181c;
	--ex-white: #ffffff;
	--ex-header-muted: #9a9da5;
	--ex-header-border: rgba(255,255,255,.10);
}

/* ============================================================
 * BASE
 * ============================================================ */

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

html {
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	background: #fff;
	color: var(--expreso-text);
	font-family:
		system-ui,
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		sans-serif;
	font-size: 1rem;
	line-height: 1.7;
	overflow-wrap: anywhere;
}

a {
	color: var(--expreso-link);
	text-underline-offset: .18em;
}

a:hover {
	text-decoration-thickness: 2px;
}

:focus-visible {
	outline: 3px solid var(--expreso-link);
	outline-offset: 3px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 1rem;
	line-height: 1.25;
}

h1 {
	font-size: clamp(1.8rem,4vw,2.5rem);
}

h2 {
	font-size: clamp(1.4rem,3vw,1.9rem);
}

h3 {
	font-size: 1.3rem;
}

h4,
h5,
h6 {
	font-size: 1.1rem;
}

p,
ul,
ol,
dl,
figure,
blockquote,
pre,
table {
	margin: 0 0 1.5rem;
}

ul,
ol {
	padding-inline-start: 1.5rem;
}

img,
video {
	max-width: 100%;
	height: auto;
}

iframe,
embed,
object,
audio {
	max-width: 100%;
}

button,
input,
select,
textarea {
	max-width: 100%;
	font: inherit;
}

/* ============================================================
 * CONTENEDOR
 * ============================================================ */

.container {
	width: calc(100% - 2rem);
	max-width: 1152px;
	margin-inline: auto;
}

/* ============================================================
 * HEADER NATIVO V1.3
 * ============================================================ */

.expreso-site-header {
	position: relative;
	z-index: 500;
	width: 100%;
	font-family:
		"Segoe UI",
		Roboto,
		Helvetica,
		Arial,
		sans-serif;
}

.expreso-site-header *,
.expreso-site-header *::before,
.expreso-site-header *::after {
	box-sizing: border-box;
}

.expreso-header-container {
	width: 100%;
	max-width: 1152px;
	min-width: 0;
	margin-inline: auto;
}

/* ============================================================
 * TOPBAR
 * ============================================================ */

.expreso-topbar {
	position: relative;
	width: 100%;
	background: #fff;
	border-bottom: 1px solid #e5e5e8;
	color: #16171b;
}

.expreso-topbar-inner {
	display: grid;
	grid-template-columns: minmax(0,1fr) auto;
	align-items: center;
	gap: 20px;
	min-height: 46px;
}

.expreso-breaking {
	display: flex;
	align-items: center;
	gap: 13px;
	min-width: 0;
	overflow: hidden;
}

.expreso-breaking-label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	flex: 0 0 auto;

	height: 30px;
	padding: 0 13px;

	border: 1px solid rgba(227,6,19,.48);
	border-radius: 6px;

	background: #fff;

	color: var(--ex-red);

	font-size: 9.5px;
	line-height: 1;
	font-weight: 800;
	letter-spacing: .45px;

	box-shadow:
		0 1px 2px rgba(0,0,0,.025),
		inset 0 0 0 1px rgba(227,6,19,.025);
}

.expreso-breaking-dot,
.expreso-live-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
}

.expreso-breaking-dot {
	color: var(--ex-red);
	box-shadow:
		0 0 0 3px rgba(227,6,19,.08);
}

.expreso-ticker {
	position: relative;
	display: block;
	flex: 1 1 auto;
	min-width: 0;
	height: 22px;
	overflow: hidden;
}

.expreso-ticker-item {
	position: absolute;
	inset: 0;

	display: flex;
	align-items: center;

	min-width: 0;
	overflow: hidden;

	opacity: 0;
	transform: translateY(8px);

	pointer-events: none;

	color: #202126;
	text-decoration: none;

	font-size: 12px;
	font-weight: 650;
	line-height: 22px;

	white-space: nowrap;
	text-overflow: ellipsis;

	transition:
		opacity .28s ease,
		transform .28s ease,
		color .2s ease;
}

.expreso-ticker-item.is-active {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.expreso-topbar-meta {
	display: flex;
	align-items: center;
	gap: 13px;
	flex: 0 0 auto;
	font-size: 9px;
}

.expreso-live {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--ex-red);
	font-weight: 850;
}

.expreso-live-dot {
	animation:
		expresoHeaderLive
		2.2s ease-out
		infinite;
}

.expreso-date {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #676971;
	white-space: nowrap;
}

.expreso-clock {
	padding-left: 8px;
	border-left: 1px solid #dedee2;
	color: #25262a;
	font-weight: 750;
}

.expreso-header-weather {
	display: inline-flex;
	align-items: center;
	gap: 5px;

	min-height: 28px;
	padding: 0 9px;

	border: 1px solid #ededee;
	border-radius: 7px;

	background: #f6f6f7;
	white-space: nowrap;
}

.expreso-weather-icon {
	font-size: 14px;
}

.expreso-weather-city {
	color: #74767d;
}

.expreso-header-weather strong {
	color: #17181c;
	font-size: 11px;
}

/* ============================================================
 * BRAND BAR
 * ============================================================ */

.expreso-brandbar {
	position: relative;
	width: 100%;
	overflow: hidden;

	background:
		linear-gradient(
			100deg,
			#08080a 0%,
			#0c0c0f 56%,
			#12080a 100%
		);
}

.expreso-brandbar::after {
	content: "";

	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;

	height: 1px;

	background:
		linear-gradient(
			90deg,
			transparent,
			rgba(227,6,19,.44),
			transparent
		);
}

.expreso-brandbar-inner {
	position: relative;

	display: grid;

	grid-template-columns:
		300px
		minmax(0,1fr)
		auto;

	align-items: center;
	gap: 28px;

	min-height: 132px;
}

/* ============================================================
 * LOGO
 * ============================================================ */

.expreso-brand {
	display: flex;
	align-items: center;
	justify-content: flex-start;

	width: 100%;
	min-width: 0;
}

.expreso-brand-logo {
	display: flex;
	align-items: center;
	justify-content: flex-start;

	width: 100%;

	text-decoration: none;
}

.expreso-logo-image {
	display: block;

	width: auto;

	height: 94px;
	max-width: 300px;

	object-fit: contain;
	object-position: left center;
}

.expreso-logo-fallback {
	display: inline-flex;
	align-items: center;

	min-height: 54px;
	padding: 0 16px;

	background: var(--ex-red);
	color: #fff;

	font-size: 27px;
	font-weight: 900;
	letter-spacing: .5px;
}

/* ============================================================
 * NEWSROOM
 * ============================================================ */

.expreso-newsroom-lite {
	position: relative;

	width: 100%;
	height: 88px;
	min-width: 0;

	overflow: hidden;

	border: 1px solid rgba(255,255,255,.055);
	border-radius: 14px;

	background:
		radial-gradient(
			circle at 82% 50%,
			rgba(227,6,19,.16),
			transparent 31%
		),
		linear-gradient(
			90deg,
			rgba(255,255,255,.015),
			rgba(227,6,19,.02)
		);
}

.expreso-newsroom-grid {
	position: absolute;
	inset: 0;

	opacity: .17;

	background-image:
		linear-gradient(
			rgba(255,255,255,.07) 1px,
			transparent 1px
		),
		linear-gradient(
			90deg,
			rgba(255,255,255,.07) 1px,
			transparent 1px
		);

	background-size: 24px 24px;

	pointer-events: none;
}

.expreso-newsroom-lines {
	position: absolute;

	left: 4%;
	top: 23%;

	width: 36%;
	height: 54%;
}

.expreso-newsroom-lines span {
	position: absolute;
	left: 0;

	height: 1px;

	background:
		linear-gradient(
			90deg,
			transparent,
			rgba(227,6,19,.7),
			transparent
		);
}

.expreso-newsroom-lines span:nth-child(1) {
	top: 0;
	width: 72%;
}

.expreso-newsroom-lines span:nth-child(2) {
	top: 50%;
	width: 95%;
}

.expreso-newsroom-lines span:nth-child(3) {
	bottom: 0;
	width: 58%;
}

.expreso-newsroom-copy {
	position: absolute;

	left: 37%;
	top: 50%;

	z-index: 2;

	transform: translateY(-50%);
}

.expreso-newsroom-hashtag {
	color: #fff;

	font-size:
		clamp(
			12px,
			1.15vw,
			16px
		);

	font-weight: 800;
	font-style: italic;

	white-space: nowrap;
}

.expreso-newsroom-hashtag strong {
	color: var(--ex-red);
}

.expreso-newsroom-group {
	display: flex;
	align-items: center;
	gap: 6px;

	margin-top: 7px;

	color: #85878d;

	font-size: 7px;
	font-weight: 800;
	letter-spacing: 1.5px;
}

.expreso-newsroom-led {
	width: 5px;
	height: 5px;

	border-radius: 50%;

	background: var(--ex-red);

	box-shadow:
		0 0 7px
		rgba(227,6,19,.75);
}

/* ============================================================
 * GLOBO TECNOLÓGICO
 * ============================================================ */

.expreso-newsroom-orbit {
	position: absolute;

	right: 6%;
	top: 50%;

	width: 68px;
	height: 68px;

	transform: translateY(-50%);

	border: 1px solid rgba(227,6,19,.36);
	border-radius: 50%;

	background:
		radial-gradient(
			circle,
			rgba(227,6,19,.10) 0%,
			rgba(227,6,19,.025) 55%,
			transparent 72%
		);

	box-shadow:
		inset 0 0 20px rgba(227,6,19,.10),
		0 0 18px rgba(227,6,19,.035);
}

.expreso-newsroom-orbit::before {
	content: "";

	position: absolute;
	inset: 6px;

	border: 1px dashed rgba(227,6,19,.26);
	border-radius: 50%;

	animation:
		expresoOrbitSpin
		18s linear
		infinite;
}

.expreso-tech-globe {
	position: absolute;
	inset: 8px;

	display: grid;
	place-items: center;
}

.expreso-tech-globe svg {
	display: block;

	width: 100%;
	height: 100%;

	overflow: visible;
}

.expreso-globe-ring,
.expreso-globe-grid {
	fill: none;

	stroke: rgba(227,6,19,.78);

	stroke-width: 1;
	vector-effect: non-scaling-stroke;
}

.expreso-globe-ring {
	stroke-width: 1.2;
}

.expreso-globe-grid {
	stroke: rgba(227,6,19,.44);
}

.expreso-globe-equator {
	stroke: rgba(227,6,19,.82);
}

.expreso-globe-grid-a {
	animation:
		expresoGlobePulse
		3.8s ease-in-out
		infinite;
}

.expreso-globe-grid-b {
	animation:
		expresoGlobePulse
		3.8s ease-in-out
		1.4s
		infinite;
}

.expreso-globe-node {
	fill: var(--ex-red);

	filter:
		drop-shadow(
			0 0 3px
			rgba(227,6,19,.8)
		);
}

.expreso-globe-node-a {
	animation:
		expresoNodePulse
		2.8s ease-in-out
		infinite;
}

.expreso-globe-node-b {
	animation:
		expresoNodePulse
		2.8s ease-in-out
		1.2s
		infinite;
}

/* ============================================================
 * REDES
 * ============================================================ */

.expreso-header-socials {
	display: flex;
	align-items: center;
	gap: 7px;

	flex: 0 0 auto;
}

.expreso-header-socials a {
	display: grid;
	place-items: center;

	width: 34px;
	height: 34px;

	border: 1px solid rgba(255,255,255,.10);
	border-radius: 9px;

	background: rgba(255,255,255,.035);

	color: #fff;
	text-decoration: none;

	transition:
		background .2s ease,
		border-color .2s ease,
		transform .2s ease;
}

.expreso-header-socials svg {
	width: 15px;
	height: 15px;
	fill: currentColor;
}

/* ============================================================
 * NAVEGACIÓN
 * ============================================================ */

.expreso-nav-shell {
	position: sticky;

	top: 0;

	z-index: 1000;

	width: 100%;

	background: rgba(12,12,15,.985);

	border-bottom:
		2px solid
		var(--ex-red);

	box-shadow:
		0 6px 20px
		rgba(0,0,0,.08);

	backdrop-filter: blur(9px);
	-webkit-backdrop-filter: blur(9px);
}

.expreso-nav-inner {
	display: flex;
	align-items: center;

	gap: 18px;

	min-height: 52px;
}

.expreso-primary-navigation {
	flex: 1 1 auto;
	min-width: 0;
}

.expreso-primary-menu {
	display: flex;
	align-items: stretch;
	flex-wrap: nowrap;

	gap: 2px;

	list-style: none;

	margin: 0;
	padding: 0;
}

.expreso-primary-menu > li {
	position: relative;

	flex: 0 0 auto;

	margin: 0;
	padding: 0;
}

.expreso-primary-menu > li > a {
	position: relative;

	display: flex;
	align-items: center;
	justify-content: center;

	min-height: 50px;

	padding: 0 15px;

	color: #d7d8dc;

	text-decoration: none;

	font-family:
		"Segoe UI",
		Roboto,
		Helvetica,
		Arial,
		sans-serif;

	font-size: 13px;
	font-weight: 680;

	line-height: 1;

	letter-spacing: .01em;

	white-space: nowrap;

	font-feature-settings:
		"kern" 1,
		"liga" 1;

	transition:
		color .20s ease,
		background .20s ease;
}

.expreso-primary-menu > li > a::after {
	content: "";

	position: absolute;

	left: 50%;
	bottom: 6px;

	width: 0;
	height: 2px;

	border-radius: 999px;

	background: var(--ex-red);

	transform: translateX(-50%);

	transition:
		width .22s ease;
}

.expreso-primary-menu > li.current-menu-item > a,
.expreso-primary-menu > li.current-menu-ancestor > a {
	color: #fff;
	font-weight: 750;
}

.expreso-primary-menu > li.current-menu-item > a::after,
.expreso-primary-menu > li.current-menu-ancestor > a::after {
	width: calc(100% - 30px);
}

/* ============================================================
 * SUBMENÚ
 * ============================================================ */

.expreso-primary-menu .sub-menu {
	position: absolute;

	top: 100%;
	left: 0;

	min-width: 210px;

	margin: 0;
	padding: 7px;

	list-style: none;

	border: 1px solid rgba(255,255,255,.08);
	border-top: 2px solid var(--ex-red);

	border-radius: 0 0 10px 10px;

	background: #101014;

	box-shadow:
		0 16px 35px
		rgba(0,0,0,.30);

	opacity: 0;
	visibility: hidden;

	transform: translateY(6px);

	transition:
		opacity .18s ease,
		transform .18s ease,
		visibility .18s ease;
}

.expreso-primary-menu li:hover > .sub-menu,
.expreso-primary-menu li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.expreso-primary-menu .sub-menu a {
	display: block;

	padding: 10px 11px;

	border-radius: 6px;

	color: #d7d8db;

	text-decoration: none;

	font-size: 11px;
	font-weight: 650;
}

/* ============================================================
 * CENTRO METEOROLÓGICO
 * ============================================================ */

.expreso-nav-actions {
	display: flex;
	align-items: center;
	gap: 8px;

	flex: 0 0 auto;

	margin-left: auto;
}

.expreso-weather-center-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	gap: 8px;

	flex: 0 0 auto;

	min-width: 205px;
	min-height: 34px;

	padding: 0 16px;

	border: 1px solid rgba(227,6,19,.42);
	border-radius: 8px;

	background:
		linear-gradient(
			90deg,
			rgba(227,6,19,.10),
			rgba(255,255,255,.025)
		);

	color: #fff;

	text-decoration: none;

	font-size: 10px;
	font-weight: 800;

	letter-spacing: .35px;

	white-space: nowrap;

	transition:
		color .20s ease,
		border-color .20s ease,
		background .20s ease,
		transform .20s ease;
}

.expreso-weather-center-icon {
	font-size: 15px;
	line-height: 1;
}

.expreso-weather-center-text {
	line-height: 1;
	white-space: nowrap;
}

/* ============================================================
 * MENÚ MÓVIL
 * ============================================================ */

.expreso-menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;

	gap: 4px;

	min-height: 36px;

	margin: 0;
	padding: 0 11px;

	border: 1px solid rgba(227,6,19,.50);
	border-radius: 8px;

	background: #151519;

	color: #fff;

	cursor: pointer;
}

.expreso-menu-toggle > span {
	display: block;

	width: 3px;
	height: 3px;

	border-radius: 50%;

	background: var(--ex-red);
}

.expreso-menu-toggle strong {
	margin-left: 4px;

	font-size: 8px;
	font-weight: 850;
	letter-spacing: .5px;
}

/* ============================================================
 * HOVER CABECERA
 * ============================================================ */

@media (hover:hover) and (pointer:fine) {

	.expreso-ticker-item:hover {
		color: var(--ex-red);
	}

	.expreso-header-socials a:hover {
		transform: translateY(-1px);
		border-color: rgba(227,6,19,.60);
		background: var(--ex-red);
	}

	.expreso-primary-menu > li > a:hover {
		color: #fff;
		background: rgba(255,255,255,.022);
	}

	.expreso-primary-menu > li > a:hover::after {
		width: calc(100% - 30px);
	}

	.expreso-primary-menu .sub-menu a:hover {
		color: #fff;
		background: var(--ex-red);
	}

	.expreso-weather-center-link:hover {
		transform: translateY(-1px);
		border-color: var(--ex-red);

		background:
			linear-gradient(
				90deg,
				rgba(227,6,19,.20),
				rgba(227,6,19,.07)
			);
	}
}

/* ============================================================
 * ESTRUCTURA BASE
 * ============================================================ */

.site-header {
	padding-block: 1.5rem;
	border-bottom: 1px solid var(--expreso-border);
}

.site-branding {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
}

.site-branding > * {
	min-width: 0;
}

.custom-logo-link {
	display: inline-block;
}

.custom-logo {
	display: block;
	width: auto;
	max-width: min(240px,100%);
	max-height: 80px;
	object-fit: contain;
}

.site-title {
	margin: 0;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.3;
}

.site-title a {
	color: inherit;
	text-decoration: none;
}

.site-description {
	margin: .35rem 0 0;
	color: var(--expreso-muted);
}

.primary-navigation {
	margin-top: 1rem;
}

.primary-menu,
.primary-menu .sub-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.primary-menu {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: .25rem 1.5rem;
}

.primary-menu > li {
	min-width: 0;
}

.primary-menu a {
	display: inline-block;
	min-height: 44px;
	padding-block: .55rem;
}

.primary-menu .sub-menu {
	padding-inline-start: 1rem;
	border-inline-start: 1px solid var(--expreso-border);
}

.primary-menu .current-menu-item > a {
	font-weight: 700;
}

/* ============================================================
 * CONTENIDO BASE
 * ============================================================ */

.site-main {
	min-height: 50vh;
	padding-block: 2rem 3rem;
}

.page-header {
	margin-bottom: 2rem;
}

.entry {
	min-width: 0;
	margin-bottom: 2.5rem;
}

.entry-summary {
	padding-bottom: 2rem;
	border-bottom: 1px solid var(--expreso-border);
}

.entry-title {
	margin-bottom: .65rem;
}

.entry-title a {
	color: inherit;
	text-decoration: none;
}

.entry-title a:hover {
	text-decoration: underline;
}

.entry-meta {
	margin-bottom: 1rem;
	color: var(--expreso-muted);
	font-size: .9rem;
}

.entry-image {
	margin-bottom: 1.5rem;
}

.entry-image img {
	display: block;
	height: auto;
}

.entry-content::after {
	display: table;
	clear: both;
	content: "";
}

.entry-content > :last-child,
.entry-excerpt > :last-child {
	margin-bottom: 0;
}

.entry-content h2,
.entry-content h3,
.entry-content h4 {
	margin-top: 2rem;
}

.entry-footer {
	margin-top: 1.5rem;
}

.entry-footer p {
	margin-bottom: .5rem;
}

.read-more {
	margin: 1rem 0 0;
}

.aligncenter {
	margin-inline: auto;
}

.aligncenter,
.alignleft,
.alignright {
	display: block;
}

.alignleft {
	float: left;
	margin: .5rem 1.5rem 1rem 0;
}

.alignright {
	float: right;
	margin: .5rem 0 1rem 1.5rem;
}

.wp-caption {
	max-width: 100%;
}

.gallery {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.gallery-item {
	flex: 1 1 160px;
	min-width: 0;
	margin: 0;
}

/* ============================================================
 * CATEGORÍAS NATIVAS V1
 * ============================================================ */

.expreso-category-page {
	width: 100%;
	min-height: 60vh;
	padding: 30px 0 58px;
	background: #fff;
}

.expreso-category-container {
	width: 100%;
	max-width: 1152px;
	margin-inline: auto;
	min-width: 0;
}

/* ============================================================
 * ENCABEZADO DE CATEGORÍA
 * ============================================================ */

.expreso-category-header {
	display: grid;
	grid-template-columns: auto minmax(0,1fr);
	align-items: end;
	gap: 34px;

	margin-bottom: 28px;
	padding-bottom: 20px;

	border-bottom: 1px solid #e5e5e7;
}

.expreso-category-heading {
	display: flex;
	align-items: stretch;
	gap: 13px;
	min-width: 0;
}

.expreso-category-accent {
	display: block;
	width: 4px;
	min-height: 58px;
	border-radius: 999px;
	background: var(--ex-red);
}

.expreso-category-kicker {
	display: block;
	margin-bottom: 3px;

	color: var(--ex-red);

	font-size: 9px;
	font-weight: 850;
	line-height: 1;
	letter-spacing: 1.25px;
}

.expreso-category-title {
	margin: 0;

	color: #111216;

	font-family:
		"Segoe UI",
		Roboto,
		Helvetica,
		Arial,
		sans-serif;

	font-size: clamp(29px,3vw,40px);
	font-weight: 800;
	line-height: .98;
	letter-spacing: -.8px;
}

.expreso-category-description {
	justify-self: end;

	max-width: 650px;

	color: #666970;

	font-size: 12.5px;
	line-height: 1.55;
}

.expreso-category-description p {
	margin: 0;
}

/* ============================================================
 * LAYOUT DE CATEGORÍA
 * ============================================================ */

.expreso-category-layout {
	display: grid;

	grid-template-columns:
		minmax(0,1fr)
		310px;

	align-items: start;
	gap: 32px;

	min-width: 0;
}

.expreso-category-news {
	min-width: 0;
}

/* ============================================================
 * NOTICIA PRINCIPAL
 * ============================================================ */

.expreso-category-featured {
	display: grid;

	grid-template-columns:
		minmax(0,1.2fr)
		minmax(270px,.8fr);

	min-width: 0;

	margin: 0 0 28px;

	overflow: hidden;

	border: 1px solid #e3e4e7;
	border-radius: 12px;

	background: #fff;

	box-shadow:
		0 8px 30px
		rgba(17,18,22,.045);
}

.expreso-category-featured-image {
	position: relative;

	display: block;
	min-width: 0;

	overflow: hidden;

	aspect-ratio: 16 / 9;

	background: #eceef1;

	text-decoration: none;
}

.expreso-category-featured-image img {
	display: block;

	width: 100%;
	height: 100%;

	margin: 0;

	object-fit: cover;

	transition:
		transform .35s ease;
}

.expreso-category-image-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 100%;
	background:
		linear-gradient(
			135deg,
			#eceef1,
			#f7f7f8
		);
}

.expreso-category-featured-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;

	min-width: 0;

	padding: 24px 24px 22px;
}

.expreso-category-post-label {
	display: inline-flex;
	align-items: center;

	min-height: 20px;
	margin-bottom: 11px;
	padding: 0 7px;

	border-radius: 4px;

	background: var(--ex-red);

	color: #fff;

	font-size: 8px;
	font-weight: 850;
	line-height: 1;
	letter-spacing: .5px;

	text-transform: uppercase;
}

.expreso-category-featured-title {
	margin: 0 0 12px;

	font-size: clamp(21px,2.1vw,29px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -.55px;
}

.expreso-category-featured-title a {
	color: #15161a;
	text-decoration: none;
}

.expreso-category-post-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;

	gap: 7px;

	margin-bottom: 13px;

	color: #898b91;

	font-size: 9px;
	font-weight: 550;
	line-height: 1.35;
}

.expreso-category-meta-dot {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--ex-red);
}

.expreso-category-featured-excerpt {
	margin-bottom: 19px;

	color: #5b5e64;

	font-size: 12px;
	line-height: 1.55;
}

.expreso-category-read-link {
	display: inline-flex;
	align-items: center;
	gap: 9px;

	margin-top: auto;

	color: #17181c;

	text-decoration: none;

	font-size: 9px;
	font-weight: 850;
	line-height: 1;
	letter-spacing: .55px;

	transition:
		color .2s ease,
		gap .2s ease;
}

.expreso-category-read-link span {
	color: var(--ex-red);
	font-size: 13px;
}

/* ============================================================
 * RETÍCULA DE NOTICIAS
 * ============================================================ */

.expreso-category-grid {
	display: grid;

	grid-template-columns:
		repeat(2,minmax(0,1fr));

	gap: 24px 20px;

	min-width: 0;
}

.expreso-category-card {
	min-width: 0;
	margin: 0;
	padding-bottom: 20px;

	border-bottom: 1px solid #e4e5e7;
}

.expreso-category-card-image {
	position: relative;

	display: block;

	width: 100%;
	overflow: hidden;

	aspect-ratio: 16 / 9;

	margin-bottom: 13px;

	border-radius: 8px;

	background: #eceef1;

	text-decoration: none;
}

.expreso-category-card-image img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;

	transition:
		transform .32s ease;
}

.expreso-category-card-content {
	min-width: 0;
}

.expreso-category-card .expreso-category-post-label {
	margin-bottom: 8px;

	min-height: 18px;

	padding: 0 6px;

	font-size: 7px;
}

.expreso-category-card-title {
	margin: 0 0 8px;

	font-size: 16.5px;
	font-weight: 780;
	line-height: 1.18;
	letter-spacing: -.25px;
}

.expreso-category-card-title a {
	color: #17181c;
	text-decoration: none;
}

.expreso-category-card .expreso-category-post-meta {
	margin-bottom: 8px;
	font-size: 8.5px;
}

.expreso-category-card-excerpt {
	color: #666970;

	font-size: 10.5px;
	line-height: 1.5;
}

/* ============================================================
 * SIDEBAR DE CATEGORÍA
 * ============================================================ */

.expreso-category-sidebar {
	position: sticky;
	top: 72px;

	display: grid;
	gap: 18px;

	min-width: 0;
}

.expreso-category-sidebox {
	overflow: hidden;

	border: 1px solid #e2e3e6;
	border-radius: 10px;

	background: #fff;
}

.expreso-category-sidebox-header {
	display: flex;
	align-items: center;
	gap: 9px;

	min-height: 47px;
	padding: 0 15px;

	border-bottom: 1px solid #e8e8ea;
}

.expreso-category-sidebox-dot {
	width: 7px;
	height: 7px;

	border-radius: 50%;

	background: var(--ex-red);

	box-shadow:
		0 0 0 4px
		rgba(227,6,19,.07);
}

.expreso-category-sidebox-header h2 {
	margin: 0;

	color: #15161a;

	font-size: 14px;
	font-weight: 800;
	line-height: 1;
}

/* ============================================================
 * ÚLTIMAS NOTICIAS SIDEBAR
 * ============================================================ */

.expreso-category-latest-list {
	padding: 5px 14px;
}

.expreso-category-latest-item {
	display: grid;

	grid-template-columns:
		84px
		minmax(0,1fr);

	align-items: center;
	gap: 11px;

	min-width: 0;

	margin: 0;
	padding: 11px 0;

	border-bottom: 1px solid #ededee;
}

.expreso-category-latest-item:last-child {
	border-bottom: 0;
}

.expreso-category-latest-image {
	display: block;

	width: 84px;

	overflow: hidden;

	aspect-ratio: 16 / 9;

	border-radius: 5px;

	background: #eceef1;
}

.expreso-category-latest-image img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
}

.expreso-category-latest-item > div {
	min-width: 0;
}

.expreso-category-latest-item h3 {
	margin: 0 0 5px;

	font-size: 10.5px;
	font-weight: 760;
	line-height: 1.22;
}

.expreso-category-latest-item h3 a {
	color: #202126;
	text-decoration: none;
}

.expreso-category-latest-item > div > span {
	display: block;

	color: #92949a;

	font-size: 7.5px;
	line-height: 1.2;
}

/* ============================================================
 * CENTRO METEOROLÓGICO SIDEBAR
 * ============================================================ */

.expreso-category-weather-box {
	position: relative;

	overflow: hidden;

	padding: 20px;

	border: 1px solid rgba(227,6,19,.24);
	border-radius: 11px;

	background:
		radial-gradient(
			circle at 90% 20%,
			rgba(227,6,19,.18),
			transparent 35%
		),
		linear-gradient(
			135deg,
			#0b0b0e,
			#171116
		);

	color: #fff;
}

.expreso-category-weather-box::after {
	content: "";

	position: absolute;

	right: -18px;
	top: -18px;

	width: 88px;
	height: 88px;

	border: 1px solid rgba(227,6,19,.28);
	border-radius: 50%;

	box-shadow:
		inset 0 0 20px
		rgba(227,6,19,.08);

	pointer-events: none;
}

.expreso-category-weather-kicker {
	display: block;

	margin-bottom: 7px;

	color: var(--ex-red);

	font-size: 7px;
	font-weight: 850;
	line-height: 1;
	letter-spacing: 1px;
}

.expreso-category-weather-box h2 {
	max-width: 220px;

	margin: 0 0 8px;

	color: #fff;

	font-size: 19px;
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -.35px;
}

.expreso-category-weather-box p {
	max-width: 235px;

	margin: 0 0 15px;

	color: #b8bac0;

	font-size: 9.5px;
	line-height: 1.45;
}

.expreso-category-weather-box a {
	display: inline-flex;
	align-items: center;
	gap: 8px;

	color: #fff;

	text-decoration: none;

	font-size: 8px;
	font-weight: 850;
	letter-spacing: .45px;
}

.expreso-category-weather-box a span {
	color: var(--ex-red);
}

/* ============================================================
 * LISTA DE SECCIONES
 * ============================================================ */

.expreso-category-section-list {
	display: block;
	padding: 7px 14px;
}

.expreso-category-section-list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;

	min-height: 39px;

	padding: 0 4px;

	border-bottom: 1px solid #ededee;

	color: #303136;

	text-decoration: none;

	font-size: 10.5px;
	font-weight: 670;

	transition:
		color .18s ease,
		padding-left .18s ease;
}

.expreso-category-section-list a:last-child {
	border-bottom: 0;
}

.expreso-category-section-list a[aria-current="page"] {
	color: var(--ex-red);
	font-weight: 800;
}

.expreso-category-section-list small {
	display: grid;
	place-items: center;

	min-width: 23px;
	height: 20px;

	padding: 0 5px;

	border-radius: 999px;

	background: #f4f4f5;

	color: #8b8d92;

	font-size: 7px;
	font-weight: 750;
}

/* ============================================================
 * PAGINACIÓN DE CATEGORÍA
 * ============================================================ */

.expreso-category-pagination {
	margin-top: 34px;
	padding-top: 22px;

	border-top: 1px solid #e4e5e7;
}

.expreso-category-pagination .navigation {
	margin: 0;
}

.expreso-category-pagination .nav-links {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: wrap;

	gap: 7px;
}

.expreso-category-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 38px;
	min-height: 36px;

	padding: 0 11px;

	border: 1px solid #dedfe2;
	border-radius: 7px;

	background: #fff;

	color: #25262a;

	text-decoration: none;

	font-size: 9px;
	font-weight: 750;

	transition:
		color .18s ease,
		background .18s ease,
		border-color .18s ease;
}

.expreso-category-pagination .page-numbers.current {
	border-color: var(--ex-red);
	background: var(--ex-red);
	color: #fff;
}

.expreso-category-empty {
	padding: 38px;

	border: 1px solid #e4e5e7;
	border-radius: 10px;

	background: #fafafa;

	text-align: center;
}

.expreso-category-empty h2 {
	margin-bottom: 8px;
	font-size: 22px;
}

.expreso-category-empty p {
	margin: 0;

	color: #707279;

	font-size: 12px;
}

/* ============================================================
 * HOVER CATEGORÍAS
 * ============================================================ */

@media (hover:hover) and (pointer:fine) {

	.expreso-category-featured:hover
	.expreso-category-featured-image img {
		transform: scale(1.022);
	}

	.expreso-category-card:hover
	.expreso-category-card-image img {
		transform: scale(1.025);
	}

	.expreso-category-featured-title a:hover,
	.expreso-category-card-title a:hover,
	.expreso-category-latest-item h3 a:hover {
		color: var(--ex-red);
	}

	.expreso-category-read-link:hover {
		color: var(--ex-red);
		gap: 12px;
	}

	.expreso-category-section-list a:hover {
		color: var(--ex-red);
		padding-left: 8px;
	}

	.expreso-category-weather-box a:hover {
		color: #fff;
	}

	.expreso-category-pagination .page-numbers:not(.current):hover {
		border-color: var(--ex-red);
		color: var(--ex-red);
	}
}

/* ============================================================
 * NAVEGACIÓN DE CONTENIDO BASE
 * ============================================================ */

.navigation,
.page-links {
	margin-block: 2rem;
}

.nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 1rem;
}

.nav-links > * {
	min-width: 0;
}

.page-numbers {
	display: inline-block;
	min-width: 44px;
	padding: .5rem;
	text-align: center;
}

.page-numbers.current {
	background: var(--expreso-surface);
	font-weight: 700;
}

.page-links a {
	display: inline-block;
	padding: .5rem;
}

/* ============================================================
 * FORMULARIOS
 * ============================================================ */

.search-form {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	gap: .75rem;
}

.search-form label {
	flex: 1 1 240px;
}

.search-field {
	width: 100%;
}

.search-label {
	display: block;
	margin-bottom: .35rem;
}

/* ============================================================
 * COMENTARIOS
 * ============================================================ */

.comments-area {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid var(--expreso-border);
}

.comment-list,
.comment-list .children {
	list-style: none;
	padding-inline-start: 0;
}

.comment-list .children {
	margin-inline-start: 1rem;
	padding-inline-start: 1rem;
	border-inline-start: 1px solid var(--expreso-border);
}

.comment-body {
	margin-bottom: 2rem;
}

.comment-meta {
	margin-bottom: 1rem;
}

.comment-metadata {
	font-size: .9rem;
}

.bypostauthor > .comment-body {
	padding-inline-start: 1rem;
	border-inline-start: 3px solid var(--expreso-border);
}

.comment-form label {
	display: block;
}

.comment-form-cookies-consent label {
	display: inline;
}

/* ============================================================
 * FOOTER
 * ============================================================ */

.site-footer {
	padding-block: 1.5rem;

	border-top: 1px solid var(--expreso-border);

	color: var(--expreso-muted);

	font-size: .9rem;
}

.site-footer p {
	margin: 0;
}

.privacy-policy-link {
	display: inline-block;
	margin-top: .5rem;
}

/* ============================================================
 * ACCESIBILIDAD
 * ============================================================ */

.screen-reader-text {
	position: absolute;

	width: 1px;
	height: 1px;

	padding: 0;
	margin: -1px;

	overflow: hidden;

	clip-path: inset(50%);

	white-space: nowrap;

	border: 0;
}

.skip-link:focus {
	z-index: 100000;

	top: .5rem;
	left: .5rem;

	width: auto;
	height: auto;

	margin: 0;
	padding: .75rem 1rem;

	overflow: visible;

	clip-path: none;

	white-space: normal;

	background: #fff;
	color: var(--expreso-link);

	outline: 3px solid var(--expreso-link);
}

/* ============================================================
 * TABLET CABECERA
 * ============================================================ */

@media (max-width:1100px) {

	.expreso-header-container {
		padding-left: 16px;
		padding-right: 16px;
	}

	.expreso-brandbar-inner {
		grid-template-columns:
			235px
			minmax(0,1fr);

		gap: 24px;
	}

	.expreso-logo-image {
		height: 76px;
		max-width: 235px;
	}

	.expreso-header-socials {
		display: none;
	}

	.expreso-primary-menu {
		gap: 0;
	}

	.expreso-primary-menu > li > a {
		padding: 0 10px;
		font-size: 11.5px;
	}

	.expreso-primary-menu > li > a::after {
		bottom: 6px;
	}

	.expreso-primary-menu > li.current-menu-item > a::after,
	.expreso-primary-menu > li.current-menu-ancestor > a::after,
	.expreso-primary-menu > li > a:hover::after {
		width: calc(100% - 20px);
	}

	.expreso-weather-center-link {
		min-width: 165px;
		padding: 0 11px;
		font-size: 9px;
	}
}

/* ============================================================
 * TABLET CATEGORÍAS
 * ============================================================ */

@media (max-width:1184px) {

	.expreso-category-container {
		padding-left: 16px;
		padding-right: 16px;
	}
}

@media (max-width:980px) {

	.expreso-category-layout {
		grid-template-columns:
			minmax(0,1fr)
			270px;

		gap: 24px;
	}

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

	.expreso-category-featured-content {
		padding: 20px;
	}

	.expreso-category-sidebar {
		top: 68px;
	}

	.expreso-category-latest-item {
		grid-template-columns:
			72px
			minmax(0,1fr);
	}

	.expreso-category-latest-image {
		width: 72px;
	}
}

@media (max-width:820px) {

	.expreso-category-header {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.expreso-category-description {
		justify-self: start;
		max-width: 760px;
	}

	.expreso-category-layout {
		grid-template-columns: 1fr;
	}

	.expreso-category-sidebar {
		position: static;

		grid-template-columns:
			repeat(2,minmax(0,1fr));

		align-items: start;
	}

	.expreso-category-weather-box {
		min-height: 100%;
	}
}

/* ============================================================
 * MÓVIL
 * ============================================================ */

@media (max-width:768px) {

	.expreso-topbar-inner {
		display: block;

		min-height: 38px;

		padding-top: 4px;
		padding-bottom: 4px;
	}

	.expreso-breaking {
		min-height: 30px;
	}

	.expreso-breaking-label {
		height: 26px;
		padding: 0 9px;
		font-size: 8px;
	}

	.expreso-topbar-meta {
		display: none;
	}

	.expreso-ticker-item {
		font-size: 10px;
	}

	.expreso-brandbar-inner {
		display: flex;
		align-items: center;
		justify-content: flex-start;

		min-height: 78px;
	}

	.expreso-brand {
		width: auto;
	}

	.expreso-logo-image {
		width: auto;
		height: 51px;
		max-width: 195px;
	}

	.expreso-newsroom-lite {
		display: none;
	}

	.expreso-header-socials {
		display: none;
	}

	.expreso-nav-inner {
		position: relative;
		min-height: 48px;
	}

	.expreso-menu-toggle {
		display: inline-flex;
	}

	.expreso-weather-center-link {
		min-width: 0;
		min-height: 34px;
		padding: 0 10px;
	}

	.expreso-primary-navigation {
		position: absolute;

		left: 0;
		right: 0;
		top: 100%;

		display: none;

		max-height: calc(100vh - 48px);

		overflow-y: auto;

		background: #0e0e12;

		border-top:
			1px solid
			rgba(255,255,255,.08);

		border-bottom:
			2px solid
			var(--ex-red);

		box-shadow:
			0 20px 40px
			rgba(0,0,0,.30);
	}

	.expreso-primary-navigation.is-open {
		display: block;
	}

	.expreso-primary-menu {
		display: block;

		width: 100%;
		max-width: 520px;

		margin: 0 auto;

		padding: 10px 14px 14px;
	}

	.expreso-primary-menu > li {
		width: 100%;
	}

	.expreso-primary-menu > li > a {
		justify-content: flex-start;

		min-height: 44px;

		padding: 0 12px;

		border-bottom:
			1px solid
			rgba(255,255,255,.055);

		font-size: 12.5px;
	}

	.expreso-primary-menu > li > a::after {
		left: 12px;
		bottom: 7px;
		transform: none;
	}

	.expreso-primary-menu > li.current-menu-item > a::after,
	.expreso-primary-menu > li.current-menu-ancestor > a::after {
		width: 30px;
	}

	.expreso-primary-menu .sub-menu {
		position: static;

		display: block;

		width: 100%;
		min-width: 0;

		margin: 0;

		padding: 0 0 7px 12px;

		border: 0;
		border-radius: 0;

		background: transparent;

		box-shadow: none;

		opacity: 1;
		visibility: visible;

		transform: none;
	}

	.expreso-primary-menu .sub-menu a {
		padding: 8px 10px;
		font-size: 10px;
	}

	.site-header {
		padding-block: 1rem;
	}

	.site-main {
		padding-top: 1.5rem;
	}

	.primary-menu {
		flex-direction: column;
		gap: 0;
	}

	.alignleft,
	.alignright {
		float: none;
		margin: 1rem 0;
	}

	.comment-list .children {
		margin-inline-start: 0;
		padding-inline-start: .75rem;
	}
}

/* ============================================================
 * MÓVIL CATEGORÍAS
 * ============================================================ */

@media (max-width:640px) {

	.expreso-category-page {
		padding-top: 22px;
		padding-bottom: 42px;
	}

	.expreso-category-container {
		padding-left: 12px;
		padding-right: 12px;
	}

	.expreso-category-header {
		margin-bottom: 20px;
		padding-bottom: 16px;
	}

	.expreso-category-accent {
		min-height: 50px;
	}

	.expreso-category-kicker {
		font-size: 8px;
	}

	.expreso-category-title {
		font-size: 30px;
	}

	.expreso-category-description {
		font-size: 11px;
	}

	.expreso-category-featured {
		margin-bottom: 22px;
		border-radius: 9px;
	}

	.expreso-category-featured-content {
		padding: 17px 16px 18px;
	}

	.expreso-category-featured-title {
		font-size: 22px;
	}

	.expreso-category-featured-excerpt {
		font-size: 11px;
	}

	.expreso-category-grid {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.expreso-category-card-title {
		font-size: 17px;
	}

	.expreso-category-card-excerpt {
		font-size: 11px;
	}

	.expreso-category-sidebar {
		grid-template-columns: 1fr;
	}

	.expreso-category-latest-item {
		grid-template-columns:
			92px
			minmax(0,1fr);
	}

	.expreso-category-latest-image {
		width: 92px;
	}

	.expreso-category-latest-item h3 {
		font-size: 11px;
	}

	.expreso-category-pagination .nav-links {
		justify-content: center;
	}
}

@media (max-width:430px) {

	.expreso-header-container {
		padding-left: 10px;
		padding-right: 10px;
	}

	.expreso-logo-image {
		height: 46px;
		max-width: 180px;
	}

	.expreso-breaking-label span:last-child {
		display: none;
	}

	.expreso-breaking-label {
		width: 27px;
		padding: 0;
	}

	.expreso-ticker-item {
		font-size: 9.5px;
	}

	.expreso-weather-center-link {
		min-width: 38px;
		width: 38px;
		padding: 0;
	}

	.expreso-weather-center-text {
		display: none;
	}

	.expreso-weather-center-icon {
		font-size: 16px;
	}
}

/* ============================================================
 * ANIMACIONES
 * ============================================================ */

@keyframes expresoHeaderLive {

	0% {
		box-shadow:
			0 0 0 0
			rgba(227,6,19,.45);
	}

	70% {
		box-shadow:
			0 0 0 6px
			rgba(227,6,19,0);
	}

	100% {
		box-shadow:
			0 0 0 0
			rgba(227,6,19,0);
	}
}

@keyframes expresoOrbitSpin {

	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

@keyframes expresoGlobePulse {

	0%,
	100% {
		opacity: .38;
	}

	50% {
		opacity: .82;
	}
}

@keyframes expresoNodePulse {

	0%,
	100% {
		opacity: .55;
		transform: scale(1);
	}

	50% {
		opacity: 1;
		transform: scale(1.35);
	}
}

/* ============================================================
 * REDUCIR MOVIMIENTO
 * ============================================================ */

@media (prefers-reduced-motion:reduce) {

	.expreso-site-header *,
	.expreso-site-header *::before,
	.expreso-site-header *::after,
	.expreso-category-page *,
	.expreso-category-page *::before,
	.expreso-category-page *::after {
		animation: none !important;
		transition: none !important;
		scroll-behavior: auto !important;
	}
}
/* ============================================================
 * EXPRESO YUCATÁN
 * ALINEACIÓN EDITORIAL DESKTOP V1
 * ============================================================
 *
 * SOLO ESCRITORIO >= 1101px
 *
 * OBJETIVO:
 * - Logo visual alineado con la retícula de 1152 px.
 * - HOME alineado con el logo y el Hero.
 * - Líneas tecnológicas más largas y con degradado.
 *
 * NO MODIFICA:
 * - Móvil.
 * - Tablet.
 * - Sticky.
 * - Alturas.
 * - Clima.
 * - Ticker.
 * - Redes.
 * - Centro Meteorológico.
 * ============================================================ */

@media (min-width: 1101px) {

	/* ========================================================
	 * 1. RETÍCULA MAESTRA DE ESCRITORIO
	 * ======================================================== */

	.expreso-brandbar .expreso-brandbar-inner,
	#expreso-nav-shell:not(.is-fixed) .expreso-nav-inner {
		width: 100%;
		max-width: 1152px;

		margin-left: auto;
		margin-right: auto;

		padding-left: 0;
		padding-right: 0;

		box-sizing: border-box;
	}


	/* ========================================================
	 * 2. LOGO PRINCIPAL
	 *
	 * La imagen del logo tiene espacio visual interno en su
	 * propio lienzo. Compensamos exclusivamente la presentación
	 * del logo, sin alterar la retícula ni utilizar márgenes
	 * negativos.
	 * ======================================================== */

	.expreso-brandbar .expreso-brand {
		overflow: visible;
	}


	.expreso-brandbar .expreso-brand-logo {
		overflow: visible;
	}


	.expreso-brandbar .expreso-logo-image {
		transform: translateX(-21px);
		transform-origin: left center;
	}


	/* ========================================================
	 * 3. HOME AL MISMO EJE DEL LOGO Y DEL HERO
	 *
	 * El desplazamiento actual proviene de:
	 * 18px del gap del nav
	 * +
	 * 15px del padding izquierdo de HOME
	 * ======================================================== */

	#expreso-nav-shell:not(.is-fixed)
	.expreso-nav-inner {
		gap: 0;
	}


	#expreso-nav-shell:not(.is-fixed)
	.expreso-primary-navigation {
		margin-left: 0;
		padding-left: 0;
	}


	#expreso-nav-shell:not(.is-fixed)
	.expreso-primary-menu {
		margin-left: 0;
		padding-left: 0;
	}


	#expreso-nav-shell:not(.is-fixed)
	.expreso-primary-menu > li:first-child {
		margin-left: 0;
		padding-left: 0;
	}


	#expreso-nav-shell:not(.is-fixed)
	.expreso-primary-menu > li:first-child > a {
		justify-content: flex-start;

		margin-left: 0;

		padding-left: 0;
		padding-right: 15px;
	}


	/*
	 * Mantiene correctamente centrada la línea roja de HOME
	 * después de eliminar su padding izquierdo.
	 */

	#expreso-nav-shell:not(.is-fixed)
	.expreso-primary-menu > li:first-child > a::after {
		left: 0;

		transform: none;
	}


	#expreso-nav-shell:not(.is-fixed)
	.expreso-primary-menu > li:first-child.current-menu-item > a::after,
	#expreso-nav-shell:not(.is-fixed)
	.expreso-primary-menu > li:first-child.current-menu-ancestor > a::after,
	#expreso-nav-shell:not(.is-fixed)
	.expreso-primary-menu > li:first-child > a:hover::after {
		width: calc(100% - 15px);
	}


	/* ========================================================
	 * 4. LÍNEAS TECNOLÓGICAS DEL NEWSROOM
	 *
	 * Más largas, más limpias y con desaparición progresiva
	 * en ambos extremos.
	 *
	 * La mayor especificidad permite corregir también las
	 * reglas de V1.5.8 que están dentro del header.php.
	 * ======================================================== */

	body
	.expreso-brandbar
	.expreso-newsroom-lite
	.expreso-newsroom-lines {
		position: absolute;

		display: block;

		left: 1.5%;
		top: 20%;

		width: 36%;
		height: 60%;

		min-width: 0;

		overflow: visible;

		pointer-events: none;
	}


	body
	.expreso-brandbar
	.expreso-newsroom-lite
	.expreso-newsroom-lines span {
		position: absolute;

		left: 0;

		display: block;

		height: 1px;

		border-radius: 999px;

		background:
			linear-gradient(
				90deg,
				rgba(227,6,19,0) 0%,
				rgba(227,6,19,.22) 8%,
				rgba(227,6,19,.58) 25%,
				rgba(227,6,19,.94) 50%,
				rgba(227,6,19,.58) 75%,
				rgba(227,6,19,.22) 92%,
				rgba(227,6,19,0) 100%
			);

		box-shadow:
			0 0 7px rgba(227,6,19,.16);

		transform: none;
	}


	body
	.expreso-brandbar
	.expreso-newsroom-lite
	.expreso-newsroom-lines span:nth-child(1) {
		top: 0;

		width: 88%;

		opacity: .72;
	}


	body
	.expreso-brandbar
	.expreso-newsroom-lite
	.expreso-newsroom-lines span:nth-child(2) {
		top: 50%;

		width: 100%;

		opacity: .95;
	}


	body
	.expreso-brandbar
	.expreso-newsroom-lite
	.expreso-newsroom-lines span:nth-child(3) {
		bottom: 0;

		width: 76%;

		opacity: .58;
	}
}