/*
Theme Name: IBBM
Theme URI: https://ibbm.biol.unlp.edu.ar/
Description: Tema hijo de bloques del Instituto de Biotecnología y Biología Molecular (CONICET–UNLP). Presentación compartida; el contenido traducido vive en páginas ES/EN/PT asociadas con Polylang. Requiere Twenty Twenty-Five.
Author: IBBM
Author URI: https://ibbm.biol.unlp.edu.ar/
Template: twentytwentyfive
Version: 1.0.309
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ibbm
Tags: full-site-editing, block-patterns, custom-colors, custom-menu, editor-style, translation-ready, accessibility-ready
*/

/* Sin recursos remotos. Paleta y tipografías base en theme.json. */


:root {
	--ibbm-kicker-font-family: var(--wp--preset--font-family--ibm-plex-sans, "IBM Plex Sans", Arial, sans-serif);
	--ibbm-kicker-font-size: 0.92rem;
	--ibbm-kicker-font-weight: 700;
	--ibbm-kicker-letter-spacing: 0.045em;
	--ibbm-kicker-line-height: 1.35;
}

/* Volantas editoriales: tipografía compartida (L1A). */
.ibbm-eyebrow,
.ibbm-kicker,
.ibbm-news-meta {
	font-family: var(--ibbm-kicker-font-family);
	font-size: var(--ibbm-kicker-font-size);
	font-weight: var(--ibbm-kicker-font-weight);
	letter-spacing: var(--ibbm-kicker-letter-spacing);
	line-height: var(--ibbm-kicker-line-height);
	text-transform: uppercase;
}

.ibbm-kicker,
.ibbm-news-meta {
	color: var(--wp--preset--color--oliva, #5d5c31);
}

.ibbm-page-kicker {
	margin: 0 0 0.55rem;
}

.wp-site-blocks {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.wp-site-blocks > main {
	flex: 1 0 auto;
	width: 100%;
}

.wp-site-blocks > footer {
	flex: 0 0 auto;
}

body {
	font-weight: 400;
}

p,
li,
td,
th,
dd,
dt,
address,
.wp-block-post-excerpt,
.wp-block-post-content {
	font-weight: 400;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.skip-link {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100000;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
	background: var(--wp--preset--color--oliva, #5d5c31);
	color: var(--wp--preset--color--marfil, #f8f5ef);
	font-family: var(--wp--preset--font-family--ibm-plex-sans, "IBM Plex Sans", sans-serif);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
}

.skip-link:focus,
.skip-link:focus-visible {
	display: inline-flex;
	align-items: center;
	box-sizing: border-box;
	width: auto !important;
	height: auto !important;
	min-width: 44px;
	min-height: 44px;
	margin: 0 !important;
	padding: 0.75rem 1.1rem;
	overflow: visible;
	clip: auto !important;
	clip-path: none !important;
	white-space: normal;
	position: fixed;
	top: 0.75rem;
	left: 0.75rem;
	background: var(--wp--preset--color--oliva, #5d5c31);
	color: var(--wp--preset--color--marfil, #f8f5ef);
	box-shadow: 0 0 0 0.18rem var(--wp--preset--color--marfil, #f8f5ef);
	outline: 0.2rem solid var(--wp--preset--color--foco, #c2410c);
	outline-offset: 0.18rem;
}

.screen-reader-text:focus,
.screen-reader-text:focus-visible {
	clip: auto !important;
	clip-path: none !important;
	height: auto;
	width: auto;
	margin: 0;
	padding: 0.75rem 1.1rem;
	overflow: visible;
	position: fixed;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 100000;
}

.ibbm-site-header {
	/*
	 * Contrato global de capas: toda la navegación —incluidos sus submenús—
	 * debe quedar siempre por encima de controles, tarjetas y contenido de
	 * página. No elevar componentes de main por encima de esta capa.
	 */
	position: relative;
	z-index: 100;
	isolation: isolate;
	overflow: visible;
	border-bottom: 1px solid var(--wp--preset--color--beige, #ccc5b7);
	background: var(--wp--preset--color--marfil, #f8f5ef);
}

.ibbm-header-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 1.5rem;
	/* Aire entre logomarca/herramientas y la línea del menú (1.0.200). */
	padding-bottom: 0.85rem;
}

.ibbm-wordmark {
	display: inline-flex;
	align-items: center;
	gap: 0.85rem;
	max-width: min(100%, 34rem);
	text-decoration: none;
	color: inherit;
	min-height: 44px;
}

.ibbm-wordmark:hover,
.ibbm-wordmark:focus {
	text-decoration: none;
}

.ibbm-wordmark__logo {
	display: block;
	width: min(100%, 22.5rem);
	height: auto;
}

.ibbm-wordmark--logo {
	align-items: stretch;
	flex-direction: column;
	gap: 0.35rem;
	width: min(100%, 22.5rem);
}

.ibbm-wordmark__logo-caption {
	border-top: 1px solid #002b55;
	color: #002b55;
	font-family: var(--wp--preset--font-family--ibm-plex-serif, "IBM Plex Serif", Georgia, serif);
	font-size: clamp(0.75rem, 1.35vw, 0.98rem);
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.2;
	padding-top: 0.32rem;
	text-align: justify;
	text-align-last: justify;
	width: 100%;
}

.ibbm-wordmark__initials {
	color: var(--wp--preset--color--oliva, #5d5c31);
	font-family: var(--wp--preset--font-family--ibm-plex-serif, "IBM Plex Serif", Georgia, serif);
	font-size: clamp(2.05rem, 4.8vw, 3.1rem);
	font-weight: 700;
	letter-spacing: -0.05em;
	line-height: 0.92;
}

.ibbm-wordmark__name {
	display: flex;
	flex-direction: column;
	padding-left: 0.85rem;
	border-left: 1px solid var(--wp--preset--color--beige, #ccc5b7);
	color: var(--wp--preset--color--tinta, #211f1b);
	font-family: var(--wp--preset--font-family--ibm-plex-sans, "IBM Plex Sans", sans-serif);
	font-size: clamp(1rem, 2.15vw, 1.35rem);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.02em;
}

.ibbm-wordmark__name-line {
	display: block;
}

.ibbm-header-tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.85rem 1.25rem;
	margin-left: auto;
}

.ibbm-members-mail {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	box-sizing: border-box;
	gap: 0.15rem;
	width: auto;
	min-height: 2.9rem;
	padding: 0.05rem 0.25rem;
	border: 1px solid #aeb697;
	border-radius: 999px;
	background: var(--wp--preset--color--marfil, #f8f5ef);
	box-shadow: 0 2px 6px rgb(33 31 27 / 9%);
	color: var(--wp--preset--color--oliva-profundo, #45451f);
	font-family: var(--wp--preset--font-family--ibm-plex-sans, "IBM Plex Sans", sans-serif);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	transition: border-color 180ms ease, box-shadow 180ms ease;
}
.ibbm-members-mail:hover,
.ibbm-members-mail:focus-visible {
	border-color: var(--wp--preset--color--oliva, #5d5c31);
	background: var(--wp--preset--color--marfil, #f8f5ef);
	box-shadow: 0 3px 10px rgb(33 31 27 / 16%);
	color: var(--wp--preset--color--oliva-profundo, #45451f);
	text-decoration: none;
}
.ibbm-members-mail:focus-visible {
	outline: 3px solid var(--wp--preset--color--foco, #c2410c);
	outline-offset: 3px;
}
.ibbm-members-mail__icon-wrap {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
}
.ibbm-members-mail__icon-wrap {
	width: 2.5rem;
	height: 2.5rem;
	background: var(--wp--preset--color--oliva-profundo, #45451f);
	color: var(--wp--preset--color--blanco, #fff);
}
.ibbm-members-mail__label {
	flex: 0 0 auto;
	padding-left: 0.15rem;
	border-left: 1px solid #c8ceb7;
	white-space: nowrap;
}
.ibbm-members-mail__icon { display: block; }

.ibbm-dependencies {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1rem;
}

.ibbm-dependency-link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

.ibbm-dependency-link img {
	display: block;
	height: auto;
	width: auto;
	max-height: 2.75rem;
	object-fit: contain;
}

/* Firma conjunta CONICET–UNLP–IBBM aprobada; compartida en ES/EN/PT (1.0.267). */
.ibbm-dependency-lockup {
	display: inline-flex;
	flex: 0 1 auto;
	align-items: center;
	width: 14rem;
	max-width: 100%;
}

.ibbm-dependency-lockup img {
	display: block;
	width: 100%;
	height: auto;
	background: transparent;
	mix-blend-mode: multiply;
	object-fit: contain;
}

.ibbm-dependency-link--conicet img {
	max-height: 2.35rem;
	max-width: 6.75rem;
}

.ibbm-dependency-link--unlp img {
	max-height: 2.75rem;
	max-width: 7.5rem;
}

/* Selector de idioma */
.ibbm-lang-placeholder {
	font-size: 0.85rem;
	color: var(--wp--preset--color--tinta-suave, #554e44);
}

.ibbm-runtime-slot:empty {
	display: none;
}

.ibbm-lang-switch {
	position: relative;
}

.ibbm-lang-switch__summary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	box-sizing: border-box;
	min-width: 5.35rem;
	height: 44px;
	padding: 0.35rem 0.7rem;
	border: 1px solid #d4cec2;
	border-radius: 0.75rem;
	background: var(--wp--preset--color--marfil, #f8f5ef);
	box-shadow: 0 1px 2px rgba(33, 31, 27, 0.05);
	cursor: pointer;
	list-style: none;
	font-family: var(--wp--preset--font-family--ibm-plex-sans, "IBM Plex Sans", sans-serif);
	font-weight: 600;
	font-size: 0.95rem;
	color: var(--wp--preset--color--tinta, #211f1b);
	transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.ibbm-lang-switch__summary::-webkit-details-marker {
	display: none;
}

.ibbm-lang-switch__globe {
	flex: 0 0 auto;
}

.ibbm-lang-switch__chevron {
	display: inline-block;
	color: var(--wp--preset--color--oliva, #5d5c31);
	transition: transform 180ms ease;
}

.ibbm-lang-switch[open] .ibbm-lang-switch__chevron {
	transform: rotate(180deg);
}

.ibbm-lang-switch__summary:hover,
.ibbm-lang-switch[open] .ibbm-lang-switch__summary {
	border-color: color-mix(in srgb, var(--wp--preset--color--oliva, #5d5c31) 38%, #d4cec2);
	background: #eff0e3;
}

.ibbm-lang-switch__menu {
	position: absolute;
	right: 0;
	z-index: 40;
	box-sizing: border-box;
	margin: 0.5rem 0 0;
	padding: 0.375rem;
	width: 10.75rem;
	min-width: 10.75rem;
	list-style: none;
	background: #fcfaf6;
	border: 1px solid #d4cec2;
	border-radius: 0.875rem;
	box-shadow: 0 10px 28px rgba(33, 31, 27, 0.12);
}

.ibbm-lang-switch__menu li {
	margin: 0;
}

.ibbm-lang-switch__menu a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	box-sizing: border-box;
	min-height: 44px;
	padding: 0.5rem 0.75rem;
	border-radius: 0.5rem;
	text-decoration: none;
	color: var(--wp--preset--color--tinta, #211f1b);
	font-family: var(--wp--preset--font-family--ibm-plex-sans, "IBM Plex Sans", sans-serif);
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.25;
	transition: background-color 160ms ease, color 160ms ease;
}

.ibbm-lang-switch__menu a:hover,
.ibbm-lang-switch__menu a:focus-visible {
	background: #eceede;
	color: var(--wp--preset--color--oliva-profundo, #45451f);
	text-decoration: none;
}

.ibbm-lang-switch__menu a[aria-current="page"] {
	background: #e1e4c8;
	color: var(--wp--preset--color--oliva-profundo, #45451f);
	font-weight: 700;
}

.ibbm-lang-switch__mark {
	color: var(--wp--preset--color--oliva, #5d5c31);
	font-weight: 700;
}

@media (max-width: 63.999rem) {
	.ibbm-lang-switch__menu {
		left: 0;
		right: auto;
	}

	.ibbm-dependency-lockup {
		width: 11rem;
	}
}

/* Navegación: móvil ≤1023, escritorio ≥1024 */
.ibbm-primary-nav-wrap {
	position: relative;
	z-index: 110;
	overflow: visible;
	border-top: 1px solid var(--wp--preset--color--beige, #ccc5b7);
}

@media (max-width: 375px) {
	.ibbm-site-header {
		padding-top: 0.5rem !important;
		padding-left: 0.75rem !important;
		padding-right: 0.75rem !important;
	}

	.ibbm-header-row {
		gap: 0.4rem 0.65rem;
	}

	.ibbm-wordmark {
		gap: 0.5rem;
		max-width: calc(100% - 0.25rem);
	}

	.ibbm-wordmark__initials {
		font-size: 1.7rem;
		line-height: 0.95;
	}

	.ibbm-wordmark__name {
		padding-left: 0.55rem;
		font-size: 0.78rem;
		line-height: 1.18;
	}

	.ibbm-header-tools {
		width: 100%;
		justify-content: space-between;
		gap: 0.35rem 0.55rem;
		margin-left: 0;
	}

	.ibbm-dependency-link--conicet img {
		max-height: 1.85rem;
		max-width: 5.4rem;
	}

	.ibbm-dependency-link--unlp img {
		max-height: 2.1rem;
		max-width: 5.8rem;
	}

	.ibbm-dependency-lockup {
		width: 8rem;
	}

	.ibbm-primary-nav-wrap {
		padding-top: 0.15rem !important;
		padding-bottom: 0.2rem !important;
	}

	.ibbm-nav-disclosure > summary {
		padding-top: 0.2rem;
		padding-bottom: 0.2rem;
	}
}

.ibbm-primary-nav--desktop {
	display: none;
}

.ibbm-primary-nav--mobile {
	display: block;
}

/* Cabecera trilingüe intermedia: conserva orden visual entre tablet y escritorio. */
@media (min-width: 48rem) and (max-width: 63.999rem) {
	.ibbm-header-tools:has(.ibbm-dependency-lockup) {
		display: grid;
		width: 28rem;
		grid-template-columns: 12rem 12rem;
		grid-template-rows: auto auto;
		justify-content: space-between;
		align-items: center;
		column-gap: 0;
		row-gap: 0.35rem;
	}

	.ibbm-header-tools:has(.ibbm-dependency-lockup) .ibbm-dependencies {
		grid-column: 1;
		grid-row: 1 / 3;
		justify-self: start;
	}

	.ibbm-header-tools:has(.ibbm-dependency-lockup) .ibbm-dependency-lockup {
		width: 12rem;
	}

	.ibbm-header-tools:has(.ibbm-dependency-lockup) .ibbm-members-mail {
		grid-column: 2;
		grid-row: 1;
		justify-self: center;
		white-space: nowrap;
	}

	.ibbm-header-tools:has(.ibbm-dependency-lockup) .ibbm-runtime-language-switcher {
		grid-column: 2;
		grid-row: 2;
		justify-self: center;
	}

}

@media (min-width: 1024px) {
	.ibbm-primary-nav--mobile {
		display: none;
	}

	.ibbm-primary-nav--desktop {
		display: block;
	}
}

.ibbm-nav-disclosure > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 44px;
	padding: 0.5rem 0;
	cursor: pointer;
	font-weight: 700;
	list-style: none;
}

.ibbm-nav-disclosure > summary::-webkit-details-marker {
	display: none;
}

.ibbm-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ibbm-menu a {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 0.35rem 0;
	font-weight: 600;
	text-decoration: none;
	color: var(--wp--preset--color--tinta, #211f1b);
}


.ibbm-menu__parent {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 0.35rem 0;
	border: 0;
	background: transparent;
	font: inherit;
	font-weight: 600;
	text-align: left;
	color: var(--wp--preset--color--tinta, #211f1b);
	cursor: default;
}

.ibbm-menu--desktop > li > .ibbm-menu__parent {
	box-sizing: border-box;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0.4rem 0.65rem;
}

.ibbm-menu-item-has-children > .ibbm-menu__parent span {
	margin-left: 0.3rem;
	font-size: 0.72em;
}

.ibbm-menu__parent:focus-visible {
	outline: 2px solid var(--wp--preset--color--bordo, #8c2b32);
	outline-offset: 2px;
}

.ibbm-menu--desktop {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.15rem 0.35rem;
}

.ibbm-menu--desktop > li > a {
	box-sizing: border-box;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0.4rem 0.65rem;
}

.ibbm-menu-item-has-children {
	position: relative;
}

.ibbm-menu-item-has-children > a span {
	margin-left: 0.3rem;
	font-size: 0.72em;
}

.ibbm-menu__submenu {
	display: none;
	margin: 0;
	padding: 0.35rem 0;
	list-style: none;
	background: var(--wp--preset--color--marfil, #f8f5ef);
	border: 1px solid var(--wp--preset--color--beige, #ccc5b7);
	box-shadow: 0 0.35rem 0.9rem rgba(33, 31, 27, 0.12);
}

.ibbm-menu-item-has-children:hover > .ibbm-menu__submenu,
.ibbm-menu-item-has-children:focus-within > .ibbm-menu__submenu {
	display: block;
}

.ibbm-menu__submenu a {
	min-width: 14rem;
	min-height: 40px;
	padding: 0.32rem 0.85rem;
	font-size: 0.92rem;
	white-space: nowrap;
}

.ibbm-menu__submenu a:hover,
.ibbm-menu__submenu a:focus-visible {
	background: var(--wp--preset--color--niebla, #ede8df);
}

@media (min-width: 900px) {
	.ibbm-menu--desktop > .ibbm-menu-item-has-children > .ibbm-menu__submenu {
		position: absolute;
		top: calc(100% - 1px);
		left: 0;
		z-index: 120;
	}
}

@media (max-width: 899px) {
	.ibbm-menu__submenu {
		display: block;
		margin-left: 0.85rem;
		border: 0;
		box-shadow: none;
		background: transparent;
	}
	.ibbm-menu__submenu a {
		min-width: 0;
		white-space: normal;
	}
}

.ibbm-menu--footer {
	display: flex;
	flex-wrap: wrap;
	gap: 0.15rem 0.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ibbm-menu--footer a {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0.35rem 0.7rem;
	color: var(--wp--preset--color--marfil, #f8f5ef);
	font-weight: 600;
}

.ibbm-eyebrow {
	margin: 0 0 0.5rem;
	color: var(--wp--preset--color--bordo, #8c2b32);
}

.ibbm-section-lead {
	color: var(--wp--preset--color--tinta-suave, #554e44);
}

/* Portadas editoriales almacenadas como contenido de página por idioma. */
.ibbm-home-section {
	box-sizing: border-box;
	width: min(100%, 78rem);
	margin-inline: auto;
	padding: clamp(1.35rem, 2.6vw, 2.35rem) clamp(1.25rem, 3vw, 2.25rem);
}

.ibbm-home-section + .ibbm-home-section {
	border-top: 1px solid var(--wp--preset--color--beige, #ccc5b7);
}

.ibbm-home-hero {
	display: grid;
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
}

@media (min-width: 900px) {
	.ibbm-home-hero {
		grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr);
		align-items: center;
		gap: clamp(1.25rem, 3vw, 2.5rem);
	}
}

.ibbm-home-hero h1 {
	max-width: 18ch;
	margin-block: 0.35rem 0.85rem;
	font-size: clamp(2.15rem, 5vw, 4.4rem);
	line-height: 0.98;
}

.ibbm-home-summary {
	max-width: 64ch;
	font-size: clamp(1rem, 1.4vw, 1.15rem);
}

.ibbm-home-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.25rem;
}

.ibbm-home-section-head {
	max-width: 62rem;
	margin-bottom: 1.25rem;
}

.ibbm-home-section-head h2 {
	margin-block: 0 0.35rem;
}

.ibbm-door h3,
.ibbm-news-item h3 {
	margin-block: 0.35rem 0.6rem;
}

.ibbm-door p:last-child,
.ibbm-news-item p:last-child {
	margin-bottom: 0;
}

.ibbm-news-grid > .ibbm-news-item:first-child .ibbm-news-marker {
	display: block;
}

.ibbm-news-grid > .ibbm-news-item:nth-child(n+2) .ibbm-news-excerpt {
	display: none;
}

@media (min-width: 900px) {
	.ibbm-news-grid > .ibbm-news-item:first-child {
		grid-column: 1;
		grid-row: 1 / span 2;
	}

	.ibbm-news-grid > .ibbm-news-item:nth-child(2) {
		grid-column: 2;
		grid-row: 1;
	}

	.ibbm-news-grid > .ibbm-news-item:nth-child(3) {
		grid-column: 2;
		grid-row: 2;
	}
}

.ibbm-contact-list {
	display: grid;
	gap: 0 1.5rem;
	margin: 0;
}

@media (min-width: 768px) {
	.ibbm-contact-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.ibbm-contact-list div {
	padding-block: 0.65rem;
	border-bottom: 1px solid var(--wp--preset--color--beige, #ccc5b7);
}

.ibbm-contact-list dt {
	font-weight: 700;
}

.ibbm-contact-list dd {
	margin: 0.2rem 0 0;
}

.ibbm-photo-placeholder {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 0.35rem;
	min-height: 12rem;
	padding: 1.1rem;
	border: 1px solid var(--wp--preset--color--beige, #ccc5b7);
	background: var(--wp--preset--color--niebla, #ede8df);
	color: var(--wp--preset--color--tinta, #211f1b);
}

.ibbm-photo-placeholder__note {
	margin: 0;
	color: var(--wp--preset--color--tinta-suave, #554e44);
	font-size: 0.9rem;
}

.ibbm-doors {
	display: grid;
	gap: 1rem;
}

@media (min-width: 768px) {
	.ibbm-doors {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		grid-auto-rows: 1fr;
	}
}

.ibbm-door {
	padding: 1.1rem 1.15rem;
	background: var(--wp--preset--color--blanco, #ffffff);
	border: 1px solid var(--wp--preset--color--beige, #ccc5b7);
	border-top: 0.28rem solid var(--wp--preset--color--bordo, #8c2b32);
	height: 100%;
}

.ibbm-door__n {
	display: block;
	margin-bottom: 0.35rem;
	color: var(--wp--preset--color--marron, #6f5d44);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.06em;
}

.ibbm-labs {
	display: grid;
	gap: 0.65rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 640px) {
	.ibbm-labs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.ibbm-labs {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		grid-auto-rows: 5rem;
	}
}

.ibbm-lab {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	min-height: 44px;
	padding: 0.85rem 1rem;
	background: var(--wp--preset--color--blanco, #ffffff);
	border: 1px solid var(--wp--preset--color--beige, #ccc5b7);
	text-decoration: none;
	color: inherit;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
}

.ibbm-labs > li { display: flex; }

.ibbm-lab:hover {
	border-color: var(--wp--preset--color--marron, #6f5d44);
}

.ibbm-lab__n {
	color: var(--wp--preset--color--marron, #6f5d44);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.06em;
}

.ibbm-lab__name {
	flex: 1;
	font-weight: 600;
}

/* Noticias 1+2 */
.ibbm-news-grid {
	display: grid;
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ibbm-news-item {
	background: var(--wp--preset--color--blanco, #ffffff);
	border: 1px solid var(--wp--preset--color--beige, #ccc5b7);
	padding: 1rem;
	height: 100%;
}

.ibbm-news-marker {
	display: none;
	min-height: 10rem;
	margin-bottom: 0.85rem;
	border: 1px solid var(--wp--preset--color--beige, #ccc5b7);
	background: var(--wp--preset--color--niebla, #ede8df);
}

.ibbm-news-grid > .wp-block-post:first-child .ibbm-news-marker {
	display: block;
}

.ibbm-news-grid > .wp-block-post:nth-child(n+2) .ibbm-news-excerpt {
	display: none;
}

.ibbm-news-meta {
	margin: 1rem 0 0.65rem;
}

/* Actualidad próxima al hero, con imágenes editoriales y carrusel secundario (1.0.26). */
.ibbm-news-section {
	position: relative;
}

.ibbm-news-item {
	overflow: hidden;
	padding: 0;
}

.ibbm-news-media {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--wp--preset--color--niebla, #ede8df);
}

.ibbm-news-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ibbm-news-item > :not(.ibbm-news-media) {
	margin-inline: clamp(1rem, 2vw, 1.35rem);
}

.ibbm-news-carousel {
	min-width: 0;
	border: 0;
	background: transparent;
}

.ibbm-news-carousel .ibbm-news-carousel__slide,
.ibbm-news-carousel .ibbm-news-item {
	background: #e9eadb !important;
}

.ibbm-news-carousel__viewport {
	display: grid;
	min-width: 0;
}

.ibbm-news-carousel__slide {
	grid-area: 1 / 1;
	min-width: 0;
	padding: 0 0 clamp(1rem, 2vw, 1.35rem);
}

.ibbm-news-carousel:not(.is-enhanced) .ibbm-news-carousel__slide + .ibbm-news-carousel__slide {
	border-top: 1px solid var(--wp--preset--color--beige, #ccc5b7);
}

.ibbm-news-carousel.is-enhanced .ibbm-news-carousel__slide {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 900ms ease, visibility 0s linear 900ms;
}

.ibbm-news-carousel.is-enhanced .ibbm-news-carousel__slide.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition: opacity 900ms ease;
}

/* La mejora progresiva muestra todas las noticias sin JavaScript. Al activar
 * el carrusel, oculta las inactivas sin animar el primer fotograma; los fades
 * entre noticias siguen definidos inmediatamente después de esta inicialización. */
.ibbm-news-carousel.is-initializing .ibbm-news-carousel__slide {
	transition: none !important;
}

.ibbm-news-carousel__controls {
	display: none;
	align-items: center;
	justify-content: space-between;
	gap: 0.4rem;
	padding: 0.35rem 0 0;
	border: 0;
	border-top: 0;
	background: transparent;
}

.ibbm-news-carousel.is-enhanced .ibbm-news-carousel__controls {
	display: flex;
}

.ibbm-news-carousel__control {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0.45rem 0.7rem;
	border: 1px solid var(--wp--preset--color--beige, #ccc5b7);
	border-radius: 2px;
	background: var(--wp--preset--color--blanco, #ffffff);
	color: var(--wp--preset--color--tinta, #211f1b);
	font: inherit;
	font-size: 0.88rem;
	font-weight: 600;
	cursor: pointer;
}

.ibbm-news-carousel__pagination {
	display: flex;
	align-items: center;
	gap: 0.1rem;
}

.ibbm-news-carousel__dot {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.ibbm-news-carousel__dot::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--wp--preset--color--beige, #ccc5b7);
	transition: transform 180ms ease, background-color 180ms ease;
}

.ibbm-news-carousel__dot[aria-current="true"]::before {
	transform: scale(1.2);
	background: var(--wp--preset--color--oliva, #62622f);
}

.ibbm-news-carousel__dot:focus-visible {
	outline: 3px solid var(--wp--preset--color--foco, #c2410c);
	outline-offset: 0;
}

.ibbm-news-carousel__toggle {
	border-color: transparent;
	background: transparent;
}

.ibbm-news-carousel__control:hover {
	border-color: var(--wp--preset--color--marron, #6f5d44);
	background: var(--wp--preset--color--marfil, #f3eee5);
}

.ibbm-news-carousel__control:focus-visible {
	outline: 3px solid var(--wp--preset--color--foco, #c2410c);
	outline-offset: 2px;
}

@media (min-width: 900px) {
	.ibbm-news-grid--carousel {
		grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 1fr);
		grid-template-rows: auto;
		align-items: stretch;
	}

	.ibbm-news-grid--carousel > .ibbm-news-item:first-child {
		grid-column: 1;
		grid-row: 1;
	}

	.ibbm-news-grid--carousel > .ibbm-news-carousel {
		grid-column: 2;
		grid-row: 1;
		display: flex;
		flex-direction: column;
	}

	.ibbm-news-grid--carousel .ibbm-news-carousel__viewport {
		flex: 1;
	}

	/* El bloque de portada puede recibir clases distintas según el editor.
	 * Igualamos las dos columnas por sus elementos reales, no solo por la
	 * clase auxiliar --carousel. */
	.ibbm-news-grid:has(> .ibbm-news-carousel) {
		grid-template-rows: minmax(0, 1fr);
		align-items: stretch;
	}

	.ibbm-news-grid:has(> .ibbm-news-carousel) > .ibbm-news-item:first-child,
	.ibbm-news-grid:has(> .ibbm-news-carousel) > .ibbm-news-carousel {
		height: auto;
		min-height: 0;
		align-self: stretch;
	}

	.ibbm-news-grid:has(> .ibbm-news-carousel) > .ibbm-news-carousel {
		display: flex;
		flex-direction: column;
		background: #e9eadb;
		border-top: 3px solid var(--wp--preset--color--oliva, #5d5c31);
	}

	.ibbm-news-grid:has(> .ibbm-news-carousel) .ibbm-news-carousel__viewport {
		flex: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ibbm-news-carousel.is-enhanced .ibbm-news-carousel__slide,
	.ibbm-news-carousel.is-enhanced .ibbm-news-carousel__slide.is-active {
		transition: none;
	}

	.ibbm-news-carousel__toggle {
		display: none;
	}
}

/* Autoridades: capa final del botón de trayectoria, posterior a las reglas
 * históricas del componente. */
body.ibbm-page--authorities .ibbm-authority__cv a {
	font-family: "IBM Plex Serif", Georgia, serif !important;
	font-size: 0.98rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.01em !important;
	min-height: 2.05rem !important;
	padding: 0.30rem 0.9rem !important;
	border: 1px solid #45451f !important;
	border-radius: 0.35rem !important;
	background: linear-gradient(145deg, #626537 0%, #555b2b 55%, #4b5025 100%) !important;
	color: #f8f5ef !important;
	box-shadow: 0 3px 0 #45451f, 0 5px 10px rgba(52,57,25,.16) !important;
	text-decoration: none !important;
}
body.ibbm-page--authorities .ibbm-authority__cv a:hover,
body.ibbm-page--authorities .ibbm-authority__cv a:focus-visible {
	background: linear-gradient(145deg, #6b6e3d 0%, #606535 55%, #555b2b 100%) !important;
	color: #f8f5ef !important;
	box-shadow: 0 4px 0 #45451f, 0 7px 14px rgba(52,57,25,.2) !important;
	transform: translateY(-1px);
	text-decoration: none !important;
}

/* Ajuste final de altura: menos aire vertical, misma presencia visual. */
body.ibbm-page--authorities .ibbm-authority__cv a {
	min-height: 2.05rem !important;
	padding-top: 0.30rem !important;
	padding-bottom: 0.30rem !important;
}

/* Capa final: reducir el aire vertical sin alterar el acabado del botón. */
body.ibbm-page--authorities .ibbm-authority__cv a {
	min-height: 2.05rem !important;
	padding-top: 0.30rem !important;
	padding-bottom: 0.30rem !important;
}

/* Portada ES/EN/PT (1.0.184): CTAs del hero al estilo píldora de
 * «Correo miembros», un poco más grandes; mismo hover oliva/marfil. */
.ibbm-home-hero .ibbm-home-actions > a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	min-height: 3.15rem !important;
	padding: 0.65rem 1.35rem !important;
	border: 1px solid var(--wp--preset--color--beige, #ccc5b7) !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: var(--wp--preset--color--oliva, #5d5c31) !important;
	font-family: var(--wp--preset--font-family--ibm-plex-sans, "IBM Plex Sans", sans-serif) !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
	letter-spacing: 0 !important;
	box-shadow: none !important;
	text-decoration: none !important;
	transform: none !important;
	filter: none !important;
	transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease !important;
}
.ibbm-home-hero .ibbm-home-actions > a:hover,
.ibbm-home-hero .ibbm-home-actions > a:focus-visible {
	border-color: var(--wp--preset--color--oliva, #5d5c31) !important;
	background: var(--wp--preset--color--oliva, #5d5c31) !important;
	color: var(--wp--preset--color--marfil, #f8f5ef) !important;
	box-shadow: none !important;
	transform: none !important;
	filter: none !important;
	text-decoration: none !important;
}
.ibbm-home-hero .ibbm-home-actions > a:active {
	transform: none !important;
	box-shadow: none !important;
}
@media (prefers-reduced-motion: reduce) {
	.ibbm-home-hero .ibbm-home-actions > a {
		transition: none !important;
	}
}

/* Autoridades: versión más afinada del botón de trayectoria, manteniendo el
 * relieve y reduciendo únicamente el aire vertical. */
body.ibbm-page--authorities .ibbm-authority__cv a {
	min-height: 2.05rem !important;
	padding-block: 0.30rem !important;
}

/* Historia: conservar el aire entre Origen y Creación, pero evitar el divisor
 * duplicado que aparece inmediatamente antes de «Creación y evolución». */
body.ibbm-page--history .ibbm-section-content .section-block[aria-labelledby="origen"] {
	border-bottom: 0 !important;
}

/* Historia: la última entrada de la cronología no necesita un divisor propio;
 * el divisor de la sección permanece como única línea inferior. */
body.ibbm-page--history .ibbm-section-content .section-block[aria-labelledby="crono"] .timeline li:last-child {
	border-bottom: 0 !important;
}

/* Historia: restaurar el divisor entre «Origen histórico» y «Creación y
 * evolución», manteniendo el mismo aire vertical que el resto de secciones. */
body.ibbm-page--history .ibbm-section-content .section-block[aria-labelledby="origen"] {
	border-bottom: 1px solid var(--wp--preset--color--beige, #ccc5b7) !important;
}

/* Horizonte Institucional: alinear el borde derecho de los textos de Visión y
 * Misión con el divisor de cada sección, sin afectar otras páginas. */
body.ibbm-page--vision-mission .ibbm-section-content .section-block.prose[aria-labelledby="vision"] > p,
body.ibbm-page--vision-mission .ibbm-section-content .section-block.prose[aria-labelledby="visao"] > p,
body.ibbm-page--vision-mission .ibbm-section-content .section-block.prose[aria-labelledby="mision"] > p,
body.ibbm-page--vision-mission .ibbm-section-content .section-block.prose[aria-labelledby="mission"] > p,
body.ibbm-page--vision-mission .ibbm-section-content .section-block.prose[aria-labelledby="missao"] > p {
	max-width: none;
	width: 100%;
}

/* Autoridades: botón Trayectoria con el lenguaje visual de la portada, en una
 * versión compacta para no competir con las fichas ni con las fotografías. */
.ibbm-section-content .ibbm-authority__cv a {
	font-family: var(--wp--preset--font-family--plex-serif, "IBM Plex Serif", Georgia, serif);
	font-size: 0.98rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	min-height: 2.35rem;
	padding: 0.48rem 0.9rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--oliva-profundo, #45451f) 72%, #8b8b5b);
	border-radius: 0.35rem;
	background: linear-gradient(145deg, #626537 0%, #555b2b 55%, #4b5025 100%);
	color: var(--wp--preset--color--marfil, #f8f5ef);
	box-shadow: 0 3px 0 var(--wp--preset--color--oliva-profundo, #45451f), 0 5px 10px rgba(52,57,25,.16);
	text-decoration: none;
	transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}
.ibbm-section-content .ibbm-authority__cv a:hover,
.ibbm-section-content .ibbm-authority__cv a:focus-visible {
	background: linear-gradient(145deg, #6b6e3d 0%, #606535 55%, #555b2b 100%);
	color: var(--wp--preset--color--marfil, #f8f5ef);
	box-shadow: 0 4px 0 var(--wp--preset--color--oliva-profundo, #45451f), 0 7px 14px rgba(52,57,25,.2);
	transform: translateY(-1px);
	text-decoration: none;
}
.ibbm-section-content .ibbm-authority__cv a:active {
	transform: translateY(2px);
	box-shadow: 0 1px 0 var(--wp--preset--color--oliva-profundo, #45451f), 0 2px 5px rgba(52,57,25,.14);
}

/* Tipografía definitiva de los rótulos visuales, después de las reglas
 * generales del directorio. */
.ibbm-lab-directory.ibbm-lab-directory--images a.ibbm-lab-card > span {
	font-family: "IBM Plex Serif", Georgia, "Times New Roman", serif;
	font-weight: 700;
}

/* Actualidad editorial 1+2 (1.0.20 / 1.0.33).
 * En la variante carrusel la volanta queda fuera del bloque cromado. */
.ibbm-news-grid > .wp-block-post:first-child,
.ibbm-news-grid > .ibbm-news-item:first-child {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding: 0 0 clamp(1.25rem, 2.4vw, 2rem);
	border-top: 3px solid var(--wp--preset--color--oliva, #5d5c31);
	background: #e9eadb;
}

.ibbm-news-grid--carousel > .ibbm-news-item:first-child {
	padding-bottom: 0;
}

.ibbm-news-grid--carousel > .ibbm-news-item:first-child,
.ibbm-news-grid.ibbm-news-grid--carousel > .ibbm-news-carousel,
.ibbm-news-grid:has(> .ibbm-news-carousel) > .ibbm-news-carousel {
	height: 100%;
}

.ibbm-news-item h3 a {
	text-decoration: none;
}

.ibbm-news-item h3 a:hover {
	color: var(--wp--preset--color--oliva, #5d5c31);
}

/* Actualidad 1.0.36
 * - Lead oculto
 * - Volanta en flujo normal encima de la caja (sin absolute → no la recorta overflow)
 * - Una caja oliva continua (imagen + texto)
 * - overflow visible en la tarjeta; overflow hidden solo en la media
 * - Sin padding-top asimétrico en el carrusel (evita el desplazamiento)
 */
.ibbm-news-section .ibbm-home-section-head .ibbm-section-lead {
	display: none;
}

.ibbm-news-grid--carousel > .ibbm-news-item:first-child,
.ibbm-news-carousel .ibbm-news-carousel__slide {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	margin-top: 0;
	padding-top: 0;
	background: transparent !important;
	border: 0 !important;
	border-top: 0 !important;
	box-shadow: none;
	overflow: visible;
}

.ibbm-news-grid--carousel .ibbm-news-meta {
	order: -1;
	position: static;
	top: auto;
	margin: 0 0 0.7rem;
	margin-inline: 0;
	padding-inline: 0;
	background: transparent !important;
}

.ibbm-news-grid--carousel .ibbm-news-marker {
	display: none !important;
}

/* Caja cromada: empieza en la media y continúa en el texto. */
.ibbm-news-grid--carousel .ibbm-news-media {
	border-top: 3px solid var(--wp--preset--color--oliva, #5d5c31);
	background: #e9eadb;
	overflow: hidden;
}

.ibbm-news-grid--carousel > .ibbm-news-item:first-child > h3,
.ibbm-news-grid--carousel > .ibbm-news-item:first-child > .ibbm-news-excerpt,
.ibbm-news-carousel__slide > h3 {
	background: #e9eadb;
	margin-inline: 0;
	padding-inline: clamp(1rem, 2vw, 1.35rem);
}

.ibbm-news-grid--carousel > .ibbm-news-item:first-child > h3,
.ibbm-news-carousel__slide > h3 {
	margin-block: 0;
	padding-top: 0.9rem;
	padding-bottom: 0.4rem;
}

.ibbm-news-carousel__slide h3 {
	font-size: clamp(1.15rem, 1.8vw, 1.45rem);
	line-height: 1.2;
	padding-bottom: 1.15rem;
}

/* Las tarjetas destacada y del carrusel comparten la misma proporción
 * editorial de imagen. Las bajadas ocupan todo el ancho interior de la
 * tarjeta, con lectura alineada al margen izquierdo. */
.ibbm-news-grid--carousel .ibbm-news-media {
	aspect-ratio: 16 / 9;
}

.ibbm-news-grid--carousel .ibbm-news-carousel__slide > .ibbm-news-excerpt,
.ibbm-news-grid--carousel > .ibbm-news-item:first-child > .ibbm-news-excerpt {
	display: block;
	max-width: none;
	width: auto;
	margin-inline: 0;
	padding-inline: clamp(1rem, 2vw, 1.35rem);
	text-align: left;
}

/* Directorio de laboratorios con imagen: tarjeta completa enlazada,
 * nombre HTML traducible y proporción visual uniforme. */
.ibbm-lab-directory--images {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(0.85rem, 1.8vw, 1.35rem);
	padding: 0;
	list-style: none;
}

.ibbm-lab-directory--images > li { min-width: 0; }

.ibbm-lab-card {
	display: flex;
	height: 100%;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
	background: #e9eadb;
	border: 1px solid var(--wp--preset--color--beige, #ccc5b7);
	border-top: 3px solid var(--wp--preset--color--oliva, #5d5c31);
	overflow: hidden;
	transition: transform 160ms ease, box-shadow 160ms ease;
}

.ibbm-lab-card:hover,
.ibbm-lab-card:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 0.35rem 0.8rem rgb(33 31 27 / 16%);
}

.ibbm-lab-card:focus-visible {
	outline: 3px solid var(--wp--preset--color--foco, #c2410c);
	outline-offset: 3px;
}

.ibbm-lab-card figure {
	margin: 0;
	aspect-ratio: 16 / 9;
	background: #17240d;
	overflow: hidden;
}

.ibbm-lab-card img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ibbm-lab-card > span {
	display: block;
	padding: 0.8rem 0.9rem 0.95rem;
	font-family: var(--wp--preset--font-family--ibm-plex-sans, "IBM Plex Sans", sans-serif);
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
}

.ibbm-lab-card--pending {
	display: flex;
	min-height: 4.5rem;
	align-items: center;
	justify-content: center;
	padding: 0.9rem;
	text-align: center;
}

@media (max-width: 899px) {
	.ibbm-lab-directory--images { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
	.ibbm-lab-directory--images { grid-template-columns: 1fr; }
}

/* Investigación ES/EN/PT (1.0.153): tarjetas contemporáneas y acentos
 * cromáticos científicos equivalentes en las tres portadas. */
body:is(.ibbm-page--research-hub) .ibbm-lab-directory--images > li:nth-child(1) { --ibbm-lab-accent: #68764b; }
body:is(.ibbm-page--research-hub) .ibbm-lab-directory--images > li:nth-child(2) { --ibbm-lab-accent: #9a743f; }
body:is(.ibbm-page--research-hub) .ibbm-lab-directory--images > li:nth-child(3) { --ibbm-lab-accent: #8a7b39; }
body:is(.ibbm-page--research-hub) .ibbm-lab-directory--images > li:nth-child(4) { --ibbm-lab-accent: #557984; }
body:is(.ibbm-page--research-hub) .ibbm-lab-directory--images > li:nth-child(5) { --ibbm-lab-accent: #52705a; }
body:is(.ibbm-page--research-hub) .ibbm-lab-directory--images > li:nth-child(6) { --ibbm-lab-accent: #874c55; }
body:is(.ibbm-page--research-hub) .ibbm-lab-directory--images > li:nth-child(7) { --ibbm-lab-accent: #9a5d47; }
body:is(.ibbm-page--research-hub) .ibbm-lab-directory--images > li:nth-child(8) { --ibbm-lab-accent: #4d716b; }

body:is(.ibbm-page--research-hub) .ibbm-lab-card {
	position: relative;
	border: 1px solid color-mix(in srgb, var(--ibbm-lab-accent, #5d5c31) 52%, #ddd6c8);
	border-top: 4px solid var(--ibbm-lab-accent, #5d5c31);
	border-radius: 1rem;
	background: #f6f3ec;
	box-shadow: 0 0.16rem 0.42rem rgb(42 46 27 / 10%);
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

body:is(.ibbm-page--research-hub) .ibbm-lab-card figure {
	border-bottom: 1px solid color-mix(in srgb, var(--ibbm-lab-accent, #5d5c31) 30%, #ded8cc);
}

body:is(.ibbm-page--research-hub) .ibbm-lab-card > span {
	display: flex;
	min-height: 4.55rem;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 0.85rem 1.15rem 0.95rem;
	color: #383820;
	background:
		linear-gradient(
			132deg,
			#f6f3ec 0%,
			#f6f3ec 84%,
			color-mix(in srgb, var(--ibbm-lab-accent, #5d5c31) 17%, #f6f3ec) 84%,
			color-mix(in srgb, var(--ibbm-lab-accent, #5d5c31) 17%, #f6f3ec) 100%
		);
	text-wrap: balance;
}

body:is(.ibbm-page--research-hub) .ibbm-lab-card:hover,
body:is(.ibbm-page--research-hub) .ibbm-lab-card:focus-visible {
	transform: translateY(-3px);
	border-color: color-mix(in srgb, var(--ibbm-lab-accent, #5d5c31) 74%, #c8c0b1);
	box-shadow:
		0 0.6rem 1.15rem rgb(42 46 27 / 14%),
		0 0.12rem 0.3rem color-mix(in srgb, var(--ibbm-lab-accent, #5d5c31) 22%, transparent);
}

@media (prefers-reduced-motion: reduce) {
	body:is(.ibbm-page--research-hub) .ibbm-lab-card {
		transition: none;
	}

	body:is(.ibbm-page--research-hub) .ibbm-lab-card:hover,
	body:is(.ibbm-page--research-hub) .ibbm-lab-card:focus-visible {
		transform: none;
	}
}

.ibbm-news-grid--carousel > .ibbm-news-item:first-child > .ibbm-news-excerpt {
	margin-block: 0;
	margin-bottom: 0;
	padding-top: 0;
	padding-bottom: 1.25rem;
}

.ibbm-news-carousel {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none;
	padding-top: 0;
}

.ibbm-news-carousel .ibbm-news-carousel__slide,
.ibbm-news-carousel .ibbm-news-item {
	background: transparent !important;
}

.ibbm-news-carousel__controls {
	padding: 0.45rem 0 0;
	margin: 0;
	border: 0 !important;
	border-top: 0 !important;
	background: transparent !important;
	box-shadow: none;
}

.ibbm-news-carousel__dot::before {
	width: 6px;
	height: 6px;
}

.ibbm-news-carousel__toggle {
	font-size: 0.8rem;
	font-weight: 500;
	color: var(--wp--preset--color--tinta-suave, #554e44);
	border: 0 !important;
	background: transparent !important;
	box-shadow: none;
}

@media (min-width: 900px) {
	.ibbm-news-grid:has(> .ibbm-news-carousel) > .ibbm-news-carousel {
		background: transparent !important;
		border-top: 0 !important;
		padding-top: 0;
	}
}

.ibbm-news-grid > .wp-block-post:first-child .ibbm-news-marker,
.ibbm-news-grid > .ibbm-news-item:first-child .ibbm-news-marker {
	display: none;
}

.ibbm-news-grid > .wp-block-post:first-child h3,
.ibbm-news-grid > .ibbm-news-item:first-child h3 {
	margin-block: 0.35rem 0.75rem;
	font-size: clamp(1.28rem, 2.05vw, 1.78rem);
	line-height: 1.18;
}

.ibbm-news-grid > .wp-block-post:first-child .ibbm-news-excerpt,
.ibbm-news-grid > .ibbm-news-item:first-child .ibbm-news-excerpt {
	max-width: 54ch;
	font-size: 1rem;
}

@media (max-width: 899px) {
	.ibbm-news-grid > .wp-block-post:first-child,
	.ibbm-news-grid > .ibbm-news-item:first-child {
		padding: 0 0 1.15rem;
	}

	.ibbm-news-grid > .wp-block-post:first-child h3,
	.ibbm-news-grid > .ibbm-news-item:first-child h3 {
		font-size: 1.2rem;
	}

	.ibbm-news-carousel {
		border: 0;
		background: transparent;
	}

	.ibbm-news-carousel__slide {
		padding-bottom: 1rem;
		background: transparent !important;
	}

	.ibbm-news-carousel .ibbm-news-item {
		background: transparent !important;
	}

	.ibbm-news-carousel__controls {
		padding: 0.25rem 0;
		border-top: 0;
		background: transparent;
	}
}

@media (min-width: 900px) {
	.ibbm-news-grid {
		grid-template-columns: 1.35fr 1fr;
		grid-template-rows: auto auto;
		align-items: stretch;
	}

	.ibbm-news-grid > .wp-block-post:first-child {
		grid-column: 1;
		grid-row: 1 / span 2;
	}

	.ibbm-news-grid > .wp-block-post:nth-child(2) {
		grid-column: 2;
		grid-row: 1;
	}

	.ibbm-news-grid > .wp-block-post:nth-child(3) {
		grid-column: 2;
		grid-row: 2;
	}

	/* La variante 1+carousel ocupa una sola fila; anula la grilla 1+2 previa. */
	.ibbm-news-grid.ibbm-news-grid--carousel {
		grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 1fr);
		grid-template-rows: auto;
	}

	.ibbm-news-grid.ibbm-news-grid--carousel > .ibbm-news-item:first-child {
		grid-column: 1;
		grid-row: 1;
	}
}

/* Actualidad: caja cromática continua (1.0.37).
 * El fondo debe envolver volanta, media, título, bajada y controles.
 * No se usan líneas de borde: el color y el espacio interno hacen la
 * separación editorial. */
.ibbm-news-grid--carousel > .ibbm-news-item:first-child,
.ibbm-news-grid--carousel > .ibbm-news-carousel,
.ibbm-news-carousel .ibbm-news-carousel__slide {
	background: #e9eadb !important;
	border: 0 !important;
	border-top: 0 !important;
	box-shadow: none !important;
}

.ibbm-news-grid--carousel > .ibbm-news-item:first-child {
	padding-bottom: clamp(1.15rem, 2vw, 1.6rem);
}

.ibbm-news-grid--carousel .ibbm-news-meta {
	background: transparent !important;
	padding-top: clamp(0.85rem, 1.5vw, 1.15rem);
	padding-inline: clamp(1rem, 2vw, 1.35rem);
	margin-bottom: 0.25rem;
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.8rem;
}

.ibbm-news-grid--carousel .ibbm-news-meta__category {
	min-width: 0;
}

.ibbm-news-grid--carousel .ibbm-news-meta__date {
	flex: 0 0 auto;
	color: color-mix(in srgb, var(--wp--preset--color--oliva, #5d5c31) 68%, #77736a);
	font-size: 0.84em;
	font-weight: 500;
	letter-spacing: 0;
	text-align: right;
	text-transform: none;
}

.ibbm-news-grid--carousel .ibbm-news-media,
.ibbm-news-grid--carousel > .ibbm-news-item:first-child > h3,
.ibbm-news-grid--carousel > .ibbm-news-item:first-child > .ibbm-news-excerpt,
.ibbm-news-carousel__slide > h3 {
	background: transparent !important;
	border-top: 0 !important;
}

.ibbm-news-grid--carousel .ibbm-news-carousel__controls {
	background: transparent !important;
	border: 0 !important;
	padding-bottom: 0.45rem;
}

/* Igualar visualmente la caja del carrusel a la destacada (1.0.39):
 * la superficie continúa detrás de los controles hasta el mismo borde
 * inferior de ambas columnas. */
.ibbm-news-grid.ibbm-news-grid--carousel > .ibbm-news-carousel,
.ibbm-news-grid.ibbm-news-grid--carousel > .ibbm-news-carousel .ibbm-news-carousel__controls {
	background: #e9eadb !important;
	border: 0 !important;
	border-top: 0 !important;
}

.ibbm-news-grid.ibbm-news-grid--carousel > .ibbm-news-carousel .ibbm-news-carousel__controls {
	padding-bottom: clamp(0.85rem, 1.5vw, 1.2rem);
}

@media (max-width: 560px) {
	.ibbm-news-grid--carousel .ibbm-news-meta {
		flex-wrap: wrap;
		column-gap: 0.5rem;
		row-gap: 0.15rem;
	}

	.ibbm-news-grid--carousel .ibbm-news-meta__date {
		margin-left: auto;
	}
}

/* Títulos de actualidad con jerarquía tipográfica común (1.0.40). */
.ibbm-news-carousel__slide h3 {
	font-size: clamp(1.28rem, 2.05vw, 1.78rem);
	line-height: 1.18;
}

.ibbm-contact-grid {
	display: grid;
	gap: 1.25rem;
}

.ibbm-contact-grid > * { min-width: 0; }
.ibbm-contact-grid a { overflow-wrap: anywhere; }
.ibbm-contact-grid address { font-style: normal; }
.ibbm-contact-title-link { color: inherit; text-decoration: none; }
.ibbm-contact-title-link:hover,
.ibbm-contact-title-link:focus-visible { color: var(--wp--preset--color--oliva, #5d5c31); text-decoration: underline; }
.ibbm-contact-heading .ibbm-eyebrow {
	color: var(--wp--preset--color--oliva, #5d5c31);
}
.ibbm-contact-details { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.ibbm-contact-detail { min-width: 0; padding-bottom: 0.75rem; border-bottom: 1px solid var(--wp--preset--color--linea, #d1ccbf); }
.ibbm-contact-detail strong { display: block; margin-bottom: 0.45rem; }
.ibbm-contact-detail span { display: block; }
.ibbm-contact-detail small { font-size: 0.8em; }
.ibbm-address-row { display: flex; align-items: flex-start; gap: 0.55rem; }
.ibbm-address-row > span { flex: 1; }
.ibbm-address-map { display: inline-flex; flex: 0 0 auto; margin-top: 0.05rem; color: #c53030; text-decoration: none; transition: transform 180ms ease, color 180ms ease; }
.ibbm-address-map:hover, .ibbm-address-map:focus-visible { color: #a52323; transform: translateY(-2px); text-decoration: none; }
.ibbm-address-pin { display: block; width: 28px; height: 28px; }

/* Contacto resumido: teléfonos sin subrayado y correos en azul accesible. */
.ibbm-contact-details a,
.ibbm-contact-details a:hover,
.ibbm-contact-details a:focus-visible {
	text-decoration: none;
}
.ibbm-contact-details a[href^="tel:"] {
	color: #4b5025;
	text-decoration: none;
	white-space: nowrap;
}
.ibbm-contact-details a[href^="tel:"]::before {
	content: "";
	display: inline-block;
	width: 1.22em;
	height: 1.22em;
	margin-right: 0.32em;
	vertical-align: -0.15em;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M6.6 2.8 9.2 2l2.1 5.1-2.2 1.8c1 2.1 2.7 3.8 4.8 4.8l1.8-2.2 5.1 2.1-.8 2.6c-.3 1-1.2 1.7-2.3 1.7C10.7 17.9 6.1 13.3 6.1 7.9c0-1.1.7-2 1.7-2.3Z'/%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'%3E%3Cpath fill='%23000' d='M6.6 2.8 9.2 2l2.1 5.1-2.2 1.8c1 2.1 2.7 3.8 4.8 4.8l1.8-2.2 5.1 2.1-.8 2.6c-.3 1-1.2 1.7-2.3 1.7C10.7 17.9 6.1 13.3 6.1 7.9c0-1.1.7-2 1.7-2.3Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.ibbm-contact-details a[href="tel:+5492214259223"]::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2a9.5 9.5 0 0 0-8.2 14.3L2.5 21.5l5.3-1.3A9.5 9.5 0 1 0 12 2Zm0 2a7.5 7.5 0 0 1 6.5 11.2l-.5.8.6 2.1-2.2-.6-.8.5A7.5 7.5 0 1 1 12 4Zm-3 3.2c-.3 0-.6.2-.8.5-.3.5-.5 1.1-.3 1.7.5 1.9 2.8 4.2 4.7 4.7.6.2 1.2 0 1.7-.3.3-.2.5-.5.5-.8v-.6l-1.8-.8-.6.7c-1-.4-1.8-1.2-2.2-2.2l.7-.6-.8-1.8H9Z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2a9.5 9.5 0 0 0-8.2 14.3L2.5 21.5l5.3-1.3A9.5 9.5 0 1 0 12 2Zm0 2a7.5 7.5 0 0 1 6.5 11.2l-.5.8.6 2.1-2.2-.6-.8.5A7.5 7.5 0 1 1 12 4Zm-3 3.2c-.3 0-.6.2-.8.5-.3.5-.5 1.1-.3 1.7.5 1.9 2.8 4.2 4.7 4.7.6.2 1.2 0 1.7-.3.3-.2.5-.5.5-.8v-.6l-1.8-.8-.6.7c-1-.4-1.8-1.2-2.2-2.2l.7-.6-.8-1.8H9Z'/%3E%3C/svg%3E");
}
.ibbm-contact-details a[href^="mailto:"] {
	color: #4b5025; /* mismo oliva que teléfonos/dirección en portada */
}
.ibbm-contact-details a[href^="mailto:"]:hover,
.ibbm-contact-details a[href^="mailto:"]:focus-visible {
	color: var(--wp--preset--color--oliva-profundo, #45451f);
}

#contacto.ibbm-home-section {
	padding-block: clamp(1.75rem, 3vw, 2.5rem);
}

@media (min-width: 768px) {
	.ibbm-contact-grid {
		grid-template-columns: 1fr;
		align-items: start;
	}
}

@media (max-width: 767px) {
	.ibbm-contact-details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
	.ibbm-contact-details { grid-template-columns: 1fr; }
}

.ibbm-site-footer {
	background: var(--wp--preset--color--oliva-profundo, #45451f);
	color: var(--wp--preset--color--marfil, #f8f5ef);
	border-top: 1px solid var(--wp--preset--color--beige, #ccc5b7);
	padding: 0.85rem 1.25rem 1rem;
}

.ibbm-site-footer a {
	color: var(--wp--preset--color--marfil, #f8f5ef);
}

.ibbm-site-footer p {
	margin: 0;
	color: var(--wp--preset--color--niebla, #ede8df);
}

.ibbm-footer-compact {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.2rem 0.75rem;
	margin-bottom: 0.35rem;
}

.ibbm-footer-brand {
	font-family: var(--wp--preset--font-family--ibm-plex-serif, "IBM Plex Serif", Georgia, serif);
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--wp--preset--color--marfil, #f8f5ef);
	margin: 0;
}

.ibbm-footer-name,
.ibbm-footer-dep {
	font-size: 0.9rem;
	font-weight: 400;
	line-height: 1.4;
}

.ibbm-footer-compact-nav {
	margin: 0;
}

.ibbm-footer-copyright {
	flex: 0 0 100%;
	margin: 0.35rem 0 0;
	text-align: center;
	font-size: 0.78rem;
	line-height: 1.4;
	color: var(--wp--preset--color--niebla, #ede8df);
}

@media (min-width: 768px) {
	.ibbm-site-footer {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: 0.25rem 1.25rem;
		padding: 0.55rem 1.5rem 0.65rem;
	}

	.ibbm-footer-compact {
		margin-bottom: 0;
		flex: 1 1 22rem;
	}

	.ibbm-footer-copyright {
		margin-top: 0.45rem;
	}
}

.ibbm-footer-legal {
	margin: 0;
	padding: 0;
	border: 0;
}

.ibbm-footer-legal ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.15rem 0.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ibbm-footer-legal a {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	min-width: 44px;
	padding: 0.35rem 0.7rem;
	font-size: 0.9rem;
}

.ibbm-footer-grid {
	display: block;
}

.ibbm-site-header a:focus,
.ibbm-site-header a:focus-visible,
.ibbm-site-footer a:focus,
.ibbm-site-footer a:focus-visible,
.ibbm-lab:focus,
.ibbm-lab:focus-visible,
.ibbm-lang-switch__summary:focus,
.ibbm-lang-switch__summary:focus-visible,
.ibbm-nav-disclosure > summary:focus,
.ibbm-nav-disclosure > summary:focus-visible,
.wp-site-blocks a:focus-visible,
.wp-site-blocks button:focus-visible {
	outline: 0.2rem solid var(--wp--preset--color--foco, #c2410c);
	outline-offset: 0.18rem;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}


/* Placeholders de patrones iniciales (no interactivos). */
.ibbm-placeholder-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 1.25rem 0 0.5rem;
}

.ibbm-placeholder-cta {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0.7rem 1.1rem;
	background: var(--wp--preset--color--oliva, #5d5c31);
	color: var(--wp--preset--color--marfil, #f8f5ef);
	font-weight: 700;
	font-size: 0.95rem;
	border-radius: 0.25rem;
}

.ibbm-placeholder-cta--secondary {
	background: transparent;
	color: var(--wp--preset--color--tinta, #211f1b);
	border: 1px solid var(--wp--preset--color--beige, #ccc5b7);
}

.ibbm-placeholder-note {
	margin: 0.35rem 0 0;
	color: var(--wp--preset--color--tinta-suave, #554e44);
	font-size: 0.86rem;
}

.ibbm-lab--placeholder {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	min-height: 44px;
	padding: 0.85rem 1rem;
	background: var(--wp--preset--color--blanco, #ffffff);
	border: 1px solid var(--wp--preset--color--beige, #ccc5b7);
	color: inherit;
	cursor: default;
}

/* Fichas científicas y páginas interiores de segundo nivel. */
.ibbm-lab-content { max-width: 78rem; margin-inline: auto; }
.status-banner {
	display: flex; flex-wrap: wrap; gap: 0.35rem 0.9rem; align-items: baseline;
	margin: 0 0 1rem; padding: 0.55rem 0.85rem;
	border-left: 0.22rem solid var(--wp--preset--color--oliva, #5d5c31);
	background: color-mix(in srgb, var(--wp--preset--color--niebla, #ede8df) 70%, transparent);
	font-size: 0.9rem;
	line-height: 1.45;
	color: var(--wp--preset--color--tinta-suave, #554e44);
}
.status-banner > :first-child { margin-left: 0; }
.status-banner > :last-child { margin-right: 0; }
.status-banner strong { color: var(--wp--preset--color--oliva, #5d5c31); font-weight: 700; }
.status-banner--warn {
	border-left-color: var(--wp--preset--color--foco, #c2410c);
	background: color-mix(in srgb, var(--wp--preset--color--arena, #e5bb89) 28%, #fff);
}
.status-banner--provisional {
	border-left-color: var(--wp--preset--color--marron, #6f5d44);
	background: color-mix(in srgb, var(--wp--preset--color--beige, #ccc5b7) 35%, transparent);
}
.status-banner--critical {
	border-left-color: var(--wp--preset--color--bordo, #8c2b32);
}
.ibbm-lab-content .module-toc {
	display: flex; flex-wrap: wrap; gap: 0.45rem; margin: 0 0 1.5rem; padding: 0; list-style: none;
}
.ibbm-lab-content .module-toc a {
	display: inline-flex; min-height: 44px; align-items: center; padding: 0.35rem 0.7rem;
	border: 1px solid var(--wp--preset--color--beige, #ccc5b7); border-radius: 0.25rem;
	background: #fff; font-size: 0.85rem; font-weight: 600; text-decoration: none;
}
.ibbm-lab-content .module-toc a:hover {
	border-color: var(--wp--preset--color--oliva, #5d5c31);
	background: color-mix(in srgb, var(--wp--preset--color--arena, #e5bb89) 25%, #fff);
}
.ibbm-lab-content .section-block { padding-block: 0.5rem 1.5rem; border-bottom: 1px solid var(--wp--preset--color--beige, #ccc5b7); }
.ibbm-lab-content .section-block:last-child { border-bottom: 0; }
.ibbm-lab-content .simple-list,
.ibbm-lab-content .person-list,
.ibbm-lab-content .pub-list { margin: 0.75rem 0 0; padding: 0; list-style: none; }
.ibbm-lab-content .simple-list li,
.ibbm-lab-content .person-list li,
.ibbm-lab-content .pub-list li {
	padding: 0.75rem 0;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--beige, #ccc5b7) 55%, transparent);
}
.ibbm-lab-content .simple-list li:last-child,
.ibbm-lab-content .person-list li:last-child,
.ibbm-lab-content .pub-list li:last-child { border-bottom: 0; }
.ibbm-lab-content .person-role,
.ibbm-lab-content .pub-meta {
	display: block; margin-top: 0.2rem; color: var(--wp--preset--color--marron, #6f5d44);
	font-size: 0.88rem; overflow-wrap: anywhere;
}

/* Comunidad: nóminas con retrato compacto y reemplazable. */
.ibbm-section-content .person-list--portraits {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
}

.ibbm-section-content .person-list--portraits > li {
	display: grid;
	grid-template-columns: 7.5rem minmax(0, 1fr);
	grid-template-rows: auto auto 1fr;
	gap: 0.15rem 0.9rem;
	align-content: start;
	min-width: 0;
	padding: 0.85rem;
	border: 1px solid var(--wp--preset--color--beige, #ccc5b7);
	background: var(--wp--preset--color--blanco, #fff);
}

.ibbm-section-content .ibbm-person-photo {
	grid-column: 1;
	grid-row: 1 / 4;
	width: 7.5rem;
	height: 7.5rem;
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--beige, #ccc5b7);
	background: var(--wp--preset--color--niebla, #ede8df);
}

.ibbm-section-content .ibbm-person-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.ibbm-section-content .ibbm-person-photo--placeholder {
	display: grid;
	place-items: center;
	color: var(--wp--preset--color--oliva, #5d5c31);
	font-family: var(--wp--preset--font-family--ibm-plex-serif, "IBM Plex Serif", Georgia, serif);
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.ibbm-section-content .ibbm-person-photo--placeholder::before { content: "IBBM"; }

.ibbm-section-content .person-list--portraits > li > :not(.ibbm-person-photo) {
	grid-column: 2;
	min-width: 0;
}

.ibbm-section-content .person-list--portraits > li > strong { line-height: 1.3; }

@media (max-width: 48rem) {
	.ibbm-section-content .person-list--portraits { grid-template-columns: 1fr; }
}

@media (max-width: 26rem) {
	.ibbm-section-content .person-list--portraits > li {
		grid-template-columns: 6.5rem minmax(0, 1fr);
	}
	.ibbm-section-content .ibbm-person-photo {
		width: 6.5rem;
		height: 6.5rem;
	}
}
.ibbm-lab-content .pub-list cite { display: block; margin-bottom: 0.25rem; font-style: normal; font-weight: 700; }
.ibbm-lab-content .table-wrap { max-width: 100%; overflow-x: auto; margin-top: 0.75rem; }
.ibbm-lab-content .data-table { width: 100%; border-collapse: collapse; background: #fff; font-size: 0.92rem; }
.ibbm-lab-content .data-table th,
.ibbm-lab-content .data-table td {
	padding: 0.8rem 0.85rem; border: 1px solid var(--wp--preset--color--beige, #ccc5b7);
	text-align: left; vertical-align: top;
}
.ibbm-lab-content .data-table th {
	background: color-mix(in srgb, var(--wp--preset--color--beige, #ccc5b7) 45%, #fff);
	color: var(--wp--preset--color--oliva, #5d5c31);
}
.ibbm-lab-content .data-table caption {
	caption-side: bottom; padding-top: 0.55rem; text-align: left;
	color: var(--wp--preset--color--marron, #6f5d44); font-size: 0.82rem;
}
.ibbm-lab-content .contact-mini { margin-top: 1rem; padding: 1rem 1.1rem; border: 1px solid var(--wp--preset--color--beige, #ccc5b7); background: #fff; }
.ibbm-lab-content .contact-mini address { font-style: normal; }
.ibbm-lab-content .contact-mini dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 0.85rem 1.25rem; margin: 0; }
.ibbm-lab-content .contact-mini dt {
	color: var(--wp--preset--color--oliva, #5d5c31); font-size: 0.75rem; font-weight: 700;
	letter-spacing: 0.05em; text-transform: uppercase;
}
.ibbm-lab-content .contact-mini dd { margin: 0.2rem 0 0; }
.ibbm-lab-directory {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.65rem;
	margin: 1.5rem 0 0; padding: 0; list-style: none;
}
.ibbm-lab-directory > li { display: flex; }
.ibbm-lab-directory a {
	display: flex; align-items: center; gap: 0.65rem; min-height: 52px; padding: 0.65rem 0.75rem;
	border: 1px solid var(--wp--preset--color--beige, #ccc5b7); background: #fff;
	box-sizing: border-box; width: 100%; height: 100%; font-weight: 600; text-decoration: none;
}
.ibbm-lab-directory a:hover,
.ibbm-lab-directory a[aria-current="page"] {
	border-color: var(--wp--preset--color--oliva, #5d5c31);
	background: color-mix(in srgb, var(--wp--preset--color--arena, #e5bb89) 22%, #fff);
}
.ibbm-lab-directory__n { color: var(--wp--preset--color--bordo, #8c2b32); font-variant-numeric: tabular-nums; font-weight: 700; }
@media (min-width: 64rem) {
	.ibbm-lab-directory { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 7rem; }
}
@media (max-width: 35rem) { .ibbm-lab-directory { grid-template-columns: 1fr; } }

/* Institucional y Comunidad: componentes compactos de segundo nivel. */
.ibbm-section-content .vig-note,
.ibbm-section-content .source-note {
	color: var(--wp--preset--color--marron, #6f5d44);
	font-size: 0.88rem;
}
.ibbm-section-content .vig-note { font-weight: 700; }
.ibbm-section-content .person-lab { display: block; margin-top: 0.2rem; font-size: 0.88rem; }
.ibbm-section-content .authority-block {
	display: grid; grid-template-columns: minmax(8rem, 0.35fr) 1fr; gap: 0.5rem 1rem;
	padding: 0.75rem 0; border-bottom: 1px solid var(--wp--preset--color--beige, #ccc5b7);
}
.ibbm-section-content .authority-role,
.ibbm-section-content .authority-name { margin: 0; }
.ibbm-section-content .authority-role { color: var(--wp--preset--color--oliva, #5d5c31); font-weight: 700; }
.ibbm-section-content .timeline { margin: 0.75rem 0 0; padding: 0; list-style: none; }
.ibbm-section-content .timeline li {
	display: grid; grid-template-columns: 5rem 1fr; gap: 1rem;
	padding: 0.85rem 0; border-bottom: 1px solid var(--wp--preset--color--beige, #ccc5b7);
}
.ibbm-section-content .timeline li > strong { color: var(--wp--preset--color--bordo, #8c2b32); font-size: 1.15rem; }
.ibbm-section-content .timeline li > p { margin: 0; }
@media (max-width: 35rem) {
	.ibbm-section-content .authority-block,
	.ibbm-section-content .timeline li { grid-template-columns: 1fr; gap: 0.2rem; }
}

/* Overrides del directorio visual: prevalecen sobre las reglas históricas
 * del directorio textual definidas anteriormente en la hoja. */
.ibbm-lab-directory.ibbm-lab-directory--images a.ibbm-lab-card {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	padding: 0;
	min-height: 0;
}

.ibbm-lab-directory.ibbm-lab-directory--images a.ibbm-lab-card figure {
	display: block;
	width: 100%;
	flex: 0 0 auto;
}

.ibbm-lab-directory.ibbm-lab-directory--images a.ibbm-lab-card > span {
	width: auto;
}

/* Investigación ES/EN/PT: rótulos con la serif institucional, última capa de
 * cascada compartida por el contexto semántico del directorio. */
body:is(.ibbm-page--research-hub) .ibbm-lab-directory.ibbm-lab-directory--images a.ibbm-lab-card > span {
	font-family: "IBM Plex Serif", Georgia, "Times New Roman", serif !important;
	font-weight: 700 !important;
}
.ibbm-lab-directory.ibbm-lab-directory--images {
	grid-auto-rows: auto;
}

/* Investigación ES: el directorio visual aprovecha el ancho del encabezado. */
body:is(.ibbm-page--research-hub) .ibbm-page-main,
body:is(.ibbm-page--research-hub) .ibbm-page-main > .wp-block-post-content {
	max-width: 78rem;
}
body:is(.ibbm-page--research-hub) .ibbm-page-main {
	margin-inline: auto;
}
body:is(.ibbm-page--research-hub) .ibbm-page-main > .wp-block-post-content > .ibbm-home-section {
	width: 100% !important;
	max-width: none !important;
	margin-inline: 0 !important;
}
body:is(.ibbm-page--research-hub) .ibbm-page-main .wp-block-post-content h1 {
	max-width: none;
	width: 100% !important;
	margin-inline: 0 !important;
	text-align: center;
}
body:is(.ibbm-page--research-hub) .ibbm-page-main > .wp-block-post-title {
	width: 100% !important;
	max-width: none !important;
	margin-inline: 0 !important;
	text-align: center;
}
body:is(.ibbm-page--research-hub) .ibbm-page-main .ibbm-home-section > p {
	max-width: none;
}
body:is(.ibbm-page--research-hub) .ibbm-page-main .ibbm-home-section > p:first-of-type {
	font-size: clamp(1.08rem, 1.45vw, 1.2rem);
	line-height: 1.5;
}

.ibbm-lab-directory.ibbm-lab-directory--images a.ibbm-lab-card {
	background: var(--wp--preset--color--niebla, #ede8df);
	border: 0;
	border-top: 3px solid var(--wp--preset--color--oliva, #5d5c31);
}

.ibbm-lab-directory.ibbm-lab-directory--images a.ibbm-lab-card:hover,
.ibbm-lab-directory.ibbm-lab-directory--images a.ibbm-lab-card:focus-visible {
	transform: none;
	box-shadow: none;
}

.ibbm-lab-directory.ibbm-lab-directory--images a.ibbm-lab-card img {
	transition: transform 260ms ease;
}

.ibbm-lab-directory.ibbm-lab-directory--images a.ibbm-lab-card:hover img,
.ibbm-lab-directory.ibbm-lab-directory--images a.ibbm-lab-card:focus-visible img {
	transform: scale(1.045);
}

.ibbm-lab-directory.ibbm-lab-directory--images a.ibbm-lab-card > span {
	color: var(--wp--preset--color--oliva-profundo, #45451f);
	font-family: var(--wp--preset--font-family--plex-serif, Georgia, serif);
	font-size: clamp(1rem, 1.35vw, 1.2rem);
	font-weight: 700;
	white-space: normal;
}

/* Catálogo y fichas de Vinculación (base; refinamiento 1.0.190 abajo). */
.ibbm-service-content .service-catalog {
	display: grid; grid-template-columns: 1fr; gap: 0.85rem;
	margin: 0.85rem 0 0; padding: 0; list-style: none;
}
.ibbm-service-content .service-catalog__item {
	padding: 1rem 1.1rem; border: 1px solid color-mix(in srgb, var(--wp--preset--color--beige, #ccc5b7) 70%, transparent);
	border-radius: 0.85rem;
	background: color-mix(in srgb, var(--wp--preset--color--blanco, #fff) 72%, var(--wp--preset--color--marfil, #f7f4ec));
	box-shadow: 0 1px 0 rgba(69, 69, 31, 0.04), 0 0.35rem 0.9rem rgba(69, 69, 31, 0.06);
}
.ibbm-service-content .service-catalog__item > p { margin: 0.55rem 0 0; }
.ibbm-service-content .service-code {
	display: inline-flex; align-items: center; margin: 0; padding: 0.28rem 0.7rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--wp--preset--color--arena, #e5bb89) 35%, transparent);
	color: var(--wp--preset--color--oliva, #5d5c31); font-size: 0.78rem; font-weight: 700;
	letter-spacing: 0.02em;
}
.ibbm-service-content .service-pending,
.ibbm-service-content .future-note {
	color: var(--wp--preset--color--marron, #6f5d44); font-size: 0.85rem;
}
.ibbm-service-content .ibbm-door { display: block; color: inherit; text-decoration: none; }
.ibbm-service-content .ibbm-door:hover { border-color: var(--wp--preset--color--oliva, #5d5c31); }
@media (max-width: 48rem) {
	.ibbm-service-content .service-catalog { grid-template-columns: 1fr; }
}

/* Noticias, agenda y contacto institucional. */
.ibbm-news-content .news-list { display: grid; gap: 0.75rem; margin-top: 0.75rem; }
.ibbm-news-content .news-list__item {
	padding: 1rem 0; border-bottom: 1px solid var(--wp--preset--color--beige, #ccc5b7);
}
.ibbm-news-content .news-list__item > :first-child { margin-top: 0; }
.ibbm-news-content .news-list__item > :last-child { margin-bottom: 0; }
.ibbm-news-content .news-meta {
	color: var(--wp--preset--color--bordo, #8c2b32); font-size: 0.82rem;
	font-weight: 700; letter-spacing: 0.035em; text-transform: uppercase;
}
.ibbm-news-content .status-banner { display: flex; flex-wrap: wrap; gap: 0.3rem 0.75rem; }
.ibbm-news-content .category-nav ul {
	display: flex; flex-wrap: wrap; gap: 0.4rem 0.85rem; margin: 0.5rem 0 0; padding: 0; list-style: none;
}
.ibbm-news-content .news-feature__media--marker {
	min-height: 8rem; margin: 1rem 0; border-left: 4px solid var(--wp--preset--color--bordo, #8c2b32);
	background: color-mix(in srgb, var(--wp--preset--color--arena, #e5bb89) 24%, #fff);
}
.ibbm-contact-content .ibbm-contact-grid,
.ibbm-contact-content .ibbm-location-grid {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem;
}
.ibbm-contact-content .ibbm-contact-card,
.ibbm-contact-content .ibbm-location-card {
	padding: 1.1rem; border: 1px solid var(--wp--preset--color--beige, #ccc5b7); background: #fff;
}
.ibbm-contact-content address { font-style: normal; }
.ibbm-contact-content dl,
.ibbm-contact-content dd { margin: 0; }
.ibbm-contact-content dt { margin-top: 0.85rem; color: var(--wp--preset--color--oliva, #5d5c31); font-weight: 700; }
.ibbm-contact-content dt:first-child { margin-top: 0; }
.ibbm-contact-content .ibbm-map-schematic {
	position: relative; min-height: 12rem; overflow: hidden;
	background: color-mix(in srgb, var(--wp--preset--color--beige, #ccc5b7) 45%, #fff);
}
.ibbm-contact-content .ibbm-map-schematic::before,
.ibbm-contact-content .ibbm-map-schematic::after {
	content: ""; position: absolute; inset: 46% -5% auto; height: 2px; background: #fff;
}
.ibbm-contact-content .ibbm-map-schematic::after { transform: rotate(90deg); }
.ibbm-contact-content .ibbm-map-pin {
	position: absolute; left: 50%; top: 50%; width: 1.15rem; height: 1.15rem;
	border: 4px solid var(--wp--preset--color--bordo, #8c2b32); border-radius: 50%;
	background: #fff; transform: translate(-50%, -50%);
}
@media (max-width: 48rem) {
	.ibbm-contact-content .ibbm-contact-grid,
	.ibbm-contact-content .ibbm-location-grid { grid-template-columns: 1fr; }
}

/* Evita duplicar el espaciado de portada dentro de páginas interiores. */
.ibbm-page-main .ibbm-home-section { width: 100%; padding: 0; }
.ibbm-page-main > .wp-block-post-content { margin-block-start: clamp(1.25rem, 2.5vw, 2rem); }

.ibbm-system-main {
	max-width: 46rem;
}

.ibbm-system-main h1 {
	margin: 0 0 0.75rem;
	line-height: 1.2;
}


/* Cierre visual-editorial v1 (1.0.18): ritmo, lectura, avisos y tablas. */
.ibbm-page-main .wp-block-post-content > :first-child { margin-block-start: 0; }
.ibbm-page-main .wp-block-post-content h1 {
	margin-block: 0 0.85rem;
	line-height: 1.15;
	max-width: 28ch;
}
.ibbm-page-main .wp-block-post-content h2 {
	margin-block: 1.6rem 0.55rem;
	line-height: 1.2;
}
.ibbm-page-main .wp-block-post-content h3 {
	margin-block: 1.2rem 0.4rem;
	line-height: 1.25;
}
.ibbm-page-main .wp-block-post-content p,
.ibbm-section-content > p,
.ibbm-lab-content > p,
.ibbm-service-content > p,
.ibbm-news-content > p {
	max-width: 68ch;
}
.ibbm-page-main a,
.ibbm-section-content a,
.ibbm-lab-content a,
.ibbm-service-content a,
.ibbm-news-content a,
.ibbm-contact-content a {
	overflow-wrap: anywhere;
}
.ibbm-lab-content .section-block {
	padding-block: 0.65rem 1.25rem;
}
.ibbm-lab-content .module-toc {
	margin-bottom: 1.15rem;
}
.ibbm-section-content .source-note,
.ibbm-service-content .future-note {
	max-width: 68ch;
	line-height: 1.45;
}
.ibbm-lab-content .data-table td,
.ibbm-lab-content .data-table th,
.ibbm-section-content .data-table td,
.ibbm-section-content .data-table th {
	overflow-wrap: anywhere;
	hyphens: auto;
}
.ibbm-section-content .authority-block {
	padding-block: 0.85rem 1.1rem;
}
.ibbm-news-content .news-list {
	gap: 0.65rem;
}
.ibbm-news-content .news-list__item {
	padding: 0.85rem 0.95rem;
}
.ibbm-service-content .service-catalog {
	gap: 0.75rem;
}
.ibbm-home-hero h1 {
	margin-block: 0.35rem 0.85rem;
}
.ibbm-home-section-head {
	margin-bottom: 1rem;
}
.ibbm-doors,
.ibbm-labs {
	gap: 0.85rem;
}
@media (max-width: 26rem) {
	.ibbm-wordmark__name {
		font-size: clamp(0.92rem, 3.8vw, 1.1rem);
	}
	.ibbm-header-tools {
		gap: 0.65rem 0.85rem;
	}
}


/* Portada hero fotografía DEC-007 (1.0.19) — selectores acotados al hero. */
@font-face {
	font-family: "Dancing Script";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("assets/fonts/DancingScript-Variable.ttf") format("truetype");
}

.ibbm-home-hero .ibbm-home-hero-media,
.ibbm-home-hero .ibbm-home-hero-picture {
	margin: 0;
	min-width: 0;
	max-width: 100%;
}

.ibbm-home-hero .ibbm-home-hero-picture {
	display: block;
}

.ibbm-home-hero .ibbm-home-hero-media {
	position: relative;
	isolation: isolate;
	container-type: inline-size;
}

.ibbm-home-hero .ibbm-home-hero-media::after {
	position: absolute;
	z-index: 0;
	right: 6px;
	bottom: 6px;
	left: 6px;
	height: 31%;
	border-radius: 0 0 0.7rem 0.7rem;
	background: linear-gradient( to bottom, transparent, rgb(35 37 24 / 64%) );
	content: "";
	pointer-events: none;
}

.ibbm-home-hero__caption {
	position: absolute;
	z-index: 1;
	right: 1rem;
	bottom: 1.3rem;
	left: 1rem;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 0.3rem;
	white-space: nowrap;
	font-family: "Dancing Script", cursive;
	font-size: clamp(0.72rem, 3.4cqw, 1.12rem);
	font-weight: 500;
	line-height: 1.1;
	color: #fff8e8;
	text-align: center;
	text-shadow: 0 1px 5px rgb(0 0 0 / 55%);
	pointer-events: none;
}

.ibbm-home-hero .ibbm-home-hero-media img,
.ibbm-home-hero .ibbm-home-hero-picture img {
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: auto;
	max-width: 100%;
	padding: 5px;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--oliva, #5d5c31) 22%, var(--wp--preset--color--beige, #ccc5b7));
	border-radius: 0.875rem;
	background: #f3efe6;
	box-shadow: 0 14px 34px rgba(33, 31, 27, 0.13);
}

@media (max-width: 899px) {
	.ibbm-home-hero {
		grid-template-columns: 1fr;
	}
	.ibbm-home-hero .ibbm-home-hero-media,
	.ibbm-home-hero .ibbm-home-hero-picture {
		order: 2;
	}
	.ibbm-home-hero > div:first-child {
		order: 1;
	}
	.ibbm-home-hero .ibbm-home-actions {
		margin-bottom: 0.25rem;
	}
	.ibbm-home-hero .ibbm-home-hero-media img,
	.ibbm-home-hero .ibbm-home-hero-picture img {
		padding: 4px;
		border-radius: 0.75rem;
		box-shadow: 0 9px 22px rgba(33, 31, 27, 0.11);
	}
	.ibbm-home-hero__caption {
		right: 0.75rem;
		bottom: 1rem;
		left: 0.75rem;
	}
	.ibbm-home-hero__caption {
		right: 0.4rem;
		left: 0.4rem;
		gap: 0.18rem;
		font-size: clamp(0.72rem, 2.8cqw, 1rem);
	}
	@media (max-width: 360px) {
		.ibbm-home-hero__caption {
			right: 0.2rem;
			left: 0.2rem;
			gap: 0.08rem;
			letter-spacing: -0.015em;
		}
		.ibbm-home-hero__caption {
			font-size: 0.58rem;
		}
	}
}

/* Portada hero y cabecera editorial (1.0.21).
 * La grilla favorece apenas al texto, reduce los cortes del titular y alinea
 * la fotografía con el comienzo de la lectura principal. El ajuste se limita
 * al escritorio; la composición móvil aprobada permanece intacta. */
@media (min-width: 900px) {
	.ibbm-home-hero {
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
		align-items: start;
		gap: clamp(1.25rem, 2.2vw, 2rem);
	}

	.ibbm-home-hero h1 {
		max-width: 21ch;
		font-size: clamp(2.15rem, 3.5vw, 2.9rem);
		letter-spacing: -0.025em;
	}

	.ibbm-home-hero .ibbm-home-hero-picture {
		margin-top: 1.7rem;
	}

	.ibbm-home-summary {
		max-width: 68ch;
	}
}

@media (min-width: 1024px) {
	.ibbm-site-header {
		padding-top: 1rem !important;
	}

	.ibbm-header-row {
		padding-bottom: 1rem;
	}

	.ibbm-primary-nav-wrap {
		padding-top: 0.45rem !important;
		padding-bottom: 0.45rem !important;
	}

	.ibbm-dependency-link--conicet img {
		width: 4.65rem;
		max-height: 2.55rem;
		max-width: 7.25rem;
	}

	.ibbm-dependency-link--unlp img {
		width: 6.9rem;
		max-height: 3rem;
		max-width: 8.25rem;
	}

	.ibbm-dependency-lockup {
		width: 14rem;
	}

	/* Marca conjunta junto al wordmark y herramientas apiladas a la derecha. */
	.ibbm-header-tools:has(.ibbm-dependency-lockup) {
		display: grid;
		width: 31.75rem;
		grid-template-columns: 16rem 12rem;
		grid-template-rows: auto auto;
		justify-content: space-between;
		align-items: center;
		column-gap: 0;
		row-gap: 0.35rem;
	}

	.ibbm-header-tools:has(.ibbm-dependency-lockup) .ibbm-dependencies {
		grid-column: 1;
		grid-row: 1 / 3;
		justify-self: start;
	}

	.ibbm-header-tools:has(.ibbm-dependency-lockup) .ibbm-dependency-lockup {
		width: 16rem;
	}

	.ibbm-header-tools:has(.ibbm-dependency-lockup) .ibbm-members-mail {
		grid-column: 2;
		grid-row: 1;
		justify-self: center;
		white-space: nowrap;
	}

	.ibbm-header-tools:has(.ibbm-dependency-lockup) .ibbm-runtime-language-switcher {
		grid-column: 2;
		grid-row: 2;
		justify-self: center;
	}

}

/* CTAs del hero (1.0.22): dos acciones equivalentes, compactas y centradas. */
.ibbm-home-hero .ibbm-home-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 13.75rem));
	justify-content: center;
	align-items: stretch;
	gap: 0.75rem;
	width: 100%;
}

.ibbm-home-hero .ibbm-home-actions > a {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	/* El acabado píldora / hover queda en el bloque 1.0.184 superior. */
	text-align: center;
	text-decoration: none;
}

.ibbm-home-hero .ibbm-home-actions > a:hover,
.ibbm-home-hero .ibbm-home-actions > a:focus-visible {
	text-decoration: none;
}

@media (max-width: 30rem) {
	.ibbm-home-hero .ibbm-home-actions {
		grid-template-columns: minmax(0, 15.5rem);
		gap: 0.65rem;
	}
}

/* Puertas principales de portada (1.0.23): superficies compactas y clicables. */
#accesos .ibbm-home-section-head {
	margin-bottom: clamp(1.1rem, 1.8vw, 1.45rem);
}

#accesos .ibbm-section-lead {
	max-width: 58rem;
	margin-bottom: 0;
}

#accesos .ibbm-doors {
	gap: clamp(0.8rem, 1.5vw, 1.15rem);
}

#accesos .ibbm-door {
	box-sizing: border-box;
	height: auto;
	min-height: 0;
	padding: 0;
	overflow: hidden;
	border: 1px solid #cf9b89;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--foco, #c2410c) 22%, var(--wp--preset--color--beige, #ccc5b7));
	border-top: 4px solid var(--wp--preset--color--bordo, #8c2b32);
	border-radius: 2px;
	background: #f0ded2;
	background: color-mix(in srgb, var(--wp--preset--color--foco, #c2410c) 15%, var(--wp--preset--color--marfil, #f8f5ef));
}

#accesos .ibbm-door-link {
	box-sizing: border-box;
	display: grid;
	grid-template-rows: auto 1fr;
	align-content: start;
	width: 100%;
	height: 100%;
	min-height: 160px;
	padding: 1rem 1.15rem;
	color: var(--wp--preset--color--tinta, #211f1b);
	text-decoration: none;
	transition: background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

#accesos .ibbm-door-link:hover {
	background: #ead2c2;
	background: color-mix(in srgb, var(--wp--preset--color--foco, #c2410c) 20%, var(--wp--preset--color--marfil, #f8f5ef));
	color: var(--wp--preset--color--tinta, #211f1b);
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: 0 0.35rem 0.85rem rgba(33, 31, 27, 0.12);
}

#accesos .ibbm-door-link:focus-visible {
	outline: 3px solid var(--wp--preset--color--foco, #c2410c);
	outline-offset: -5px;
}

#accesos .ibbm-door h3 {
	margin: 0 0 0.7rem;
	color: var(--wp--preset--color--tinta, #211f1b);
	font-size: clamp(1.3rem, 1.75vw, 1.55rem);
	line-height: 1.15;
	text-align: center;
}

#accesos .ibbm-door p {
	max-width: 35ch;
	margin: 0;
	color: var(--wp--preset--color--tinta-suave, #554e44);
	line-height: 1.48;
}

@media (min-width: 768px) and (max-width: 899px) {
	#accesos .ibbm-doors {
		grid-template-columns: 1fr;
		grid-auto-rows: auto;
	}

	#accesos .ibbm-door-link {
		min-height: 140px;
	}
}

@media (max-width: 767px) {
	#accesos .ibbm-doors {
		gap: 0.85rem;
	}

	#accesos .ibbm-door-link {
		min-height: 148px;
	}
}

@media (prefers-reduced-motion: reduce) {
	#accesos .ibbm-door-link {
		transition: none;
	}
}

/* Infraestructura científica de portada (1.0.24): índice compacto y clicable. */
#laboratorios .ibbm-home-section-head {
	margin-bottom: clamp(0.9rem, 1.5vw, 1.2rem);
}

#laboratorios .ibbm-labs {
	gap: clamp(0.65rem, 1.1vw, 0.85rem);
}

#laboratorios .ibbm-labs > li {
	min-width: 0;
}

#laboratorios .ibbm-lab {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 82px;
	padding: 0.75rem 1rem;
	border: 1px solid #cf9b89;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--foco, #c2410c) 22%, var(--wp--preset--color--beige, #ccc5b7));
	border-top: 3px solid var(--wp--preset--color--bordo, #8c2b32);
	border-radius: 2px;
	background: #f0ded2;
	background: color-mix(in srgb, var(--wp--preset--color--foco, #c2410c) 15%, var(--wp--preset--color--marfil, #f8f5ef));
	color: var(--wp--preset--color--tinta, #211f1b);
	text-align: center;
	text-decoration: none;
	transition: background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

#laboratorios .ibbm-lab:hover {
	border-color: #c58f7c;
	border-color: color-mix(in srgb, var(--wp--preset--color--foco, #c2410c) 30%, var(--wp--preset--color--beige, #ccc5b7));
	background: #ead2c2;
	background: color-mix(in srgb, var(--wp--preset--color--foco, #c2410c) 20%, var(--wp--preset--color--marfil, #f8f5ef));
	color: var(--wp--preset--color--tinta, #211f1b);
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: 0 0.28rem 0.7rem rgba(33, 31, 27, 0.1);
}

#laboratorios .ibbm-lab:focus-visible {
	outline: 3px solid var(--wp--preset--color--foco, #c2410c);
	outline-offset: -5px;
}

#laboratorios .ibbm-lab__name {
	flex: none;
	display: grid;
	gap: 0.3rem;
	line-height: 1.2;
}

#laboratorios .ibbm-lab-prefix {
	color: var(--wp--preset--color--marron, #6f5d44);
	font-family: var(--wp--preset--font-family--sans, "IBM Plex Sans", sans-serif);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.055em;
	text-transform: uppercase;
}

#laboratorios .ibbm-lab-title {
	color: var(--wp--preset--color--tinta, #211f1b);
	font-size: clamp(0.98rem, 1.2vw, 1.08rem);
	font-weight: 650;
}

/* Jerarquía cromática de portada (1.0.41). */
#accesos .ibbm-door,
#accesos .ibbm-door-link {
	background: #e9eadb;
}

#accesos .ibbm-door-link:hover {
	background: #e1e3ce;
}

#laboratorios .ibbm-lab {
	background: var(--wp--preset--color--oliva, #5d5c31);
	border-color: #5d5c31;
	color: var(--wp--preset--color--marfil, #f8f5ef);
}

#laboratorios .ibbm-lab:hover {
	background: #6b6a3a;
	border-color: #6b6a3a;
	color: var(--wp--preset--color--marfil, #f8f5ef);
}

#laboratorios .ibbm-lab-prefix,
#laboratorios .ibbm-lab-title {
	color: var(--wp--preset--color--marfil, #f8f5ef);
}

/* Acentos cromáticos de portada (1.0.42). */
#laboratorios .ibbm-lab-title {
	color: var(--wp--preset--color--arena, #e5bb89);
}

#accesos .ibbm-door {
	border-top-color: var(--wp--preset--color--oliva, #5d5c31);
}

/* Institucional: tarjetas clicables con el mismo lenguaje de portada (1.0.47). */
.ibbm-page--institutional-hub .entry-content .ibbm-eyebrow {
	color: var(--wp--preset--color--oliva, #5d5c31);
}

.ibbm-page--institutional-hub .ibbm-home-section:first-child .ibbm-door {
	box-sizing: border-box;
	min-height: 0;
	padding: 0;
	overflow: hidden;
	border-top: 4px solid var(--wp--preset--color--oliva, #5d5c31);
	background: #e9eadb;
}

.ibbm-page--institutional-hub .ibbm-home-section:first-child .ibbm-door-link {
	box-sizing: border-box;
	display: grid;
	gap: 0.55rem;
	min-height: 190px;
	padding: 1.05rem 1.15rem;
	color: var(--wp--preset--color--tinta, #211f1b);
	text-decoration: none;
	transition: background-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.ibbm-page--institutional-hub .ibbm-home-section:first-child .ibbm-door-link:hover {
	background: #e1e3ce;
	color: var(--wp--preset--color--tinta, #211f1b);
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: 0 0.3rem 0.8rem rgba(33, 31, 27, 0.1);
}

.ibbm-page--institutional-hub .ibbm-home-section:first-child .ibbm-door-link:focus-visible {
	outline: 3px solid var(--wp--preset--color--foco, #c2410c);
	outline-offset: -5px;
}

.ibbm-page--institutional-hub .ibbm-home-section:first-child .ibbm-door h2,
.ibbm-page--institutional-hub .ibbm-home-section:first-child .ibbm-door h3 {
	margin: 0;
	font-size: clamp(1.3rem, 1.75vw, 1.55rem);
	line-height: 1.15;
	text-align: center;
}

.ibbm-page--institutional-hub .ibbm-home-section:first-child .ibbm-door-link p {
	margin: 0;
	color: var(--wp--preset--color--tinta-suave, #554e44);
	line-height: 1.48;
}

@media (min-width: 1024px) {
	#laboratorios .ibbm-labs {
		grid-auto-rows: minmax(82px, auto);
	}
}

@media (max-width: 639px) {
	#laboratorios .ibbm-lab {
		min-height: 76px;
		padding: 0.68rem 0.85rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	#laboratorios .ibbm-lab {
		transition: none;
	}
}

/* Macrolote M1 (1.0.55): tarjetas de navegación, autoridades y nóminas comunidad. */

/* L2 — tarjetas de navegación unificadas (.ibbm-nav-card). */
.ibbm-nav-card,
a.ibbm-door.ibbm-nav-card,
.ibbm-doors > a.ibbm-door {
	text-decoration: none;
	color: inherit;
}

.ibbm-nav-card:focus-visible,
a.ibbm-door.ibbm-nav-card:focus-visible,
.ibbm-doors > a.ibbm-door:focus-visible,
.ibbm-lab-directory a:focus-visible {
	outline: 3px solid var(--wp--preset--color--foco, #c2410c);
	outline-offset: 3px;
}

.ibbm-doors > a.ibbm-door.ibbm-nav-card,
.ibbm-doors > a.ibbm-door {
	box-sizing: border-box;
	display: grid;
	gap: 0.55rem;
	min-height: 190px;
	padding: 1.05rem 1.15rem;
	border: 1px solid var(--wp--preset--color--beige, #ccc5b7);
	border-top: 4px solid var(--wp--preset--color--oliva, #5d5c31);
	background: #e9eadb;
	color: var(--wp--preset--color--tinta, #211f1b);
	transition: background-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.ibbm-doors > a.ibbm-door.ibbm-nav-card:hover,
.ibbm-doors > a.ibbm-door:hover {
	background: #e1e3ce;
	color: var(--wp--preset--color--tinta, #211f1b);
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: 0 0.3rem 0.8rem rgba(33, 31, 27, 0.1);
}

.ibbm-doors > a.ibbm-door.ibbm-nav-card strong,
.ibbm-doors > a.ibbm-door strong,
.ibbm-doors > a.ibbm-door.ibbm-nav-card h2,
.ibbm-doors > a.ibbm-door.ibbm-nav-card h3,
.ibbm-doors > a.ibbm-door h2,
.ibbm-doors > a.ibbm-door h3 {
	margin: 0;
	font-family: var(--wp--preset--font-family--plex-serif, Georgia, serif);
	font-size: clamp(1.3rem, 1.75vw, 1.55rem);
	line-height: 1.15;
	text-align: center;
	font-weight: 700;
}

.ibbm-doors > a.ibbm-door.ibbm-nav-card p,
.ibbm-doors > a.ibbm-door p {
	margin: 0;
	color: var(--wp--preset--color--tinta-suave, #554e44);
	line-height: 1.48;
	text-align: center;
}

.ibbm-lab-directory a.ibbm-nav-card,
.ibbm-lab-directory a {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	gap: 0.65rem;
	min-height: 52px;
	padding: 0.85rem 1rem;
	border: 1px solid var(--wp--preset--color--beige, #ccc5b7);
	border-top: 3px solid var(--wp--preset--color--oliva, #5d5c31);
	background: #e9eadb;
	color: var(--wp--preset--color--tinta, #211f1b);
	text-decoration: none;
	font-weight: 600;
	width: 100%;
	height: 100%;
	transition: background-color 160ms ease, border-color 160ms ease;
}

.ibbm-lab-directory a.ibbm-nav-card:hover,
.ibbm-lab-directory a:hover {
	background: #e1e3ce;
	border-color: var(--wp--preset--color--oliva, #5d5c31);
	color: var(--wp--preset--color--tinta, #211f1b);
	text-decoration: none;
}

/* L3 — dirección institucional (M2.1: retratos 168px y un único divisor). */
body.ibbm-page--authorities .ibbm-page-main > .ibbm-page-kicker,
body.ibbm-page--authorities .ibbm-page-main > .wp-block-post-title,
body.ibbm-page--authorities .ibbm-page-main > .wp-block-post-content {
	width: 100%;
	max-width: 56rem;
}

body.ibbm-page--authorities .ibbm-page-main > .wp-block-post-content {
	margin-block-start: clamp(2.75rem, 5vw, 4rem);
}

body.ibbm-page--authorities .ibbm-section-content .section-block > h2 {
	font-size: clamp(1.65rem, 2.2vw, 1.9rem);
}

.ibbm-section-content .ibbm-authority-grid {
	display: grid;
	gap: 1.75rem 2.5rem;
	margin: 0.75rem 0 0;
	padding-bottom: 0.35rem;
}

@media (min-width: 60rem) {
	.ibbm-section-content .ibbm-authority-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: stretch;
	}

	.ibbm-section-content .ibbm-authority__email a {
		white-space: nowrap;
	}
}

.ibbm-section-content .ibbm-authority {
	display: grid;
	grid-template-columns: 10.5rem minmax(0, 1fr);
	grid-template-rows: auto auto auto auto;
	gap: 0.38rem 1.35rem;
	align-content: center;
	padding: 0;
	border-bottom: 0;
}

.ibbm-section-content .ibbm-authority__image {
	grid-column: 1;
	grid-row: 1 / span 4;
	width: 10.5rem;
	height: 10.5rem;
	margin: 0;
	padding: 3px;
	overflow: hidden;
	border-radius: 50%;
	border: 1px solid var(--wp--preset--color--oliva, #5d5c31);
	background: var(--wp--preset--color--niebla, #ede8df);
	box-shadow: none;
}

.ibbm-section-content .ibbm-authority__image img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	object-position: center top;
}

.ibbm-section-content .ibbm-authority__role,
.ibbm-section-content .ibbm-authority__name,
.ibbm-section-content .ibbm-authority__email,
.ibbm-section-content .ibbm-authority__cv {
	grid-column: 2;
	margin: 0;
	min-width: 0;
}

.ibbm-section-content .ibbm-authority__cv {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.45rem;
	margin-top: 0.55rem;
}

.ibbm-section-content .ibbm-authority__cv a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2rem;
	padding: 0.35rem 0.7rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--oliva, #5d5c31) 65%, var(--wp--preset--color--beige, #ccc5b7));
	border-radius: 0.2rem;
	background: color-mix(in srgb, var(--wp--preset--color--beige, #ccc5b7) 45%, #fff);
	color: var(--wp--preset--color--oliva, #5d5c31);
	box-shadow: 0 1px 0 color-mix(in srgb, var(--wp--preset--color--oliva-profundo, #45451f) 65%, transparent);
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

.ibbm-section-content .ibbm-authority__cv a:hover,
.ibbm-section-content .ibbm-authority__cv a:focus-visible {
	background: var(--wp--preset--color--oliva, #5d5c31);
	color: var(--wp--preset--color--marfil, #f8f5ef);
	box-shadow: 0 2px 0 var(--wp--preset--color--oliva-profundo, #45451f);
	text-decoration: none;
}

.ibbm-section-content .ibbm-authority__cv a:active {
	transform: translateY(1px);
	box-shadow: 0 1px 0 var(--wp--preset--color--oliva-profundo, #45451f);
	text-decoration: none;
}

.ibbm-section-content .ibbm-authority__role {
	color: var(--wp--preset--color--oliva, #5d5c31);
	font-weight: 700;
	font-size: 0.92rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.ibbm-section-content .ibbm-authority__name {
	font-family: var(--wp--preset--font-family--plex-serif, Georgia, serif);
	font-size: 1.15rem;
	line-height: 1.25;
}

.ibbm-section-content .ibbm-authority__email a {
	color: #0055a4;
	text-decoration: none;
}

.ibbm-section-content .ibbm-authority__email a:hover,
.ibbm-section-content .ibbm-authority__email a:focus-visible {
	color: #003f7d;
	text-decoration: none;
}

.ibbm-section-content .ibbm-board-intro {
	max-width: none;
}

.ibbm-section-content .section-block[aria-labelledby="cd"] > p,
.ibbm-section-content .section-block[aria-labelledby="cd"] > .table-wrap {
	max-width: none;
}

.ibbm-section-content .table-wrap {
	-webkit-overflow-scrolling: touch;
}

.ibbm-section-content .section-block[aria-labelledby="cd"] .data-table {
	min-width: 36rem;
}

.ibbm-institutional-architecture figure {
	margin: 0;
}

.ibbm-institutional-architecture figure img {
	display: block;
	width: 100%;
	height: auto;
}

.ibbm-institutional-architecture .ibbm-architecture-caption {
	max-width: 68ch;
	margin-top: clamp(1.25rem, 2.5vw, 1.75rem);
	color: var(--wp--preset--color--tinta, #211f1b);
	font-size: 1rem;
	line-height: 1.55;
}

.ibbm-institutional-architecture .ibbm-architecture-caption__lead {
	margin: 0 0 0.65rem;
	font-weight: 600;
}

.ibbm-institutional-architecture .ibbm-architecture-units {
	margin: 0 0 0.85rem 1.25rem;
	padding: 0;
}

.ibbm-institutional-architecture .ibbm-architecture-units li {
	margin: 0.2rem 0;
	padding-left: 0.15rem;
}

.ibbm-institutional-architecture .ibbm-architecture-caption__closing {
	margin: 0;
}

@media (max-width: 35rem) {
	.ibbm-section-content .ibbm-authority {
		grid-template-columns: 7.75rem minmax(0, 1fr);
		gap: 0.32rem 0.75rem;
	}
	.ibbm-section-content .ibbm-authority__image {
		width: 7.75rem;
		height: 7.75rem;
	}
}

/* L4 — nóminas comunidad (.person-list--roster). */
.ibbm-section-content .person-list--roster {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	margin: 0.75rem 0 0;
	padding: 0;
	list-style: none;
}

.ibbm-section-content .person-list--roster > li {
	display: grid;
	grid-template-columns: 7.5rem minmax(0, 1fr);
	grid-template-rows: auto auto 1fr;
	gap: 0.15rem 0.9rem;
	align-content: start;
	min-width: 0;
	padding: 0.85rem;
	border: 1px solid var(--wp--preset--color--beige, #ccc5b7);
	background: var(--wp--preset--color--blanco, #fff);
}

.ibbm-section-content .person-list--roster .ibbm-person-photo,
.ibbm-section-content .person-list--roster > li > figure.ibbm-person-photo {
	grid-column: 1;
	grid-row: 1 / 4;
	width: 7.5rem;
	height: 7.5rem;
	margin: 0;
}

.ibbm-section-content .person-list--roster > li > :not(.ibbm-person-photo):not(figure) {
	grid-column: 2;
	min-width: 0;
}

.ibbm-section-content .person-list--roster .person-role {
	color: var(--wp--preset--color--oliva, #5d5c31);
	font-weight: 700;
	font-size: 0.88rem;
}

.ibbm-section-content .person-list--roster .person-lab {
	font-size: 0.88rem;
}

.ibbm-section-content .person-list--roster a:focus-visible {
	outline: 3px solid var(--wp--preset--color--foco, #c2410c);
	outline-offset: 2px;
}

@media (max-width: 48rem) {
	.ibbm-section-content .person-list--roster {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 26rem) {
	.ibbm-section-content .person-list--roster > li {
		grid-template-columns: 6.5rem minmax(0, 1fr);
	}
	.ibbm-section-content .person-list--roster .ibbm-person-photo,
	.ibbm-section-content .person-list--roster > li > figure.ibbm-person-photo {
		width: 6.5rem;
		height: 6.5rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ibbm-doors > a.ibbm-door,
	.ibbm-lab-directory a {
		transition: none;
	}
}

/* Última capa del ejemplo de tarjetas visuales, después de las reglas
 * históricas del directorio textual. */
.ibbm-lab-directory.ibbm-lab-directory--images a.ibbm-lab-card {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	padding: 0;
	min-height: 0;
}
.ibbm-lab-directory.ibbm-lab-directory--images a.ibbm-lab-card figure {
	display: block;
	width: 100%;
	flex: 0 0 auto;
}
.ibbm-lab-directory.ibbm-lab-directory--images a.ibbm-lab-card > span {
	width: auto;
}

/* Infraestructura científica — iconos portada piloto (1.0.77, solo #laboratorios). */
#laboratorios .ibbm-home-section-head {
	margin-bottom: clamp(1rem, 1.8vw, 1.35rem);
}

#laboratorios .ibbm-section-lead {
	margin: 0.35rem 0 0;
	color: var(--wp--preset--color--tinta-suave, #554e44);
	font-family: var(--wp--preset--font-family--ibm-plex-sans, "IBM Plex Sans", sans-serif);
	font-size: clamp(1rem, 1.2vw, 1.1rem);
	font-weight: 500;
}

#laboratorios .ibbm-labs--icons {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(0.75rem, 1.3vw, 1rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 640px) {
	#laboratorios .ibbm-labs--icons {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	#laboratorios .ibbm-labs--icons {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		grid-auto-rows: auto;
	}
}

#laboratorios .ibbm-labs--icons > li {
	display: flex;
	min-width: 0;
}

#laboratorios a.ibbm-lab--icon {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: auto auto minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 0.7rem;
	width: 100%;
	min-height: 5.75rem;
	padding: 0.7rem 0.85rem 0.7rem 0.65rem;
	border: 1px solid color-mix(in srgb, #45451f 55%, #5d5c31);
	border-radius: 12px;
	background:
		linear-gradient(160deg, color-mix(in srgb, #6f6e3d 28%, #5d5c31) 0%, #5d5c31 48%, #52512b 100%);
	color: var(--wp--preset--color--marfil, #f8f5ef);
	text-align: left;
	text-decoration: none;
	box-shadow: none;
	transform: none;
	transition: transform 180ms ease, filter 180ms ease, background-color 180ms ease;
}

#laboratorios a.ibbm-lab--icon:hover,
#laboratorios a.ibbm-lab--icon:focus-visible {
	background:
		linear-gradient(160deg, color-mix(in srgb, #7a7945 34%, #636232) 0%, #636232 50%, #57562f 100%);
	color: var(--wp--preset--color--marfil, #f8f5ef);
	filter: brightness(1.05);
	transform: translateY(-2px);
	text-decoration: none;
	box-shadow: 0 0.35rem 0.85rem rgba(33, 31, 27, 0.16);
}

#laboratorios a.ibbm-lab--icon:focus-visible {
	outline: 3px solid var(--wp--preset--color--foco, #c2410c);
	outline-offset: 3px;
}

#laboratorios .ibbm-lab__icon-wrap {
	display: grid;
	place-items: center;
	width: 4.15rem;
	height: 4.35rem;
	overflow: visible;
	background: transparent;
}

#laboratorios .ibbm-lab__icon {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	background: transparent;
	mix-blend-mode: normal;
}

#laboratorios .ibbm-lab__divider {
	display: block;
	width: 1px;
	align-self: stretch;
	margin-block: 0.45rem;
	background: color-mix(in srgb, #f8f5ef 28%, transparent);
}

#laboratorios a.ibbm-lab--icon .ibbm-lab__name {
	display: grid;
	gap: 0.22rem;
	min-width: 0;
	line-height: 1.2;
}

#laboratorios a.ibbm-lab--icon .ibbm-lab-prefix {
	color: color-mix(in srgb, #f8f5ef 82%, #e5bb89);
	font-family: var(--wp--preset--font-family--ibm-plex-sans, "IBM Plex Sans", Arial, sans-serif);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

#laboratorios a.ibbm-lab--icon .ibbm-lab-title {
	color: var(--wp--preset--color--marfil, #f8f5ef);
	font-family: var(--wp--preset--font-family--plex-serif, "IBM Plex Serif", Georgia, serif);
	font-size: clamp(0.92rem, 1.05vw, 1.05rem);
	font-weight: 700;
	line-height: 1.22;
}

#laboratorios .ibbm-lab__arrow {
	display: grid;
	place-items: center;
	color: color-mix(in srgb, #f8f5ef 88%, #e5bb89);
	transition: transform 180ms ease;
}

#laboratorios a.ibbm-lab--icon:hover .ibbm-lab__arrow,
#laboratorios a.ibbm-lab--icon:focus-visible .ibbm-lab__arrow {
	transform: translateX(3px);
}

@media (max-width: 639px) {
	#laboratorios a.ibbm-lab--icon {
		min-height: 5.25rem;
		padding: 0.62rem 0.75rem 0.62rem 0.55rem;
		column-gap: 0.55rem;
	}
	#laboratorios .ibbm-lab__icon-wrap {
		width: 3rem;
		height: 3.9rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	#laboratorios a.ibbm-lab--icon,
	#laboratorios .ibbm-lab__arrow {
		transition: none;
	}
	#laboratorios a.ibbm-lab--icon:hover,
	#laboratorios a.ibbm-lab--icon:focus-visible {
		transform: none;
	}
	#laboratorios a.ibbm-lab--icon:hover .ibbm-lab__arrow,
	#laboratorios a.ibbm-lab--icon:focus-visible .ibbm-lab__arrow {
		transform: none;
	}
}

/* Arquitectura de ancho para páginas institucionales y nóminas (1.0.95).
 * El marco exterior coincide con la portada (78rem), mientras Historia y
 * Horizonte conservan una columna de lectura de 56rem alineada a la izquierda.
 * La regla se limita a IDs trilingües conocidos: no altera otras páginas. */
body:is(
	.ibbm-page--history,
	.ibbm-page--authorities,
	.ibbm-page--organization,
	.ibbm-page--researchers,
	.ibbm-page--support-staff,
	.ibbm-page--fellows,
	.ibbm-page--students,
	.ibbm-page--administrative-staff,
	.ibbm-page--vision-mission
) .ibbm-page-main {
	width: 100%;
	max-width: 78rem;
	margin-inline: auto;
}

/* Autoridades, Organización y Comunidad usan el ancho editorial completo. */
body:is(
	.ibbm-page--authorities,
	.ibbm-page--organization,
	.ibbm-page--researchers,
	.ibbm-page--support-staff,
	.ibbm-page--fellows,
	.ibbm-page--students,
	.ibbm-page--administrative-staff
) .ibbm-page-main > :is(.ibbm-page-kicker, .wp-block-post-title, .wp-block-post-content) {
	width: 100%;
	max-width: 78rem;
	margin-inline: 0;
}

/* Historia y Horizonte: mismo margen exterior, sin alargar los renglones. */
body:is(
	.ibbm-page--history,
	.ibbm-page--vision-mission
) .ibbm-page-main > :is(.ibbm-page-kicker, .wp-block-post-title, .wp-block-post-content) {
	width: 100%;
	max-width: 56rem;
	margin-inline: 0 auto !important;
}

/* El organigrama gana presencia, pero no se estira hasta los 78rem completos. */
body:is(.ibbm-page--organization) .ibbm-institutional-architecture {
	width: 100%;
	max-width: 68rem;
	margin-right: auto;
}

/* Tres fichas por fila sólo cuando cada tarjeta conserva espacio suficiente.
 * La grilla existente sigue resolviendo 2 columnas en tablet y 1 en móvil. */
@media (min-width: 40rem) and (max-width: 68.749rem) {
	body:is(
		.ibbm-page--researchers,
		.ibbm-page--support-staff,
		.ibbm-page--fellows,
		.ibbm-page--students,
		.ibbm-page--administrative-staff
	) .ibbm-section-content .person-list--roster {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 68.75rem) {
	body:is(
		.ibbm-page--researchers,
		.ibbm-page--support-staff,
		.ibbm-page--fellows,
		.ibbm-page--students,
		.ibbm-page--administrative-staff
	) .ibbm-section-content .person-list--roster {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Ajuste editorial individual de Institucional (1.0.96).
 * Historia y Horizonte recuperan un eje centrado con medida de lectura propia.
 * Organización usa una medida visual mayor, también centrada. Esta capa no
 * afecta Autoridades, Comunidad ni ninguna otra familia de páginas. */
body:is(.ibbm-page--history)
	.ibbm-page-main > :is(.ibbm-page-kicker, .wp-block-post-title, .wp-block-post-content) {
	width: 100%;
	max-width: 52rem;
	margin-inline: auto !important;
}

body:is(.ibbm-page--vision-mission)
	.ibbm-page-main > :is(.ibbm-page-kicker, .wp-block-post-title, .wp-block-post-content) {
	width: 100%;
	max-width: 52rem;
	margin-inline: auto !important;
}

body:is(.ibbm-page--organization)
	.ibbm-page-main > :is(.ibbm-page-kicker, .wp-block-post-title, .wp-block-post-content) {
	width: 100%;
	max-width: 64rem;
	margin-inline: auto !important;
}

body:is(.ibbm-page--organization)
	.ibbm-institutional-architecture {
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

body:is(.ibbm-page--organization)
	.ibbm-institutional-architecture > h2,
body:is(.ibbm-page--organization)
	.ibbm-architecture-figure,
body:is(.ibbm-page--organization)
	.ibbm-architecture-caption {
	width: 100%;
	max-width: none;
}

/* Historia (1.0.97): justificación editorial acotada al cuerpo narrativo y a
 * la cronología. Títulos, fechas y última línea conservan su comportamiento. */
body:is(.ibbm-page--history)
	.ibbm-section-content .section-block p {
	width: 100%;
	max-width: none;
	text-align: justify;
	text-justify: inter-word;
	hyphens: none;
}

body:is(.ibbm-page--vision-mission)
	.ibbm-section-content .section-block p {
	width: 100%;
	max-width: none;
	text-align: justify;
	text-justify: inter-word;
	hyphens: none;
}

@media (max-width: 39.999rem) {
	body:is(
		.ibbm-page--history,
		.ibbm-page--vision-mission
	)
		.ibbm-section-content .section-block p {
		text-align: left;
		hyphens: none;
	}
}

/* Autoridades (1.0.99): medida editorial propia. El bloque completo comparte
 * el eje centrado de Organización, sin regresar a la columna estrecha previa. */
body:is(.ibbm-page--authorities)
	.ibbm-page-main > :is(.ibbm-page-kicker, .wp-block-post-title, .wp-block-post-content) {
	width: 100%;
	max-width: 64rem;
	margin-inline: auto !important;
}

body:is(.ibbm-page--authorities)
	.ibbm-section-content .ibbm-authority-grid {
	width: 100%;
	max-width: none;
	margin-top: clamp(1.35rem, 2.2vw, 1.75rem);
}

body:is(.ibbm-page--authorities)
	.ibbm-section-content .section-block[aria-labelledby="cd"] > :is(p, .table-wrap) {
	width: 100%;
	max-width: none;
}

/* Autoridades (1.0.100): microajustes tipográficos solicitados. */
body:is(.ibbm-page--authorities)
	.ibbm-section-content .ibbm-authority__name {
	font-size: 1.25rem;
	line-height: 1.2;
}

body:is(.ibbm-page--authorities)
	.ibbm-section-content .ibbm-authority__email {
	margin-top: -0.1rem;
}

body:is(.ibbm-page--authorities)
	.ibbm-section-content .section-block[aria-labelledby="cd"] > p {
	text-align: justify;
	text-justify: inter-word;
	hyphens: none;
}

body:is(.ibbm-page--authorities)
	.ibbm-section-content .section-block[aria-labelledby="cd"] .data-table thead th,
body:is(.ibbm-page--authorities)
	.ibbm-section-content .section-block[aria-labelledby="cd"] .data-table tbody th {
	font-weight: 700;
}

@media (max-width: 39.999rem) {
	body:is(.ibbm-page--authorities)
		.ibbm-section-content .section-block[aria-labelledby="cd"] > p {
		text-align: left;
	}
}

/* Organización (1.0.102): aire previo al organigrama y enlaces editoriales
 * destacados sin subrayado, conservando el color heredado. */
body:is(.ibbm-page--organization)
	.ibbm-institutional-architecture > h2 {
	margin-bottom: 1.15rem;
}

/* El cierre descriptivo acompaña el ancho visual del organigrama. La regla
 * general de lectura de 68ch sigue vigente para el resto de los párrafos. */
body:is(.ibbm-page--organization)
	.ibbm-architecture-caption__closing {
	width: 100%;
	max-width: none;
}

body:is(.ibbm-page--organization)
	.ibbm-section-content > .section-block:not(.ibbm-institutional-architecture) a {
	font-weight: 700;
	text-decoration: none;
}

body:is(.ibbm-page--organization)
	.ibbm-section-content > .section-block:not(.ibbm-institutional-architecture) a:hover,
body:is(.ibbm-page--organization)
	.ibbm-section-content > .section-block:not(.ibbm-institutional-architecture) a:focus-visible {
	text-decoration: none;
}

/* Investigación (1.0.103): separa visualmente las filas del directorio sin
 * alterar tarjetas, imágenes ni cantidad de columnas. */
body:is(.ibbm-page--research-hub)
	.ibbm-lab-directory.ibbm-lab-directory--images {
	column-gap: 0.75rem;
	row-gap: 1.375rem;
}

@media (max-width: 48rem) {
	body:is(.ibbm-page--research-hub)
		.ibbm-lab-directory.ibbm-lab-directory--images {
		row-gap: 1rem;
	}
}

/* Investigación (1.0.104): rótulos compactos de dos líneas y área tipográfica
 * uniforme. Se conserva la serif institucional y no se trunca ningún nombre. */
body:is(.ibbm-page--research-hub)
	.ibbm-lab-directory.ibbm-lab-directory--images a.ibbm-lab-card > span {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 4.5rem;
	font-family: "IBM Plex Serif", Georgia, "Times New Roman", serif !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	line-height: 1.25;
	text-align: center;
	text-wrap: balance;
}

/* Investigación (1.0.105): cuatro columnas solo cuando cada rótulo dispone
 * del ancho necesario para mantenerse en un máximo de dos líneas. */
@media (min-width: 32.501rem) and (max-width: 67.499rem) {
	body:is(.ibbm-page--research-hub)
		.ibbm-lab-directory.ibbm-lab-directory--images {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Autoridades: override final para el botón Trayectoria. */
body.ibbm-page--authorities .ibbm-authority__cv a {
	font-family: "IBM Plex Serif", Georgia, serif !important;
	font-size: 0.98rem !important;
	font-weight: 700 !important;
	min-height: 2.05rem !important;
	padding: 0.30rem 0.9rem !important;
	border: 1px solid #45451f !important;
	border-radius: 0.35rem !important;
	background: linear-gradient(145deg, #626537 0%, #555b2b 55%, #4b5025 100%) !important;
	color: #f8f5ef !important;
	box-shadow: 0 3px 0 #45451f, 0 5px 10px rgba(52,57,25,.16) !important;
	text-decoration: none !important;
}
body.ibbm-page--authorities .ibbm-authority__cv a:hover,
body.ibbm-page--authorities .ibbm-authority__cv a:focus-visible {
	background: linear-gradient(145deg, #6b6e3d 0%, #606535 55%, #555b2b 100%) !important;
	color: #f8f5ef !important;
	box-shadow: 0 4px 0 #45451f, 0 7px 14px rgba(52,57,25,.2) !important;
	transform: translateY(-1px);
	text-decoration: none !important;
}


/* Piloto ficha miembro (.ibbm-member-card) — 1.0.121
 * Compacta, crema (no salvia total), rol “Investigador”,
 * pictograma oficial del laboratorio (PNG institucional). */
.ibbm-section-content .person-list--roster > li.ibbm-member-card-item {
	display: block;
	padding: 0;
	border: 0;
	background: transparent;
	min-width: 0;
}

.ibbm-section-content :is(a.ibbm-member-card, .ibbm-member-card--static, .ibbm-member-card--fellow) {
	--ibbm-cream: #faf8f3;
	--ibbm-cream-light: #fcfaf6;
	--ibbm-olive: #626a30;
	--ibbm-olive-hover: #4c5424;
	--ibbm-sage: #d5d7ba;
	--ibbm-text: #111820;
	--ibbm-muted: #5f5b54; /* AA ≥4.5:1 lab-label on cream (1.0.149) */
	--ibbm-border: #d5d1c5;
	--ibbm-divider: #d9d5ca;

	position: relative;
	width: 100%;
	min-height: 0;
	height: auto;
	box-sizing: border-box;
	overflow: hidden;
	display: grid;
	grid-template-columns: 6.5rem minmax(0, 1fr);
	column-gap: 1.2rem;
	align-items: center;
	padding: 0.75rem 1rem 0.75rem 0.7rem;
	background: linear-gradient(100deg, var(--ibbm-cream-light) 0%, var(--ibbm-cream) 100%);
	border: 1px solid var(--ibbm-border);
	border-radius: 12px;
	box-shadow:
		0 2px 7px rgba(61, 59, 39, 0.07),
		0 1px 2px rgba(61, 59, 39, 0.04);
	color: inherit;
	text-decoration: none;
	isolation: isolate;
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.ibbm-section-content a.ibbm-member-card:hover,
.ibbm-section-content a.ibbm-member-card:focus-visible {
	transform: translateY(-1px);
	border-color: #c6c2b4;
	box-shadow:
		0 6px 14px rgba(61, 59, 39, 0.1),
		0 2px 3px rgba(61, 59, 39, 0.04);
	text-decoration: none;
	color: inherit;
}

.ibbm-section-content a.ibbm-member-card:focus-visible {
	outline: 3px solid var(--wp--preset--color--foco, #c2410c);
	outline-offset: 2px;
}

/* Solo franja izquierda — no tiñe toda la tarjeta */
.ibbm-section-content .ibbm-member-card__photo-bg {
	position: absolute;
	z-index: 0;
	left: 0;
	top: 0;
	bottom: 0;
	width: 6.55rem;
	max-width: 38%;
	background: linear-gradient(135deg, #d9dbc1 0%, #ced1ae 100%);
	border-radius: 12px 22px 22px 12px;
	opacity: 0.95;
	pointer-events: none;
}

.ibbm-section-content .ibbm-member-card__photo {
	position: relative;
	z-index: 3;
	width: 6.5rem;
	height: 6.5rem;
	overflow: hidden;
	border-radius: 0.65rem;
	border: 2px solid rgba(255, 255, 255, 0.9);
	box-sizing: border-box;
	background: #e7e4da;
	box-shadow: 0 1px 4px rgba(42, 46, 27, 0.12);
}


.ibbm-section-content .ibbm-member-card__photo--placeholder {
	display: grid;
	place-items: center;
	color: var(--ibbm-olive, #626a30);
	font-family: var(--wp--preset--font-family--ibm-plex-serif, "IBM Plex Serif", Georgia, serif);
	font-weight: 700;
	font-size: 0.95rem;
	letter-spacing: 0.04em;
	background: linear-gradient(160deg, #d9d6c4 0%, #c9c5ae 100%);
}

.ibbm-section-content .ibbm-member-card__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.ibbm-section-content .ibbm-member-card__content {
	position: relative;
	z-index: 4;
	min-width: 0;
	padding: 0.1rem 2.7rem 0.1rem 0.35rem;
}

.ibbm-section-content .ibbm-member-card__name {
	display: block;
	margin: 0;
	color: var(--ibbm-text);
	font-family: var(--wp--preset--font-family--ibm-plex-serif, "IBM Plex Serif", Georgia, serif);
	font-size: 1.06rem;
	line-height: 1.15;
	font-weight: 700;
	letter-spacing: -0.015em;
}

.ibbm-section-content .ibbm-member-card__role {
	margin-top: 0.2rem;
	color: var(--ibbm-olive);
	font-family: var(--wp--preset--font-family--ibm-plex-sans, "IBM Plex Sans", Arial, sans-serif);
	font-size: 0.86rem;
	line-height: 1.2;
	font-weight: 700;
}

.ibbm-section-content .ibbm-member-card__divider {
	width: 100%;
	height: 1px;
	margin: 0.4rem 0 0.35rem;
	background: var(--ibbm-divider);
}

.ibbm-section-content .ibbm-member-card__laboratory {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

/* Pictograma oficial del laboratorio (PNG), no SVG genérico */
.ibbm-section-content .ibbm-member-card__lab-icon {
	flex: 0 0 auto;
	width: 1.55rem;
	height: 1.55rem;
	object-fit: contain;
	display: block;
}

.ibbm-section-content .ibbm-member-card__lab-text {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.05rem;
}

.ibbm-section-content .ibbm-member-card__lab-label {
	color: var(--ibbm-muted);
	font-family: var(--wp--preset--font-family--ibm-plex-sans, "IBM Plex Sans", Arial, sans-serif);
	font-size: 0.72rem;
	line-height: 1.1;
	font-weight: 500;
}

.ibbm-section-content .ibbm-member-card__lab-name {
	color: #20282c;
	font-family: var(--wp--preset--font-family--ibm-plex-serif, "IBM Plex Serif", Georgia, serif);
	font-size: 0.88rem;
	line-height: 1.2;
	font-weight: 600;
}

.ibbm-section-content .ibbm-member-card__decoration {
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	width: 3.4rem;
	height: 100%;
	background: linear-gradient(
		180deg,
		rgba(219, 222, 193, 0.55) 0%,
		rgba(202, 207, 166, 0.55) 100%
	);
	clip-path: polygon(70% 0, 100% 0, 100% 100%, 0 100%, 0 52%);
	pointer-events: none;
}

.ibbm-section-content .ibbm-member-card__lab-watermark {
	position: absolute;
	z-index: 2;
	right: 0.2rem;
	top: 50%;
	transform: translateY(-54%);
	width: 3.4rem;
	height: auto;
	opacity: 0.38;
	pointer-events: none;
	/* Tinte oliva institucional (#626a30) para contrastar con el salvia */
	filter: brightness(0) saturate(100%) invert(36%) sepia(18%) saturate(900%) hue-rotate(29deg) brightness(92%) contrast(95%);
}
/* CPA: franjas oliva unificadas + logomarca más chica */
.ibbm-section-content .ibbm-member-card--static .ibbm-member-card__photo-bg {
	background: linear-gradient(
		135deg,
		#b7be86 0%,
		#9aa46a 55%,
		#8d9760 100%
	);
	opacity: 1;
}
.ibbm-section-content .ibbm-member-card--static .ibbm-member-card__lab-watermark {
	right: 0.15rem;
	width: 3.55rem;
	opacity: 1;
	filter: drop-shadow(0 1px 1px rgba(42, 46, 27, 0.28)) drop-shadow(0 0 0.4px rgba(42, 46, 27, 0.35));
	mix-blend-mode: normal;
}
.ibbm-section-content .ibbm-member-card--static .ibbm-member-card__decoration {
	width: 4.15rem;
	background: linear-gradient(
		180deg,
		#b7be86 0%,
		#9aa46a 55%,
		#8d9760 100%
	);
	opacity: 1;
}
.ibbm-section-content .ibbm-member-card--static .ibbm-member-card__content {
	padding-right: 2.35rem;
}
.ibbm-section-content .ibbm-member-card__degree {
	display: block;
	margin-top: 0.12rem;
	color: #6e695f;
	font-family: var(--wp--preset--font-family--ibm-plex-sans, "IBM Plex Sans", Arial, sans-serif);
	font-size: 0.78rem;
	line-height: 1.2;
	font-weight: 500;
}
.ibbm-section-content .ibbm-member-card__email {
	display: inline-block;
	max-width: 100%;
	margin-top: 0.35rem;
	color: #5a554c;
	font-family: var(--wp--preset--font-family--ibm-plex-sans, "IBM Plex Sans", Arial, sans-serif);
	font-size: 0.7rem;
	line-height: 1.25;
	text-decoration: none;
	overflow-wrap: anywhere;
	hyphens: none;
}
.ibbm-section-content .ibbm-member-card__email:hover,
.ibbm-section-content .ibbm-member-card__email:focus-visible {
	color: var(--ibbm-olive, #626a30);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.ibbm-section-content .ibbm-member-card__email:focus-visible {
	outline: 2px solid var(--wp--preset--color--foco, #c2410c);
	outline-offset: 2px;
}

.ibbm-section-content .ibbm-member-card__button {
	position: absolute;
	z-index: 6;
	right: 0.7rem;
	bottom: 0.65rem;
	width: 1.85rem;
	height: 1.85rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--ibbm-olive);
	box-shadow: 0 2px 5px rgba(48, 54, 24, 0.16);
	color: #15351f;
	pointer-events: none;
	transition: transform 160ms ease, background-color 160ms ease;
}

.ibbm-section-content .ibbm-member-card__button svg {
	width: 0.95rem;
	height: 0.95rem;
	fill: none;
	stroke: #ffffff;
	stroke-width: 1.9;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ibbm-section-content a.ibbm-member-card:hover .ibbm-member-card__button,
.ibbm-section-content a.ibbm-member-card:focus-visible .ibbm-member-card__button {
	background: var(--ibbm-olive-hover);
	transform: translateX(1px);
}

@media (min-width: 68.75rem) {
	.ibbm-section-content :is(a.ibbm-member-card, .ibbm-member-card--static, .ibbm-member-card--fellow) {
		grid-template-columns: 7rem minmax(0, 1fr);
		column-gap: 1.3rem;
		padding: 0.9rem 1.05rem 0.9rem 0.8rem;
	}
	.ibbm-section-content .ibbm-member-card__photo {
		width: 7rem;
		height: 7rem;
	}
	.ibbm-section-content .ibbm-member-card__photo-bg {
		width: 7.25rem;
	}
	.ibbm-section-content .ibbm-member-card__name {
		font-size: 1.12rem;
	}
}

@media (max-width: 40rem) {
	.ibbm-section-content :is(a.ibbm-member-card, .ibbm-member-card--static, .ibbm-member-card--fellow) {
		grid-template-columns: 5.85rem minmax(0, 1fr);
		column-gap: 1.05rem;
		padding: 0.7rem 0.8rem;
	}
	.ibbm-section-content .ibbm-member-card__photo {
		width: 5.85rem;
		height: 5.85rem;
	}
	.ibbm-section-content .ibbm-member-card__photo-bg {
		width: 6.05rem;
	}
	.ibbm-section-content .ibbm-member-card__content {
		padding-right: 2.4rem;
		padding-left: 0.3rem;
	}
	.ibbm-section-content .ibbm-member-card__decoration {
		width: 2.6rem;
	}
	.ibbm-section-content .ibbm-member-card__button {
		width: 1.7rem;
		height: 1.7rem;
		right: 0.55rem;
		bottom: 0.55rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ibbm-section-content a.ibbm-member-card,
	.ibbm-section-content .ibbm-member-card__button {
		transition: none;
	}
	.ibbm-section-content a.ibbm-member-card:hover,
	.ibbm-section-content a.ibbm-member-card:focus-visible {
		transform: none;
	}
	.ibbm-section-content a.ibbm-member-card:hover .ibbm-member-card__button,
	.ibbm-section-content a.ibbm-member-card:focus-visible .ibbm-member-card__button {
		transform: none;
	}
}

/* CPA ES (1.0.122): conserva el componente visual de Investigadores, pero
 * adapta la grilla a la información adicional de título y correo. */
body:is(.ibbm-page--support-staff) .ibbm-section-content .person-list--roster {
	grid-auto-rows: 1fr;
}

body:is(.ibbm-page--support-staff) .ibbm-section-content .person-list--roster > li.ibbm-member-card-item,
body:is(.ibbm-page--support-staff) .ibbm-section-content .ibbm-member-card--static {
	height: 100%;
}

@media (max-width: 56.249rem) {
	body:is(.ibbm-page--support-staff) .ibbm-section-content .person-list--roster {
		grid-template-columns: 1fr;
	}
}

@media (min-width: 56.25rem) {
body:is(.ibbm-page--support-staff) .ibbm-section-content .person-list--roster {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
}

/* Becarios ES (1.0.123): misma arquitectura de Investigadores con la relación
 * cromática invertida. El cuerpo salvia identifica el estamento; las franjas
 * crema conservan aire alrededor del retrato y de la marca del laboratorio. */
body.ibbm-page--fellows .ibbm-section-content .person-list--roster > li.ibbm-member-card-item,
body.ibbm-page--fellows .ibbm-section-content .ibbm-member-card--fellow {
	height: 100%;
}

body.ibbm-page--fellows .ibbm-section-content .ibbm-member-card--fellow {
	--ibbm-olive: #464e22;
	--ibbm-olive-hover: #343b18;
	--ibbm-muted: #626457;
	--ibbm-divider: rgba(70, 78, 34, 0.28);
	background: linear-gradient(100deg, #dfe1c8 0%, #d2d5b3 100%);
	border-color: #bec29a;
	box-shadow:
		0 2px 7px rgba(61, 66, 34, 0.09),
		0 1px 2px rgba(61, 66, 34, 0.05);
}

body.ibbm-page--fellows .ibbm-section-content .ibbm-member-card--fellow .ibbm-member-card__photo-bg {
	background: linear-gradient(145deg, #fcfaf5 0%, #f3efe5 100%);
	border-right: 1px solid rgba(98, 106, 48, 0.14);
	opacity: 1;
}

body.ibbm-page--fellows .ibbm-section-content .ibbm-member-card--fellow .ibbm-member-card__photo--placeholder {
	background: linear-gradient(155deg, #f8f5ec 0%, #eae5d8 100%);
}

body.ibbm-page--fellows .ibbm-section-content .ibbm-member-card--fellow .ibbm-member-card__content {
	padding-right: 2.55rem;
}

body.ibbm-page--fellows .ibbm-section-content .ibbm-member-card--fellow .ibbm-member-card__role {
	color: #464e22;
	font-size: 0.8rem;
	line-height: 1.18;
}

body.ibbm-page--fellows .ibbm-section-content .ibbm-member-card--fellow .ibbm-member-card__divider {
	margin-block: 0.32rem 0.3rem;
}

body.ibbm-page--fellows .ibbm-section-content .ibbm-member-card__laboratories {
	display: grid;
	gap: 0.24rem;
}

body.ibbm-page--fellows .ibbm-section-content .ibbm-member-card--fellow .ibbm-member-card__laboratory {
	gap: 0.42rem;
}

body.ibbm-page--fellows .ibbm-section-content .ibbm-member-card--fellow .ibbm-member-card__lab-icon {
	width: 1.35rem;
	height: 1.35rem;
}

body.ibbm-page--fellows .ibbm-section-content .ibbm-member-card--fellow .ibbm-member-card__lab-label {
	font-size: 0.67rem;
	color: #67695c;
}

body.ibbm-page--fellows .ibbm-section-content .ibbm-member-card--fellow .ibbm-member-card__lab-name {
	font-size: 0.82rem;
	line-height: 1.14;
	color: #22291f;
	text-decoration: none;
}

body.ibbm-page--fellows .ibbm-section-content .ibbm-member-card--fellow a.ibbm-member-card__lab-name:hover,
body.ibbm-page--fellows .ibbm-section-content .ibbm-member-card--fellow a.ibbm-member-card__lab-name:focus-visible {
	color: #343b18;
	text-decoration: underline;
	text-underline-offset: 2px;
}

body.ibbm-page--fellows .ibbm-section-content .ibbm-member-card--fellow .ibbm-member-card__email {
	margin-top: 0.28rem;
	color: #45483d;
	font-size: 0.68rem;
}

body.ibbm-page--fellows .ibbm-section-content .ibbm-member-card__email--pending {
	cursor: default;
}

/* Directorio de Comunidad IBBM (1.0.146): filtros progresivos y
 * accesibles. Sin JavaScript, la nómina completa no cambia. */
body.ibbm-page--member-directory .ibbm-directory-tools {
	margin: 0.65rem 0 1.35rem;
	padding: 1rem 1.1rem 1.1rem;
	background: linear-gradient(145deg, #f8f5ed 0%, #f1ede3 100%);
	border: 1px solid #d8d1c2;
	border-radius: 0.75rem;
	box-shadow: 0 2px 8px rgba(61, 59, 39, 0.05);
}

body.ibbm-page--member-directory .ibbm-directory-tools__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 0.8rem;
}

body.ibbm-page--member-directory .ibbm-directory-tools__title {
	margin: 0;
	color: #20241c;
	font-family: var(--wp--preset--font-family--ibm-plex-serif, "IBM Plex Serif", Georgia, serif);
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.2;
}

body.ibbm-page--member-directory .ibbm-directory-tools__controls {
	display: grid;
	grid-template-columns: minmax(13rem, 1.65fr) minmax(10rem, 1fr) minmax(9.5rem, 0.9fr) auto;
	gap: 0.75rem;
	align-items: end;
}

body.ibbm-page--member-directory .ibbm-directory-tools__controls--laboratory-only {
	grid-template-columns: minmax(15rem, 1.6fr) minmax(10rem, 1fr) auto;
}

body.ibbm-page--member-directory .ibbm-directory-tools__field {
	display: grid;
	gap: 0.28rem;
	min-width: 0;
}

body.ibbm-page--member-directory .ibbm-directory-tools__label {
	color: #65614f;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.055em;
	line-height: 1.2;
	text-transform: uppercase;
}

body.ibbm-page--member-directory .ibbm-directory-tools__select-wrap {
	position: relative;
	display: block;
}

body.ibbm-page--member-directory .ibbm-directory-tools__select-wrap::after {
	position: absolute;
	right: 0.85rem;
	top: 50%;
	width: 0.48rem;
	height: 0.48rem;
	border-right: 2px solid #59602d;
	border-bottom: 2px solid #59602d;
	content: "";
	pointer-events: none;
	transform: translateY(-68%) rotate(45deg);
}

body.ibbm-page--member-directory .ibbm-directory-tools__select {
	width: 100%;
	min-height: 2.75rem;
	box-sizing: border-box;
	appearance: none;
	padding: 0.55rem 2.35rem 0.55rem 0.75rem;
	background: #fffdf8;
	border: 1px solid #cfc8b8;
	border-radius: 0.45rem;
	color: #25271f;
	font: inherit;
	font-size: 0.9rem;
	line-height: 1.25;
	cursor: pointer;
	transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

body.ibbm-page--member-directory .ibbm-directory-tools__select:hover,
body.ibbm-page--member-directory .ibbm-directory-tools__select.is-active {
	border-color: #8c925e;
	background-color: #fffefa;
}

body.ibbm-page--member-directory .ibbm-directory-tools__select:focus-visible,
body.ibbm-page--member-directory .ibbm-directory-tools__option:focus-visible,
body.ibbm-page--member-directory .ibbm-directory-tools__clear:focus-visible {
	outline: 3px solid var(--wp--preset--color--foco, #c2410c);
	outline-offset: 2px;
}

body.ibbm-page--member-directory .ibbm-directory-tools__trigger {
	position: relative;
	display: block;
	text-align: left;
}

body.ibbm-page--member-directory .ibbm-directory-tools__select-wrap--custom.is-open::after {
	transform: translateY(-30%) rotate(225deg);
}

body.ibbm-page--member-directory .ibbm-directory-tools__menu {
	position: absolute;
	z-index: 20;
	top: calc(100% + 0.35rem);
	left: 0;
	width: 100%;
	max-height: min(19rem, 52vh);
	overflow-y: auto;
	box-sizing: border-box;
	padding: 0.3rem;
	background: #fffdf8;
	border: 1px solid #cfc8b8;
	border-radius: 0.5rem;
	box-shadow: 0 10px 24px rgba(47, 47, 29, 0.14);
}

body.ibbm-page--member-directory .ibbm-directory-tools__menu[hidden] {
	display: none;
}

body.ibbm-page--member-directory .ibbm-directory-tools__option {
	display: block;
	width: 100%;
	min-height: 2.75rem;
	box-sizing: border-box;
	padding: 0.55rem 0.65rem;
	background: transparent;
	border: 0;
	border-radius: 0.32rem;
	color: #292b22;
	font: inherit;
	font-size: 0.86rem;
	line-height: 1.25;
	text-align: left;
	cursor: pointer;
}

body.ibbm-page--member-directory .ibbm-directory-tools__option:hover,
body.ibbm-page--member-directory .ibbm-directory-tools__option:focus-visible {
	background: #f1eedf;
}

body.ibbm-page--member-directory .ibbm-directory-tools__option.is-selected {
	background: #e4e6ca;
	color: #343b18;
	font-weight: 700;
}

body.ibbm-page--member-directory .ibbm-directory-tools__result {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	min-height: 2.75rem;
	margin: 0;
	color: #5b5d4d;
	font-size: 0.86rem;
	font-weight: 650;
	line-height: 1.25;
	white-space: nowrap;
}

body.ibbm-page--member-directory .ibbm-directory-tools__clear {
	min-height: 2.75rem;
	padding: 0.25rem 0.2rem;
	background: transparent;
	border: 0;
	border-radius: 0.25rem;
	color: #646a32;
	font: inherit;
	font-size: 0.82rem;
	font-weight: 700;
	cursor: pointer;
	text-decoration: none;
}

body.ibbm-page--member-directory .ibbm-directory-tools__clear:hover {
	color: #3f461d;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

body.ibbm-page--member-directory .ibbm-directory-tools__clear[hidden],
body.ibbm-page--member-directory .ibbm-directory-empty[hidden],
body.ibbm-page--member-directory .person-list--roster > li[hidden] {
	display: none !important;
}

body.ibbm-page--member-directory .ibbm-directory-empty {
	margin: 0 0 1rem;
	padding: 1rem 1.1rem;
	background: #f6f2e9;
	border-left: 3px solid #707541;
	color: #4e4d43;
}

@media (max-width: 56.249rem) {
	body.ibbm-page--member-directory .ibbm-directory-tools__controls {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	body.ibbm-page--member-directory .ibbm-directory-tools__result {
		justify-content: flex-start;
	}
}

@media (max-width: 40rem) {
	body.ibbm-page--member-directory .ibbm-directory-tools {
		margin-top: 0.45rem;
		padding: 0.9rem;
	}
	body.ibbm-page--member-directory .ibbm-directory-tools__header {
		align-items: flex-start;
		margin-bottom: 0.7rem;
	}
	body.ibbm-page--member-directory .ibbm-directory-tools__controls {
		grid-template-columns: 1fr;
		gap: 0.65rem;
	}
	body.ibbm-page--member-directory .ibbm-directory-tools__result {
		min-height: 1.5rem;
	}
}

body.ibbm-page--fellows .ibbm-section-content .ibbm-member-card--fellow .ibbm-member-card__decoration {
	width: 3.65rem;
	background: linear-gradient(160deg, #fcfaf5 0%, #f0ebdf 100%);
	opacity: 1;
}

body.ibbm-page--fellows .ibbm-section-content .ibbm-member-card--fellow .ibbm-member-card__lab-watermark {
	right: 0.15rem;
	width: 3.55rem;
	opacity: 1;
	filter: drop-shadow(0 1px 1px rgba(42, 46, 27, 0.28)) drop-shadow(0 0 0.4px rgba(42, 46, 27, 0.35));
	mix-blend-mode: normal;
}

@media (max-width: 40rem) {
	body.ibbm-page--fellows .ibbm-section-content .ibbm-member-card--fellow .ibbm-member-card__content {
		padding-right: 2.15rem;
	}
	body.ibbm-page--fellows .ibbm-section-content .ibbm-member-card--fellow .ibbm-member-card__decoration {
		width: 3.25rem;
	}
	body.ibbm-page--fellows .ibbm-section-content .ibbm-member-card--fellow .ibbm-member-card__lab-watermark {
		width: 2.75rem;
	}
}


/* Personal administrativo ES/EN/PT (1.0.132): ficha única centrada,
 * molde CPA con cromática invertida (cuerpo oliva, franjas crema). */
body:is(.ibbm-page--administrative-staff) .ibbm-page-main > .wp-block-post-title,
body:is(.ibbm-page--administrative-staff) .ibbm-page-main .wp-block-post-content > h1 {
	text-align: center;
}

body:is(.ibbm-page--administrative-staff) .ibbm-page-main .wp-block-post-content > .ibbm-section-content--admin-solo {
	display: flex;
	justify-content: center;
	width: 100%;
	/* margin-block-start: el layout constrained resetea margin-top del :first-child */
	margin-block-start: clamp(2.25rem, 4.5vw, 3.5rem) !important;
}

body:is(.ibbm-page--administrative-staff) .ibbm-section-content--admin-solo .person-list--roster {
	width: min(100%, 34rem);
	margin: 0 auto;
	display: block;
}

body:is(.ibbm-page--administrative-staff) .ibbm-section-content .ibbm-member-card--admin {
	--ibbm-olive: #3f461d;
	--ibbm-olive-hover: #2f3515;
	--ibbm-text: #f7f4ea;
	--ibbm-muted: #d7d3c0;
	--ibbm-border: #6d7540;
	--ibbm-divider: rgba(247, 244, 234, 0.28);
	background: linear-gradient(100deg, #5f6830 0%, #4d5525 100%);
	border-color: var(--ibbm-border);
	box-shadow:
		0 3px 10px rgba(36, 40, 16, 0.18),
		0 1px 2px rgba(36, 40, 16, 0.1);
	color: var(--ibbm-text);
}

body:is(.ibbm-page--administrative-staff) .ibbm-section-content .ibbm-member-card--admin .ibbm-member-card__photo-bg {
	background: linear-gradient(145deg, #fcfaf5 0%, #efe9db 100%);
	opacity: 1;
}

body:is(.ibbm-page--administrative-staff) .ibbm-section-content .ibbm-member-card--admin .ibbm-member-card__name {
	color: #fbf8ef;
}

body:is(.ibbm-page--administrative-staff) .ibbm-section-content .ibbm-member-card--admin .ibbm-member-card__role {
	color: #e4e7c4;
}

body:is(.ibbm-page--administrative-staff) .ibbm-section-content .ibbm-member-card--admin .ibbm-member-card__divider {
	background: var(--ibbm-divider);
}

body:is(.ibbm-page--administrative-staff) .ibbm-section-content .ibbm-member-card--admin .ibbm-member-card__email,
body:is(.ibbm-page--administrative-staff) .ibbm-section-content .ibbm-member-card--admin .ibbm-member-card__phone {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin-top: 0.35rem;
	color: #f1ecdf;
	font-family: var(--wp--preset--font-family--ibm-plex-sans, "IBM Plex Sans", Arial, sans-serif);
	font-size: 0.78rem;
	line-height: 1.25;
	text-decoration: none;
}

body:is(.ibbm-page--administrative-staff) .ibbm-section-content .ibbm-member-card--admin .ibbm-member-card__phone {
	display: flex;
	width: fit-content;
	margin-top: 0.28rem;
}

body:is(.ibbm-page--administrative-staff) .ibbm-section-content .ibbm-member-card--admin .ibbm-member-card__email:hover,
body:is(.ibbm-page--administrative-staff) .ibbm-section-content .ibbm-member-card--admin .ibbm-member-card__email:focus-visible,
body:is(.ibbm-page--administrative-staff) .ibbm-section-content .ibbm-member-card--admin .ibbm-member-card__phone:hover,
body:is(.ibbm-page--administrative-staff) .ibbm-section-content .ibbm-member-card--admin .ibbm-member-card__phone:focus-visible {
	color: #ffffff;
	text-decoration: underline;
	text-underline-offset: 2px;
}

body:is(.ibbm-page--administrative-staff) .ibbm-section-content .ibbm-member-card--admin .ibbm-member-card__email:focus-visible,
body:is(.ibbm-page--administrative-staff) .ibbm-section-content .ibbm-member-card--admin .ibbm-member-card__phone:focus-visible {
	outline: 3px solid var(--wp--preset--color--foco, #c2410c);
	outline-offset: 2px;
}

body:is(.ibbm-page--administrative-staff) .ibbm-section-content .ibbm-member-card--admin .ibbm-member-card__whatsapp-icon {
	flex: 0 0 auto;
	width: 1rem;
	height: 1rem;
}

body:is(.ibbm-page--administrative-staff) .ibbm-section-content .ibbm-member-card--admin .ibbm-member-card__decoration {
	width: 3.8rem;
	background: linear-gradient(180deg, #fcfaf5 0%, #ebe4d4 100%);
	opacity: 1;
}

body:is(.ibbm-page--administrative-staff) .ibbm-section-content .ibbm-member-card--admin .ibbm-member-card__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-right: 2.5rem;
}

body:is(.ibbm-page--administrative-staff) .ibbm-section-content .ibbm-member-card--admin .ibbm-member-card__role {
	display: block;
}

body:is(.ibbm-page--administrative-staff) .ibbm-section-content .ibbm-member-card--admin .ibbm-member-card__divider {
	display: block;
}

/* Administración logomarca (1.0.227): en franja crema derecha
 * (misma ancla que lab-watermark CPA), PNG con fondo transparente. */
body:is(.ibbm-page--administrative-staff) .ibbm-section-content .ibbm-member-card--admin .ibbm-member-card__lab-watermark {
	right: 0.12rem;
	top: 50%;
	/* Un poco más abajo que el centro óptico (-52% → -38%). */
	transform: translateY(-38%);
	width: 3.45rem;
	height: auto;
	opacity: 1;
	filter: drop-shadow(0 1px 1px rgba(42, 46, 27, 0.22)) drop-shadow(0 0 0.4px rgba(42, 46, 27, 0.28));
	mix-blend-mode: normal;
	z-index: 3;
}

@media (max-width: 40rem) {
	body:is(.ibbm-page--administrative-staff) .ibbm-section-content .ibbm-member-card--admin .ibbm-member-card__lab-watermark {
		right: 0.08rem;
		width: 2.95rem;
	}
}


/* Estudiantes / Students / Estudantes (1.0.133): misma arquitectura
 * clicable de Investigadores, con franjas oliva de CPA (no cromática fellow). */
body:is(.ibbm-page--students) .ibbm-section-content .person-list--roster > li.ibbm-member-card-item,
body:is(.ibbm-page--students) .ibbm-section-content a.ibbm-member-card {
	height: 100%;
}

body:is(.ibbm-page--students) .ibbm-section-content a.ibbm-member-card .ibbm-member-card__photo-bg {
	background: linear-gradient(
		135deg,
		#b7be86 0%,
		#9aa46a 55%,
		#8d9760 100%
	);
	opacity: 1;
}

body:is(.ibbm-page--students) .ibbm-section-content a.ibbm-member-card .ibbm-member-card__decoration {
	width: 4.15rem;
	background: linear-gradient(
		180deg,
		#b7be86 0%,
		#9aa46a 55%,
		#8d9760 100%
	);
	opacity: 1;
}

body:is(.ibbm-page--students) .ibbm-section-content a.ibbm-member-card .ibbm-member-card__lab-watermark {
	right: 0.15rem;
	width: 3.55rem;
	opacity: 1;
	filter: drop-shadow(0 1px 1px rgba(42, 46, 27, 0.28)) drop-shadow(0 0 0.4px rgba(42, 46, 27, 0.35));
	mix-blend-mode: normal;
}

body:is(.ibbm-page--students) .ibbm-section-content a.ibbm-member-card .ibbm-member-card__content {
	padding-right: 2.35rem;
}


/* Logomarcas de laboratorio (1.0.134): mismo tratamiento a color
 * que Estudiantes/CPA (sin tinte monocromo), en Investigadores y Becarios.
 * Los PNG por laboratorio no cambian; solo la presentación. */
body.ibbm-page--researchers .ibbm-section-content a.ibbm-member-card .ibbm-member-card__lab-watermark,
body.ibbm-page--fellows .ibbm-section-content a.ibbm-member-card .ibbm-member-card__lab-watermark {
	right: 0.15rem;
	width: 3.55rem;
	opacity: 1;
	filter: drop-shadow(0 1px 1px rgba(42, 46, 27, 0.28)) drop-shadow(0 0 0.4px rgba(42, 46, 27, 0.35));
	mix-blend-mode: normal;
}

/* Investigadores + Becarios (1.0.149): en composiciones de varias columnas,
 * todas las tarjetas ocupan la altura flexible de la ficha más exigente. En
 * móvil se conserva la altura natural para no introducir aire innecesario. */
@media (min-width: 40rem) {
	body.ibbm-page--member-directory .ibbm-section-content .person-list--roster {
		grid-auto-rows: 1fr;
	}

	body.ibbm-page--member-directory .ibbm-section-content .person-list--roster > li.ibbm-member-card-item,
	body.ibbm-page--researchers .ibbm-section-content .person-list--roster > li.ibbm-member-card-item > a.ibbm-member-card,
	body.ibbm-page--fellows .ibbm-section-content .person-list--roster > li.ibbm-member-card-item > a.ibbm-member-card--fellow {
		height: 100%;
	}
}

@media (max-width: 40rem) {
	body.ibbm-page--researchers .ibbm-section-content a.ibbm-member-card .ibbm-member-card__lab-watermark,
	body.ibbm-page--fellows .ibbm-section-content a.ibbm-member-card .ibbm-member-card__lab-watermark {
		width: 2.75rem;
	}
}


/* CPA función-marca (1.0.142): sin rótulo «Función» (se conserva el aire),
 * logomarca de tarea más cerca del texto y separada de la marca CPA. */
body:is(.ibbm-page--support-staff) .ibbm-section-content .ibbm-member-card--static .ibbm-member-card__laboratory {
	gap: 0;
}

/* Conserva la altura del rótulo sin mostrar la palabra */
body:is(.ibbm-page--support-staff) .ibbm-section-content .ibbm-member-card--static .ibbm-member-card__lab-label {
	visibility: hidden;
}

body:is(.ibbm-page--support-staff) .ibbm-section-content .ibbm-member-card--static .ibbm-member-card__function-mark {
	position: absolute;
	z-index: 3;
	/* Más cerca del texto y más grande (1.0.140) */
	right: 10.5rem;
	top: 50%;
	transform: translateY(-52%);
	width: 4.35rem;
	height: auto;
	max-height: none;
	object-fit: contain;
	pointer-events: none;
	opacity: 1;
	filter: drop-shadow(0 1px 1px rgba(42, 46, 27, 0.22)) drop-shadow(0 0 0.4px rgba(42, 46, 27, 0.3));
}

body:is(.ibbm-page--support-staff) .ibbm-section-content .ibbm-member-card--static .ibbm-member-card__content {
	padding-right: 11.1rem;
}

@media (max-width: 40rem) {
	body:is(.ibbm-page--support-staff) .ibbm-section-content .ibbm-member-card--static .ibbm-member-card__function-mark {
		/* En móvil la marca funcional vive en la franja decorativa izquierda:
		 * no invade los datos de contacto ni compite con la marca CPA derecha. */
		/* Ensayo móvil: apila la marca funcional, pequeña, debajo de la
		 * logomarca CPA en la banda derecha; no invade retrato ni tipografía. */
		left: auto;
		/* Centro coincidente con la marca CPA superior (3.55rem). */
		right: 0.925rem;
		top: calc(50% + 2rem);
		bottom: auto;
		transform: none;
		width: 2rem;
	}
	body:is(.ibbm-page--support-staff) .ibbm-section-content .ibbm-member-card--static .ibbm-member-card__content {
		padding-right: 2.35rem;
	}
}

/* Portada móvil (1.0.250): separa físicamente la noticia fija del carrusel.
 * El ajuste se limita a smartphones; escritorio y tableta conservan su grilla. */
@media (max-width: 39.999rem) {
	.ibbm-news-grid--carousel > .ibbm-news-carousel,
	.ibbm-news-grid:has(> .ibbm-news-carousel) > .ibbm-news-carousel {
		margin-top: 1.25rem;
	}
}


/* Vinculación hub ES/EN/PT (1.0.155): botones de áreas con degradé vertical sutil; medida
 * compartida; enlaces de contacto/investigación en oliva negrita sin subrayado. */
body:is(.ibbm-page--technology-transfer-hub) .ibbm-page-main {
	width: 100%;
	max-width: 78rem;
	margin-inline: auto;
}

body:is(.ibbm-page--technology-transfer-hub) .ibbm-page-main > :is(.ibbm-page-kicker, .wp-block-post-title, .wp-block-post-content) {
	width: 100%;
	max-width: 68rem;
	margin-inline: auto !important;
}

body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content,
body:is(.ibbm-page--technology-transfer-hub) .ibbm-lab-content.ibbm-service-content {
	width: 100%;
	max-width: none;
}

body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content > p,
body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content .ibbm-home-summary,
body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content .section-block p,
body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content .future-note {
	max-width: none;
	width: 100%;
}

/* Botones de áreas (1.0.196): tres áreas, fila centrada un poco más amplia. */
body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content .ibbm-area-buttons {
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr;
	margin: 0.95rem auto 0;
	padding: 0;
	max-width: 58rem;
	justify-content: center;
}

@media (min-width: 40rem) and (max-width: 63.999rem) {
	body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content .ibbm-area-buttons {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		max-width: none;
	}
}

@media (min-width: 64rem) {
	body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content .ibbm-area-buttons {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		max-width: 62rem;
		gap: 1.15rem;
	}
}

body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content a.ibbm-area-btn {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 4.85rem;
	padding: 1.1rem 1.2rem;
	border: 1.5px solid color-mix(in srgb, var(--wp--preset--color--oliva, #5d5c31) 42%, var(--wp--preset--color--beige, #ccc5b7));
	border-radius: 0.9rem;
	background:
		linear-gradient(
			180deg,
			#fdfcfa 0%,
			#f2f0e6 52%,
			color-mix(in srgb, var(--wp--preset--color--oliva, #5d5c31) 8%, #e4e1d4) 100%
		);
	color: var(--wp--preset--color--oliva-profundo, #45451f);
	font-family: var(--wp--preset--font-family--plex-serif, Georgia, serif);
	font-size: clamp(1.08rem, 1.35vw, 1.28rem);
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	text-wrap: balance;
	box-shadow: 0 1px 0 rgba(69, 69, 31, 0.04);
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		box-shadow 180ms ease,
		transform 180ms ease,
		color 180ms ease;
}

body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content a.ibbm-area-btn:hover,
body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content a.ibbm-area-btn:focus-visible {
	border-color: var(--wp--preset--color--oliva, #5d5c31);
	background:
		linear-gradient(180deg, #f3f4e8 0%, #e7e9d4 100%);
	color: var(--wp--preset--color--oliva-profundo, #45451f);
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: 0 0.45rem 1rem rgba(69, 69, 31, 0.12);
}

body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content a.ibbm-area-btn:focus-visible {
	outline: 3px solid var(--wp--preset--color--foco, #c2410c);
	outline-offset: 3px;
}

body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content a.ibbm-area-btn:active {
	transform: translateY(0);
	box-shadow: 0 1px 0 rgba(69, 69, 31, 0.06);
}

body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content a[href="/es/contacto/"],
body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content a[href="/es/investigacion/"],
body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content a[href="/en/contact/"],
body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content a[href="/en/research/"],
body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content a[href="/pt/contato/"],
body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content a[href="/pt/pesquisa/"] {
	color: var(--wp--preset--color--oliva, #5d5c31);
	font-weight: 700;
	text-decoration: none;
}

body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content a[href="/es/contacto/"]:hover,
body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content a[href="/es/contacto/"]:focus-visible,
body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content a[href="/es/investigacion/"]:hover,
body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content a[href="/es/investigacion/"]:focus-visible,
body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content a[href="/en/contact/"]:hover,
body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content a[href="/en/contact/"]:focus-visible,
body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content a[href="/en/research/"]:hover,
body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content a[href="/en/research/"]:focus-visible,
body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content a[href="/pt/contato/"]:hover,
body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content a[href="/pt/contato/"]:focus-visible,
body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content a[href="/pt/pesquisa/"]:hover,
body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content a[href="/pt/pesquisa/"]:focus-visible {
	color: var(--wp--preset--color--oliva-profundo, #45451f);
	text-decoration: none;
}


/* Contacto hub ES/EN/PT (1.0.163): canales en grilla compacta, mapa a ancho
 * completo y redes al cierre. IDs 59/60/62. */
body:is(.ibbm-page--contact) .ibbm-page-main {
	width: 100%;
	max-width: 78rem;
	margin-inline: auto;
}

body:is(.ibbm-page--contact) .ibbm-page-main > :is(.ibbm-page-kicker, .wp-block-post-title, .wp-block-post-content) {
	width: 100%;
	max-width: 68rem;
	margin-inline: auto !important;
}

body:is(.ibbm-page--contact) .ibbm-contact-hub {
	width: 100%;
	max-width: none;
}

body:is(.ibbm-page--contact) .ibbm-contact-hub > p,
body:is(.ibbm-page--contact) .ibbm-contact-hub .section-block p {
	max-width: none;
	width: 100%;
}

body:is(.ibbm-page--contact) .ibbm-contact-channels {
	display: grid;
	gap: 1.15rem 2rem;
	margin: 1rem 0 0;
	padding: 1.05rem 0 0;
	border-top: 1px solid var(--wp--preset--color--beige, #ccc5b7);
	list-style: none;
}

@media (min-width: 40rem) {
	body:is(.ibbm-page--contact) .ibbm-contact-channels {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

body:is(.ibbm-page--contact) .ibbm-contact-channels > li {
	display: grid;
	gap: 0.3rem;
	padding: 0;
	border: 0;
}

body:is(.ibbm-page--contact) .ibbm-contact-label {
	display: block;
	color: var(--wp--preset--color--oliva, #5d5c31);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

body:is(.ibbm-page--contact) .ibbm-contact-value {
	display: block;
	color: var(--wp--preset--color--tinta, #211f1b);
	line-height: 1.5;
}

body:is(.ibbm-page--contact) .ibbm-contact-hub a[href^="tel:"],
body:is(.ibbm-page--contact) .ibbm-contact-hub a[href^="mailto:"] {
	color: var(--wp--preset--color--oliva, #5d5c31);
	font-weight: 700;
	text-decoration: none;
}

body:is(.ibbm-page--contact) .ibbm-contact-hub a[href^="tel:"]:hover,
body:is(.ibbm-page--contact) .ibbm-contact-hub a[href^="tel:"]:focus-visible,
body:is(.ibbm-page--contact) .ibbm-contact-hub a[href^="mailto:"]:hover,
body:is(.ibbm-page--contact) .ibbm-contact-hub a[href^="mailto:"]:focus-visible {
	color: var(--wp--preset--color--oliva-profundo, #45451f);
	text-decoration: none;
}

body:is(.ibbm-page--contact) .ibbm-contact-secretary {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.45rem 0.85rem;
	margin: 1.25rem 0 0;
	padding-top: 1rem;
	border-top: 1px solid var(--wp--preset--color--beige, #ccc5b7);
}

body:is(.ibbm-page--contact) .ibbm-contact-secretary .ibbm-contact-label {
	font-size: 0.92rem;
	letter-spacing: 0.045em;
}

body:is(.ibbm-page--contact) .ibbm-contact-secretary strong {
	font-family: var(--wp--preset--font-family--plex-serif, Georgia, serif);
	font-size: 1.08rem;
	font-weight: 700;
	color: var(--wp--preset--color--tinta, #211f1b);
}

body:is(.ibbm-page--contact) .ibbm-contact-phones,
body:is(.ibbm-page--contact) .ibbm-contact-mails {
	display: grid;
	gap: 0.35rem;
}

body:is(.ibbm-page--contact) .ibbm-contact-hub a[href^="tel:"] {
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
}

body:is(.ibbm-page--contact) .ibbm-contact-hub a[href^="tel:"]::before {
	content: "";
	display: inline-block;
	width: 1.22em;
	height: 1.22em;
	margin-right: 0.32em;
	flex: 0 0 auto;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M6.6 2.8 9.2 2l2.1 5.1-2.2 1.8c1 2.1 2.7 3.8 4.8 4.8l1.8-2.2 5.1 2.1-.8 2.6c-.3 1-1.2 1.7-2.3 1.7C10.7 17.9 6.1 13.3 6.1 7.9c0-1.1.7-2 1.7-2.3Z'/%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'%3E%3Cpath fill='%23000' d='M6.6 2.8 9.2 2l2.1 5.1-2.2 1.8c1 2.1 2.7 3.8 4.8 4.8l1.8-2.2 5.1 2.1-.8 2.6c-.3 1-1.2 1.7-2.3 1.7C10.7 17.9 6.1 13.3 6.1 7.9c0-1.1.7-2 1.7-2.3Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

body:is(.ibbm-page--contact) .ibbm-contact-hub a[href="tel:+5492214259223"]::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2a9.5 9.5 0 0 0-8.2 14.3L2.5 21.5l5.3-1.3A9.5 9.5 0 1 0 12 2Zm0 2a7.5 7.5 0 0 1 6.5 11.2l-.5.8.6 2.1-2.2-.6-.8.5A7.5 7.5 0 1 1 12 4Zm-3 3.2c-.3 0-.6.2-.8.5-.3.5-.5 1.1-.3 1.7.5 1.9 2.8 4.2 4.7 4.7.6.2 1.2 0 1.7-.3.3-.2.5-.5.5-.8v-.6l-1.8-.8-.6.7c-1-.4-1.8-1.2-2.2-2.2l.7-.6-.8-1.8H9Z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2a9.5 9.5 0 0 0-8.2 14.3L2.5 21.5l5.3-1.3A9.5 9.5 0 1 0 12 2Zm0 2a7.5 7.5 0 0 1 6.5 11.2l-.5.8.6 2.1-2.2-.6-.8.5A7.5 7.5 0 1 1 12 4Zm-3 3.2c-.3 0-.6.2-.8.5-.3.5-.5 1.1-.3 1.7.5 1.9 2.8 4.2 4.7 4.7.6.2 1.2 0 1.7-.3.3-.2.5-.5.5-.8v-.6l-1.8-.8-.6.7c-1-.4-1.8-1.2-2.2-2.2l.7-.6-.8-1.8H9Z'/%3E%3C/svg%3E");
}

body:is(.ibbm-page--contact) .ibbm-contact-location {
	display: grid;
	gap: 1rem;
	margin-top: 0.75rem;
}

body:is(.ibbm-page--contact) .ibbm-contact-location__copy {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 0.85rem 1.25rem;
}

body:is(.ibbm-page--contact) .ibbm-contact-location__copy > p:first-child {
	flex: 1 1 18rem;
	margin: 0;
	max-width: 42rem;
}

body:is(.ibbm-page--contact) .ibbm-contact-location__action {
	margin: 0;
}

body:is(.ibbm-page--contact) .ibbm-contact-hub a.ibbm-contact-maps-btn {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3.1rem;
	padding: 0.75rem 1.15rem;
	border: 1.5px solid color-mix(in srgb, var(--wp--preset--color--oliva, #5d5c31) 42%, var(--wp--preset--color--beige, #ccc5b7));
	border-radius: 0.85rem;
	background:
		linear-gradient(
			180deg,
			#fdfcfa 0%,
			#f2f0e6 52%,
			color-mix(in srgb, var(--wp--preset--color--oliva, #5d5c31) 8%, #e4e1d4) 100%
		);
	color: var(--wp--preset--color--oliva-profundo, #45451f);
	font-family: var(--wp--preset--font-family--plex-serif, Georgia, serif);
	font-size: 1.02rem;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	box-shadow: 0 1px 0 rgba(69, 69, 31, 0.04);
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		box-shadow 180ms ease,
		transform 180ms ease,
		color 180ms ease;
}

body:is(.ibbm-page--contact) .ibbm-contact-hub a.ibbm-contact-maps-btn:hover,
body:is(.ibbm-page--contact) .ibbm-contact-hub a.ibbm-contact-maps-btn:focus-visible {
	border-color: var(--wp--preset--color--oliva, #5d5c31);
	background:
		linear-gradient(180deg, #f3f4e8 0%, #e7e9d4 100%);
	color: var(--wp--preset--color--oliva-profundo, #45451f);
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: 0 0.45rem 1rem rgba(69, 69, 31, 0.12);
}

body:is(.ibbm-page--contact) .ibbm-contact-hub a.ibbm-contact-maps-btn:focus-visible {
	outline: 3px solid var(--wp--preset--color--foco, #c2410c);
	outline-offset: 3px;
}

body:is(.ibbm-page--contact) .ibbm-contact-map {
	overflow: hidden;
	width: 100%;
	min-height: 16rem;
	border: 1.5px solid color-mix(in srgb, var(--wp--preset--color--oliva, #5d5c31) 28%, var(--wp--preset--color--beige, #ccc5b7));
	border-radius: 0.85rem;
	background: color-mix(in srgb, var(--wp--preset--color--beige, #ccc5b7) 35%, #fff);
}

body:is(.ibbm-page--contact) .ibbm-contact-map iframe {
	display: block;
	width: 100%;
	height: clamp(16rem, 38vw, 24rem);
	border: 0;
}

body:is(.ibbm-page--contact) .ibbm-contact-social-block {
	margin-top: 0.35rem;
	padding-top: 0.35rem;
}

body:is(.ibbm-page--contact) .ibbm-contact-socials {
	display: grid;
	gap: 0.35rem;
}

body:is(.ibbm-page--contact) .ibbm-contact-socials--row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.5rem;
	margin-top: 0.65rem;
}

body:is(.ibbm-page--contact) .ibbm-contact-hub a.ibbm-contact-social {
	display: inline-flex;
	align-items: center;
	color: var(--wp--preset--color--oliva, #5d5c31);
	font-weight: 700;
	text-decoration: none;
}

body:is(.ibbm-page--contact) .ibbm-contact-hub a.ibbm-contact-social:hover,
body:is(.ibbm-page--contact) .ibbm-contact-hub a.ibbm-contact-social:focus-visible {
	color: var(--wp--preset--color--oliva-profundo, #45451f);
	text-decoration: none;
}

body:is(.ibbm-page--contact) .ibbm-contact-hub a.ibbm-contact-social::before {
	content: "";
	display: inline-block;
	width: 1.22em;
	height: 1.22em;
	margin-right: 0.32em;
	flex: 0 0 auto;
	background: currentColor;
}

body:is(.ibbm-page--contact) .ibbm-contact-hub a.ibbm-contact-social--instagram::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M7.5 2h9A5.5 5.5 0 0 1 22 7.5v9A5.5 5.5 0 0 1 16.5 22h-9A5.5 5.5 0 0 1 2 16.5v-9A5.5 5.5 0 0 1 7.5 2Zm0 2A3.5 3.5 0 0 0 4 7.5v9A3.5 3.5 0 0 0 7.5 20h9a3.5 3.5 0 0 0 3.5-3.5v-9A3.5 3.5 0 0 0 16.5 4h-9Zm9.75 1.25a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5ZM12 7a5 5 0 1 1 0 10 5 5 0 0 1 0-10Zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z'/%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'%3E%3Cpath fill='%23000' d='M7.5 2h9A5.5 5.5 0 0 1 22 7.5v9A5.5 5.5 0 0 1 16.5 22h-9A5.5 5.5 0 0 1 2 16.5v-9A5.5 5.5 0 0 1 7.5 2Zm0 2A3.5 3.5 0 0 0 4 7.5v9A3.5 3.5 0 0 0 7.5 20h9a3.5 3.5 0 0 0 3.5-3.5v-9A3.5 3.5 0 0 0 16.5 4h-9Zm9.75 1.25a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5ZM12 7a5 5 0 1 1 0 10 5 5 0 0 1 0-10Zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

body:is(.ibbm-page--contact) .ibbm-contact-hub a.ibbm-contact-social--facebook::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M14 9h3V6h-3c-2.2 0-4 1.8-4 4v2H7v3h3v7h3v-7h3l1-3h-4v-2c0-.6.4-1 1-1Z'/%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'%3E%3Cpath fill='%23000' d='M14 9h3V6h-3c-2.2 0-4 1.8-4 4v2H7v3h3v7h3v-7h3l1-3h-4v-2c0-.6.4-1 1-1Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Noticias ES (1.0.165): marco editorial amplio y navegación de categorías
 * en una sola línea de escritorio. La adaptación móvil permite quiebres. */
body.ibbm-page--news-hub.ibbm-lang--es .ibbm-page-main > :is(.wp-block-post-title, .wp-block-post-content) {
	box-sizing: border-box;
	width: min(68rem, calc(100% - 3rem));
	max-width: 68rem;
	margin-inline: auto;
}

body.ibbm-page--news-hub.ibbm-lang--es .ibbm-news-content {
	width: 100%;
	max-width: none;
}

body.ibbm-page--news-hub.ibbm-lang--es .ibbm-news-content .category-nav {
	margin: 0;
	padding: 0 0 1.4rem;
	border-bottom: 1px solid var(--wp--preset--color--beige, #ccc5b7);
}

body.ibbm-page--news-hub.ibbm-lang--es .ibbm-news-content .category-nav h2 {
	margin: 0 0 0.65rem;
	font-size: clamp(1.45rem, 2vw, 1.7rem);
	line-height: 1.2;
}

body.ibbm-page--news-hub.ibbm-lang--es .ibbm-news-content .category-nav ul {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.35rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.ibbm-page--news-hub.ibbm-lang--es .ibbm-news-content .category-nav li {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	margin: 0;
}

body.ibbm-page--news-hub.ibbm-lang--es .ibbm-news-content .category-nav a,
body.ibbm-page--news-hub.ibbm-lang--es .ibbm-news-content .category-nav .is-pending {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0.35rem 0.45rem;
	border-radius: 0.55rem;
	color: var(--wp--preset--color--oliva, #5d5c31);
	font-family: var(--wp--preset--font-family--ibm-plex-sans, "IBM Plex Sans", Arial, sans-serif);
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.25;
	text-decoration: none;
	white-space: nowrap;
}

body.ibbm-page--news-hub.ibbm-lang--es .ibbm-news-content .category-nav a:hover,
body.ibbm-page--news-hub.ibbm-lang--es .ibbm-news-content .category-nav a:focus-visible {
	background: color-mix(in srgb, var(--wp--preset--color--oliva, #5d5c31) 10%, transparent);
	color: var(--wp--preset--color--oliva-profundo, #45451f);
	text-decoration: none;
}

body.ibbm-page--news-hub.ibbm-lang--es .ibbm-news-content .category-nav a:focus-visible {
	outline: 3px solid var(--wp--preset--color--foco, #c2410c);
	outline-offset: 2px;
}

body.ibbm-page--news-hub.ibbm-lang--es .ibbm-news-content .category-nav .category-nav__agenda {
	padding-inline: 0.75rem;
	background: color-mix(in srgb, var(--wp--preset--color--oliva, #5d5c31) 12%, #fff);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--wp--preset--color--oliva, #5d5c31) 24%, transparent);
}

body.ibbm-page--news-hub.ibbm-lang--es .ibbm-news-content > .section-block {
	width: 100%;
}

@media (max-width: 63.999rem) {
	body.ibbm-page--news-hub.ibbm-lang--es .ibbm-page-main > :is(.wp-block-post-title, .wp-block-post-content) {
		width: min(100% - 2rem, 68rem);
	}

	body.ibbm-page--news-hub.ibbm-lang--es .ibbm-news-content .category-nav ul {
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: 0.25rem 0.4rem;
	}
}


/* Vinculación hub: ambos correos en líneas separadas visibles (1.0.162). */
body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content .ibbm-vinc-mails {
	display: grid;
	gap: 0.35rem;
	margin: 0.65rem 0;
}

body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content .ibbm-vinc-mails a {
	display: inline-block;
	color: var(--wp--preset--color--oliva, #5d5c31);
	font-weight: 700;
	text-decoration: none;
}

body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content .ibbm-vinc-mails a:hover,
body:is(.ibbm-page--technology-transfer-hub) .ibbm-service-content .ibbm-vinc-mails a:focus-visible {
	color: var(--wp--preset--color--oliva-profundo, #45451f);
	text-decoration: none;
}


/* Portada Accesos principales (1.0.164): mismo lenguaje de botones que
 * Áreas en Vinculación (borde suave, radio y degradé), en tamaño mayor
 * para título + descripción. Aplica a #accesos en ES/EN/PT. */
#accesos .ibbm-doors {
	display: grid;
	gap: clamp(0.85rem, 1.6vw, 1.15rem);
	grid-template-columns: 1fr;
}

@media (min-width: 56rem) {
	#accesos .ibbm-doors {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		align-items: stretch;
	}
}

#accesos .ibbm-door {
	box-sizing: border-box;
	height: 100%;
	min-height: 0;
	padding: 0;
	overflow: hidden;
	border: 1.5px solid color-mix(in srgb, var(--wp--preset--color--oliva, #5d5c31) 42%, var(--wp--preset--color--beige, #ccc5b7));
	border-top: 1.5px solid color-mix(in srgb, var(--wp--preset--color--oliva, #5d5c31) 42%, var(--wp--preset--color--beige, #ccc5b7));
	border-radius: 0.85rem;
	background:
		linear-gradient(
			180deg,
			#fdfcfa 0%,
			#f2f0e6 52%,
			color-mix(in srgb, var(--wp--preset--color--oliva, #5d5c31) 8%, #e4e1d4) 100%
		);
	box-shadow: 0 1px 0 rgba(69, 69, 31, 0.04);
}

#accesos .ibbm-door-link {
	box-sizing: border-box;
	display: grid;
	grid-template-rows: auto auto;
	align-content: center;
	justify-items: center;
	gap: 0.7rem;
	width: 100%;
	height: 100%;
	min-height: clamp(11.5rem, 18vw, 14.5rem);
	padding: 1.35rem 1.25rem;
	color: var(--wp--preset--color--oliva-profundo, #45451f);
	text-decoration: none;
	background: transparent;
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		box-shadow 180ms ease,
		transform 180ms ease,
		color 180ms ease;
}

#accesos .ibbm-door:has(.ibbm-door-link:hover),
#accesos .ibbm-door:has(.ibbm-door-link:focus-visible) {
	border-color: var(--wp--preset--color--oliva, #5d5c31);
	background:
		linear-gradient(180deg, #f3f4e8 0%, #e7e9d4 100%);
	box-shadow: 0 0.45rem 1rem rgba(69, 69, 31, 0.12);
	transform: translateY(-2px);
}

#accesos .ibbm-door-link:hover,
#accesos .ibbm-door-link:focus-visible {
	background: transparent;
	color: var(--wp--preset--color--oliva-profundo, #45451f);
	text-decoration: none;
	transform: none;
	box-shadow: none;
}

#accesos .ibbm-door-link:focus-visible {
	outline: 3px solid var(--wp--preset--color--foco, #c2410c);
	outline-offset: 3px;
}

#accesos .ibbm-door h3 {
	margin: 0;
	color: var(--wp--preset--color--oliva-profundo, #45451f);
	font-family: var(--wp--preset--font-family--plex-serif, Georgia, serif);
	font-size: clamp(1.25rem, 1.7vw, 1.55rem);
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-wrap: balance;
}

#accesos .ibbm-door p {
	max-width: 34ch;
	margin: 0;
	color: var(--wp--preset--color--tinta-suave, #554e44);
	font-size: clamp(0.95rem, 1.05vw, 1.02rem);
	line-height: 1.48;
	text-align: center;
}

@media (max-width: 55.999rem) {
	#accesos .ibbm-door-link {
		min-height: 10.5rem;
		padding: 1.2rem 1.1rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	#accesos .ibbm-door,
	#accesos .ibbm-door-link {
		transition: none;
	}

	#accesos .ibbm-door:has(.ibbm-door-link:hover),
	#accesos .ibbm-door:has(.ibbm-door-link:focus-visible) {
		transform: none;
	}
}


/* Autoridades (1.0.168): acciones apiladas; mismo ancho compacto que Trayectoria. */
body:is(.ibbm-page--authorities) .ibbm-section-content .ibbm-authority__cv {
	display: inline-flex;
	flex-direction: column;
	align-items: stretch;
	justify-self: start;
	width: max-content;
	max-width: 100%;
	gap: 0.5rem;
}

body:is(.ibbm-page--authorities) .ibbm-section-content .ibbm-authority__cv a {
	width: 100%;
	box-sizing: border-box;
	justify-content: center;
	text-align: center;
	white-space: nowrap;
}


/* Portada laboratorios (1.0.171): íconos achicados; rompe aspect-ratio HTML.
 * Aplica a #laboratorios en ES/EN/PT. */
#laboratorios .ibbm-lab__icon-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.15rem;
	height: 3.35rem;
	overflow: hidden;
}

#laboratorios .ibbm-lab__icon {
	display: block;
	box-sizing: border-box;
	width: auto !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: 100% !important;
	aspect-ratio: auto !important;
	object-fit: contain;
	object-position: center;
}

@media (max-width: 639px) {
	#laboratorios .ibbm-lab__icon-wrap {
		width: 2.75rem;
		height: 2.95rem;
	}
}


/* Laboratorios ES/EN/PT (1.0.178): índice oliva uniforme; texto justificado
 * al ancho de las líneas separadoras. Raíz + 7 restantes. */

/* Biología de Raíz: cuerpo justificado al ancho de .section-block (líneas). */
body:is(.ibbm-page--laboratory-detail) .ibbm-lab-content > p,
body:is(.ibbm-page--laboratory-detail) .ibbm-lab-content .section-block p,
body:is(.ibbm-page--laboratory-detail) .ibbm-lab-content .simple-list li,
body:is(.ibbm-page--laboratory-detail) .ibbm-lab-content .person-list li,
body:is(.ibbm-page--laboratory-detail) .ibbm-lab-content .pub-list li,
body:is(.ibbm-page--laboratory-detail) .ibbm-lab-content .contact-mini dd {
	width: 100%;
	max-width: none;
	text-align: justify;
	text-justify: inter-word;
	hyphens: none;
}

@media (max-width: 39.999rem) {
	body:is(.ibbm-page--laboratory-detail) .ibbm-lab-content > p,
	body:is(.ibbm-page--laboratory-detail) .ibbm-lab-content .section-block p,
	body:is(.ibbm-page--laboratory-detail) .ibbm-lab-content .simple-list li,
	body:is(.ibbm-page--laboratory-detail) .ibbm-lab-content .person-list li,
	body:is(.ibbm-page--laboratory-detail) .ibbm-lab-content .pub-list li,
	body:is(.ibbm-page--laboratory-detail) .ibbm-lab-content .contact-mini dd {
		text-align: left;
		hyphens: none;
	}
}

body:is(.ibbm-page--laboratory-detail) .ibbm-lab-content .module-toc {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	align-items: stretch;
	gap: 0.65rem;
	margin: 0 0 1.65rem;
	padding: 0;
	list-style: none;
}

body:is(.ibbm-page--laboratory-detail) .ibbm-lab-content .module-toc > li {
	display: flex;
	min-width: 0;
	margin: 0;
}

body:is(.ibbm-page--laboratory-detail) .ibbm-lab-content .module-toc a {
	box-sizing: border-box;
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 3.6rem;
	padding: 0.7rem 0.65rem;
	border: 1.5px solid color-mix(in srgb, var(--wp--preset--color--oliva, #5d5c31) 28%, var(--wp--preset--color--beige, #ccc5b7));
	border-radius: 0.7rem;
	background:
		linear-gradient(
			180deg,
			#f4f5ea 0%,
			#e9eadb 55%,
			color-mix(in srgb, var(--wp--preset--color--oliva, #5d5c31) 10%, #e1e3ce) 100%
		);
	color: var(--wp--preset--color--oliva-profundo, #45451f);
	font-size: clamp(0.82rem, 0.95vw, 0.92rem);
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	text-wrap: balance;
	box-shadow: 0 1px 0 rgba(69, 69, 31, 0.04);
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		box-shadow 180ms ease,
		transform 180ms ease,
		color 180ms ease,
		filter 180ms ease;
}

body:is(.ibbm-page--laboratory-detail) .ibbm-lab-content .module-toc a:hover,
body:is(.ibbm-page--laboratory-detail) .ibbm-lab-content .module-toc a:focus-visible {
	border-color: var(--wp--preset--color--oliva, #5d5c31);
	background:
		linear-gradient(180deg, #e4e6d2 0%, #d5d8bc 100%);
	color: var(--wp--preset--color--oliva-profundo, #45451f);
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: 0 0.4rem 0.9rem rgba(69, 69, 31, 0.14);
	filter: brightness(0.97);
}

body:is(.ibbm-page--laboratory-detail) .ibbm-lab-content .module-toc a:focus-visible {
	outline: 3px solid var(--wp--preset--color--foco, #c2410c);
	outline-offset: 3px;
}

body:is(.ibbm-page--laboratory-detail) .ibbm-lab-content .module-toc a:active {
	transform: translateY(0);
	box-shadow: 0 1px 0 rgba(69, 69, 31, 0.06);
}

@media (max-width: 64.999rem) and (min-width: 40rem) {
	body:is(.ibbm-page--laboratory-detail) .ibbm-lab-content .module-toc {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 39.999rem) {
	body:is(.ibbm-page--laboratory-detail) .ibbm-lab-content .module-toc {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	body:is(.ibbm-page--laboratory-detail) .ibbm-lab-content .module-toc a {
		transition: none;
	}
	body:is(.ibbm-page--laboratory-detail) .ibbm-lab-content .module-toc a:hover,
	body:is(.ibbm-page--laboratory-detail) .ibbm-lab-content .module-toc a:focus-visible {
		transform: none;
	}
}

/* Labs con 9–10 ítems de índice: dos filas (5+4 / 5+5), solo cuando
 * el ancho de escritorio permite conservar rótulos legibles. */
@media (min-width: 65rem) {
	body:is(.ibbm-page--laboratory-large-toc) .ibbm-lab-content .module-toc {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}


/* Actualidad portada ES/EN/PT (1.0.185): destaque suave de las cajas oliva
 * (noticia fija + carrusel), sin cambiar medidas ni layout. */
.ibbm-news-grid--carousel > .ibbm-news-item:first-child,
.ibbm-news-grid--carousel > .ibbm-news-carousel,
.ibbm-news-grid:has(> .ibbm-news-carousel) > .ibbm-news-item:first-child,
.ibbm-news-grid:has(> .ibbm-news-carousel) > .ibbm-news-carousel {
	border-radius: 0.7rem !important;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--oliva, #5d5c31) 20%, var(--wp--preset--color--beige, #ccc5b7)) !important;
	box-shadow:
		0 1px 0 rgba(69, 69, 31, 0.04),
		0 0.4rem 1rem rgba(69, 69, 31, 0.09) !important;
	overflow: hidden;
	transition:
		box-shadow 180ms ease,
		border-color 180ms ease,
		transform 180ms ease;
}

.ibbm-news-grid--carousel > .ibbm-news-item:first-child:hover,
.ibbm-news-grid--carousel > .ibbm-news-carousel:hover,
.ibbm-news-grid:has(> .ibbm-news-carousel) > .ibbm-news-item:first-child:hover,
.ibbm-news-grid:has(> .ibbm-news-carousel) > .ibbm-news-carousel:hover {
	border-color: color-mix(in srgb, var(--wp--preset--color--oliva, #5d5c31) 36%, var(--wp--preset--color--beige, #ccc5b7)) !important;
	box-shadow:
		0 1px 0 rgba(69, 69, 31, 0.05),
		0 0.65rem 1.35rem rgba(69, 69, 31, 0.13) !important;
	transform: translateY(-1px);
}

@media (prefers-reduced-motion: reduce) {
	.ibbm-news-grid--carousel > .ibbm-news-item:first-child,
	.ibbm-news-grid--carousel > .ibbm-news-carousel,
	.ibbm-news-grid:has(> .ibbm-news-carousel) > .ibbm-news-item:first-child,
	.ibbm-news-grid:has(> .ibbm-news-carousel) > .ibbm-news-carousel {
		transition: none;
	}
	.ibbm-news-grid--carousel > .ibbm-news-item:first-child:hover,
	.ibbm-news-grid--carousel > .ibbm-news-carousel:hover,
	.ibbm-news-grid:has(> .ibbm-news-carousel) > .ibbm-news-item:first-child:hover,
	.ibbm-news-grid:has(> .ibbm-news-carousel) > .ibbm-news-carousel:hover {
		transform: none;
	}
}


/* Notas individuales (1.0.186): imagen destacada real + cuerpo justificado
 * al ancho de la columna editorial. */
.ibbm-news-content .news-feature__media:not(.news-feature__media--marker) {
	margin: 1rem 0 1.25rem;
	overflow: hidden;
	border-radius: 0.55rem;
	background: var(--wp--preset--color--niebla, #ede8df);
}

.ibbm-news-content .news-feature__media:not(.news-feature__media--marker) img {
	display: block;
	width: 100%;
	height: auto;
	vertical-align: middle;
}

.ibbm-news-content > p.ibbm-home-summary,
.ibbm-news-content .section-block.prose > p {
	width: 100%;
	max-width: none;
	text-align: justify;
	text-justify: inter-word;
	hyphens: none;
}

@media (max-width: 39.999rem) {
	.ibbm-news-content > p.ibbm-home-summary,
	.ibbm-news-content .section-block.prose > p {
		text-align: left;
		hyphens: none;
	}
}


/* Notas individuales (1.0.188): título justificado sin alterar la medida
 * de columna ya definida por el layout. */
body:has(.ibbm-news-content) .ibbm-page-main > .wp-block-post-title {
	text-align: justify;
	text-justify: inter-word;
	hyphens: none;
}


/* Carrusel de portada (1.0.189): navegación directa mediante indicadores
 * compactos, con un objetivo táctil suficiente incluso con seis noticias. */
.ibbm-news-carousel__pagination {
	flex: 1 1 auto;
	justify-content: center;
	gap: 0;
	min-width: 0;
}

.ibbm-news-carousel__dot {
	width: 2rem;
	height: 44px;
	flex: 0 0 2rem;
	border-radius: 999px;
}

.ibbm-news-carousel__dot::before {
	width: 0.75rem;
	height: 0.25rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--wp--preset--color--oliva, #62622f) 34%, #ffffff);
	transition: width 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.ibbm-news-carousel__dot:hover::before {
	background: color-mix(in srgb, var(--wp--preset--color--oliva, #62622f) 66%, #ffffff);
}

.ibbm-news-carousel__dot[aria-current="true"]::before {
	width: 1.35rem;
	transform: none;
	background: var(--wp--preset--color--oliva, #62622f);
}

.ibbm-news-carousel__controls > p {
	flex: 0 0 auto;
	margin: 0;
}

@media (prefers-reduced-motion: reduce) {
	.ibbm-news-carousel__dot::before {
		transition: none;
	}
}

@media (max-width: 39.999rem) {
	body:has(.ibbm-news-content) .ibbm-page-main > .wp-block-post-title {
		text-align: left;
		hyphens: none;
	}
}


/* Servicios tecnológicos ES (1.0.193): etiquetas salvia unificadas;
 * subtítulos en imprenta con inicial +1/3 por palabra. */
body.ibbm-page--services-catalogue.ibbm-lang--es .ibbm-service-content .section-block > h2 {
	margin: 1.55rem 0 0.55rem;
	padding-bottom: 0.45rem;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--beige, #ccc5b7) 75%, transparent);
	color: var(--wp--preset--color--oliva-profundo, #45451f);
	font-family: var(--wp--preset--font-family--ibm-plex-serif, "IBM Plex Serif", Georgia, serif);
	font-size: clamp(1.2rem, 2vw, 1.45rem);
	font-weight: 700;
	letter-spacing: normal;
	line-height: 1.25;
	text-transform: none;
}

body.ibbm-page--services-catalogue.ibbm-lang--es .ibbm-service-content .service-catalog {
	grid-template-columns: 1fr;
	gap: 0.8rem;
}

body.ibbm-page--services-catalogue.ibbm-lang--es .ibbm-service-content .service-catalog__item {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	padding: 0.95rem 1.05rem 1.05rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--beige, #ccc5b7) 65%, #fff);
	border-radius: 1rem;
	background: #fff;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.75) inset,
		0 1px 0 rgba(69, 69, 31, 0.035),
		0 0.45rem 1rem rgba(69, 69, 31, 0.07);
	transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

body.ibbm-page--services-catalogue.ibbm-lang--es .ibbm-service-content .service-catalog__item:hover {
	border-color: color-mix(in srgb, var(--wp--preset--color--oliva, #5d5c31) 28%, var(--wp--preset--color--beige, #ccc5b7));
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.8) inset,
		0 0.55rem 1.2rem rgba(69, 69, 31, 0.11);
	transform: translateY(-1px);
}

body.ibbm-page--services-catalogue.ibbm-lang--es .ibbm-service-content .service-catalog__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.55rem 0.75rem;
}

/* Etiqueta de título + código ST: misma salvia pastel dimensional. */
body.ibbm-page--services-catalogue.ibbm-lang--es .ibbm-service-content .service-catalog__title,
body.ibbm-page--services-catalogue.ibbm-lang--es .ibbm-service-content .service-catalog__item > a,
body.ibbm-page--services-catalogue.ibbm-lang--es .ibbm-service-content .service-code {
	display: inline-flex;
	align-items: center;
	margin: 0;
	border: 1px solid color-mix(in srgb, #8a9a6a 28%, transparent);
	border-radius: 999px;
	background: linear-gradient(180deg, #e8edd8 0%, #d7deb7 100%);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.7) inset,
		0 0.18rem 0.45rem rgba(69, 69, 31, 0.1);
	color: #3f442e;
	font-family: var(--wp--preset--font-family--ibm-plex-sans, "IBM Plex Sans", sans-serif);
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none !important;
}

body.ibbm-page--services-catalogue.ibbm-lang--es .ibbm-service-content .service-catalog__title,
body.ibbm-page--services-catalogue.ibbm-lang--es .ibbm-service-content .service-catalog__item > a {
	max-width: 100%;
	padding: 0.45rem 0.9rem;
	font-size: clamp(0.98rem, 1.35vw, 1.08rem);
	font-weight: 600;
}

body.ibbm-page--services-catalogue.ibbm-lang--es .ibbm-service-content .service-code {
	flex: 0 0 auto;
	padding: 0.32rem 0.78rem;
	font-size: 0.78rem;
	letter-spacing: 0.04em;
}

body.ibbm-page--services-catalogue.ibbm-lang--es .ibbm-service-content .service-catalog__title:hover,
body.ibbm-page--services-catalogue.ibbm-lang--es .ibbm-service-content .service-catalog__title:focus-visible,
body.ibbm-page--services-catalogue.ibbm-lang--es .ibbm-service-content .service-catalog__item > a:hover,
body.ibbm-page--services-catalogue.ibbm-lang--es .ibbm-service-content .service-catalog__item > a:focus-visible {
	border-color: color-mix(in srgb, #5d5c31 40%, transparent);
	color: #3f442e;
	text-decoration: none !important;
}

body.ibbm-page--services-catalogue.ibbm-lang--es .ibbm-service-content .service-catalog__title:focus-visible,
body.ibbm-page--services-catalogue.ibbm-lang--es .ibbm-service-content .service-catalog__item > a:focus-visible {
	outline: 3px solid var(--wp--preset--color--foco, #c2410c);
	outline-offset: 2px;
}

body.ibbm-page--services-catalogue.ibbm-lang--es .ibbm-service-content .service-catalog__title strong,
body.ibbm-page--services-catalogue.ibbm-lang--es .ibbm-service-content .service-catalog__item > a strong {
	font-weight: 600;
}

body.ibbm-page--services-catalogue.ibbm-lang--es .ibbm-service-content .service-catalog__item > p {
	margin: 0.15rem 0 0;
	max-width: none;
	color: var(--wp--preset--color--marron, #6f5d44);
	font-family: var(--wp--preset--font-family--ibm-plex-sans, "IBM Plex Sans", sans-serif);
	font-size: 0.95rem;
	line-height: 1.45;
}

body.ibbm-page--services-catalogue.ibbm-lang--es .ibbm-service-content > .section-block.prose a {
	font-family: var(--wp--preset--font-family--ibm-plex-sans, "IBM Plex Sans", sans-serif);
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--oliva, #5d5c31) 35%, transparent);
}

body.ibbm-page--services-catalogue.ibbm-lang--es .ibbm-service-content > .section-block.prose a:hover,
body.ibbm-page--services-catalogue.ibbm-lang--es .ibbm-service-content > .section-block.prose a:focus-visible {
	border-bottom-color: var(--wp--preset--color--oliva, #5d5c31);
}

@media (prefers-reduced-motion: reduce) {
	body.ibbm-page--services-catalogue.ibbm-lang--es .ibbm-service-content .service-catalog__item {
		transition: none;
	}
	body.ibbm-page--services-catalogue.ibbm-lang--es .ibbm-service-content .service-catalog__item:hover {
		transform: none;
	}
}


/* Capacidades + Innovación ES/EN/PT (1.0.197): cuerpo justificado;
 * enlaces en negrita sin subrayado (color marrón actual). */
body:is(.ibbm-page--capabilities, .ibbm-page--development-transfer) .ibbm-service-content .section-block.prose > p,
body:is(.ibbm-page--capabilities, .ibbm-page--development-transfer) .ibbm-service-content > .section-block > p,
body:is(.ibbm-page--capabilities, .ibbm-page--development-transfer) .ibbm-service-content .dev-item > p {
	text-align: justify;
	text-justify: inter-word;
	hyphens: none;
}

body:is(.ibbm-page--capabilities, .ibbm-page--development-transfer) .ibbm-page-main > .wp-block-post-title {
	text-align: justify;
	text-justify: inter-word;
	hyphens: none;
}

body:is(.ibbm-page--capabilities, .ibbm-page--development-transfer) .ibbm-service-content .section-block a {
	color: var(--wp--preset--color--marron, #6f5d44);
	font-weight: 700;
	text-decoration: none !important;
}

body:is(.ibbm-page--capabilities, .ibbm-page--development-transfer) .ibbm-service-content .section-block a:hover,
body:is(.ibbm-page--capabilities, .ibbm-page--development-transfer) .ibbm-service-content .section-block a:focus-visible {
	color: var(--wp--preset--color--oliva, #5d5c31);
	text-decoration: none !important;
}

body:is(.ibbm-page--capabilities, .ibbm-page--development-transfer) .ibbm-service-content .section-block a:focus-visible {
	outline: 3px solid var(--wp--preset--color--foco, #c2410c);
	outline-offset: 2px;
}

body:is(.ibbm-page--development-transfer) .ibbm-service-content .ibbm-home-summary {
	text-align: justify;
	text-justify: inter-word;
	hyphens: none;
}

@media (max-width: 39.999rem) {
	body:is(.ibbm-page--capabilities, .ibbm-page--development-transfer) .ibbm-service-content .section-block.prose > p,
	body:is(.ibbm-page--capabilities, .ibbm-page--development-transfer) .ibbm-service-content > .section-block > p,
	body:is(.ibbm-page--capabilities, .ibbm-page--development-transfer) .ibbm-service-content .dev-item > p,
	body:is(.ibbm-page--capabilities, .ibbm-page--development-transfer) .ibbm-page-main > .wp-block-post-title,
	body:is(.ibbm-page--development-transfer) .ibbm-service-content .ibbm-home-summary {
		text-align: left;
	}
}

/* Autoridades (1.0.199): oliva un poco más claro; mismo relieve suave. */
body:is(.ibbm-page--authorities) .ibbm-section-content .ibbm-authority__cv a {
	border-radius: 0.5rem !important;
	border: 1px solid color-mix(in srgb, #5a6030 55%, #d7d0c4 45%) !important;
	background: linear-gradient(165deg, #7a8148 0%, #6e7540 56%, #636a38 100%) !important;
	color: #f8f5ef !important;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.16) inset,
		0 -1px 0 rgba(0, 0, 0, 0.08) inset,
		0 4px 10px rgba(48, 53, 23, 0.16) !important;
	transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease !important;
}

body:is(.ibbm-page--authorities) .ibbm-section-content .ibbm-authority__cv a:hover,
body:is(.ibbm-page--authorities) .ibbm-section-content .ibbm-authority__cv a:focus-visible {
	background: linear-gradient(165deg, #858b52 0%, #788045 56%, #6d7440 100%) !important;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.18) inset,
		0 -1px 0 rgba(0, 0, 0, 0.1) inset,
		0 7px 15px rgba(48, 53, 23, 0.2) !important;
	transform: translateY(-1px);
}

body:is(.ibbm-page--authorities) .ibbm-section-content .ibbm-authority__cv a:active {
	transform: translateY(0);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.14) inset,
		0 -1px 0 rgba(0, 0, 0, 0.1) inset,
		0 3px 8px rgba(48, 53, 23, 0.15) !important;
}

/* Cabecera (1.0.200): más aire entre logomarca/herramientas y la línea del menú. */

/* Actualidad portada (consolidado en 1.0.260): la noticia fija y el contenedor
 * del carrusel comparten el degradado; viewport, diapositivas y controles son
 * transparentes para evitar capas cromáticas superpuestas. */
.ibbm-news-grid--carousel > .ibbm-news-item:first-child,
.ibbm-news-grid:has(> .ibbm-news-carousel) > .ibbm-news-item:first-child {
	/* Color de cierre exacto de Accesos principales. */
	background-color: color-mix(in srgb, var(--wp--preset--color--oliva, #5d5c31) 8%, #e4e1d4) !important;
	background-image:
		linear-gradient(
			180deg,
			#fdfcfa 0%,
			#f2f0e6 52%,
			color-mix(in srgb, var(--wp--preset--color--oliva, #5d5c31) 8%, #e4e1d4) 100%
		) !important;
}

.ibbm-news-grid--carousel .ibbm-news-media,
.ibbm-news-grid--carousel > .ibbm-news-item:first-child > h3,
.ibbm-news-grid--carousel > .ibbm-news-item:first-child > .ibbm-news-excerpt,
.ibbm-news-carousel__slide > h3,
.ibbm-news-carousel__slide > .ibbm-news-excerpt {
	background: transparent !important;
}

/* Pie del carrusel (1.0.241): la franja de indicadores es completamente
 * transparente; sólo se ve el degradado continuo de la tarjeta. */
.ibbm-news-grid.ibbm-news-grid--carousel > .ibbm-news-carousel .ibbm-news-carousel__controls,
.ibbm-news-grid--carousel > .ibbm-news-carousel .ibbm-news-carousel__controls,
.ibbm-news-grid:has(> .ibbm-news-carousel) > .ibbm-news-carousel .ibbm-news-carousel__controls {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	border: 0 !important;
}

.ibbm-news-grid.ibbm-news-grid--carousel > .ibbm-news-carousel .ibbm-news-carousel__controls > *,
.ibbm-news-grid.ibbm-news-grid--carousel > .ibbm-news-carousel .ibbm-news-carousel__controls button,
.ibbm-news-grid--carousel > .ibbm-news-carousel .ibbm-news-carousel__controls > *,
.ibbm-news-grid--carousel > .ibbm-news-carousel .ibbm-news-carousel__controls button {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
}

/* IBBM prelaunch 1.0.205: lab funding table hyphenation */
/* Keep global responsive table behavior; only protect headers, entity column and acronyms. */
.ibbm-lab-content .table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
}

.ibbm-lab-content .data-table {
	width: 100%;
	border-collapse: collapse;
}

.ibbm-lab-content .data-table thead th,
.ibbm-lab-content .data-table tbody th {
	hyphens: none;
	-webkit-hyphens: none;
	word-break: normal;
	overflow-wrap: normal;
}

/* Column "Entidad" / Entity / Entidade (3rd column in funding tables). */
.ibbm-lab-content .data-table th:nth-child(3),
.ibbm-lab-content .data-table td:nth-child(3) {
	hyphens: none;
	-webkit-hyphens: none;
	word-break: normal;
	overflow-wrap: normal;
	white-space: nowrap;
	width: 1%;
	min-width: 7.5rem;
	max-width: 12rem;
}

/* Código / período column: keep codes together when possible. */
.ibbm-lab-content .data-table th:nth-child(2),
.ibbm-lab-content .data-table td:nth-child(2) {
	hyphens: none;
	-webkit-hyphens: none;
	word-break: normal;
	overflow-wrap: anywhere;
	min-width: 9rem;
}

/* Long project descriptions may still wrap. */
.ibbm-lab-content .data-table td:nth-child(1) {
	hyphens: manual;
	word-break: normal;
	overflow-wrap: anywhere;
	min-width: 12rem;
}

@media (max-width: 47.999rem) {
	.ibbm-lab-content .table-wrap {
		overflow-x: auto;
	}
	.ibbm-lab-content .data-table {
		min-width: 36rem;
	}
}


/* research-lab-icons-from-home-20260910 */
/* Keep Investigación/Research/Pesquisa card geometry; show home icons without Star Wars crop. */
body:is(.ibbm-page--research-hub) .ibbm-lab-directory.ibbm-lab-directory--images a.ibbm-lab-card figure {
	background: #5d5c31;
}
body:is(.ibbm-page--research-hub) .ibbm-lab-directory.ibbm-lab-directory--images a.ibbm-lab-card img {
	object-fit: contain;
	object-position: center;
	padding: 0.55rem 0.85rem;
	box-sizing: border-box;
	background: transparent;
}
body:is(.ibbm-page--research-hub) .ibbm-lab-directory.ibbm-lab-directory--images a.ibbm-lab-card:hover img,
body:is(.ibbm-page--research-hub) .ibbm-lab-directory.ibbm-lab-directory--images a.ibbm-lab-card:focus-visible img {
	transform: scale(1.03);
}

.ibbm-news-grid.ibbm-news-grid--carousel > .ibbm-news-carousel,
.ibbm-news-grid:has(> .ibbm-news-carousel) > .ibbm-news-carousel {
	background-color: color-mix(in srgb, var(--wp--preset--color--oliva, #5d5c31) 8%, #e4e1d4) !important;
	background-image: linear-gradient(180deg, #fdfcfa 0%, #f2f0e6 52%, color-mix(in srgb, var(--wp--preset--color--oliva, #5d5c31) 8%, #e4e1d4) 100%) !important;
}

.ibbm-news-grid.ibbm-news-grid--carousel > .ibbm-news-carousel .ibbm-news-carousel__viewport,
.ibbm-news-grid:has(> .ibbm-news-carousel) > .ibbm-news-carousel .ibbm-news-carousel__viewport {
	background: transparent !important;
	border-radius: 0.7rem;
	overflow: hidden;
}

.ibbm-news-grid.ibbm-news-grid--carousel > .ibbm-news-carousel .ibbm-news-carousel__slide,
.ibbm-news-grid:has(> .ibbm-news-carousel) > .ibbm-news-carousel .ibbm-news-carousel__slide {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
}

/* Selector de idioma (1.0.245): al abrirse, su menú debe quedar por encima
 * de la barra de navegación para que English/English seja clickeable. */
.ibbm-site-header:has(.ibbm-lang-switch[open]) {
	z-index: 130;
}

/* Selector de idioma (1.0.246): el encabezado completo conserva una capa
 * superior a la línea/nav para que ningún enlace del desplegable quede
 * interceptado por el borde horizontal. */
.ibbm-site-header {
	z-index: 130 !important;
}

/* Selector de idioma (1.0.247): jerarquía interna por encima de la navegación
 * primaria (110). Evita que su franja horizontal intercepte el enlace central. */
.ibbm-lang-switch {
	z-index: 140;
}

.ibbm-lang-switch__menu {
	z-index: 150;
}

/* Contacto de laboratorios (1.0.254): los correos institucionales son datos
 * atómicos. En columnas intermedias, ``overflow-wrap:anywhere`` dividía el
 * dominio final (por ejemplo, ``.edu.ar``) en una segunda línea mínima. La
 * escala compacta permite conservar el correo completo sin cambiar la grilla
 * ni afectar el texto de la ficha. */
.ibbm-lab-content .contact-mini a[href^="mailto:"] {
	font-size: 0.875rem;
	line-height: 1.35;
	letter-spacing: -0.01em;
	white-space: nowrap;
	overflow-wrap: normal;
	word-break: normal;
}

/* WhatsApp institucional (1.0.273): acceso directo, horario visible y
 * mensaje inicial listo para enviar, con copias localizadas por Polylang. */
.ibbm-whatsapp-widget {
	position: fixed;
	right: max(1.25rem, env(safe-area-inset-right));
	bottom: max(1.25rem, env(safe-area-inset-bottom));
	z-index: 120;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.55rem;
	max-width: calc(100vw - 2rem);
	font-family: var(--wp--preset--font-family--ibm-plex-sans, "IBM Plex Sans", Arial, sans-serif);
}

.ibbm-whatsapp-widget__hours {
	align-self: center;
	max-width: min(17rem, calc(100vw - 2rem));
	padding: 0.6rem 0.8rem;
	border: 1px solid var(--wp--preset--color--beige, #d6cebf);
	border-radius: 0.75rem;
	background: var(--wp--preset--color--marfil, #f8f5ef);
	box-shadow: 0 0.35rem 1.2rem rgba(33, 31, 27, 0.16);
	color: var(--wp--preset--color--tinta, #211f1b);
	line-height: 1.35;
	text-align: center;
}

.ibbm-whatsapp-widget__hours-title,
.ibbm-whatsapp-widget__schedule {
	margin: 0;
}

.ibbm-whatsapp-widget__hours-title {
	color: var(--wp--preset--color--oliva, #5d5c31);
	font-size: 0.78rem;
	font-weight: 700;
}

.ibbm-whatsapp-widget__schedule {
	display: flex;
	flex-direction: column;
	margin-top: 0.14rem;
	font-size: 0.76rem;
	line-height: 1.25;
}

.ibbm-whatsapp-widget__button {
	display: inline-flex;
	min-height: 3.5rem;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	padding: 0.35rem 1rem 0.35rem 0.45rem;
	border: 1px solid var(--wp--preset--color--beige, #d6cebf);
	border-radius: 999px;
	background: var(--wp--preset--color--marfil, #f8f5ef);
	box-shadow: 0 0.45rem 1.2rem rgba(33, 31, 27, 0.24);
	color: var(--wp--preset--color--oliva, #5d5c31);
	font-size: 0.86rem;
	font-weight: 700;
	line-height: 1.1;
	text-decoration: none;
	transition: background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.ibbm-whatsapp-widget__button:hover {
	transform: translateY(-2px);
	background: #fffdf8;
	box-shadow: 0 0.6rem 1.45rem rgba(33, 31, 27, 0.3);
	color: var(--wp--preset--color--oliva, #5d5c31);
}

.ibbm-whatsapp-widget__button:focus-visible {
	outline: 3px solid var(--wp--preset--color--foco, #c2410c);
	outline-offset: 3px;
}

.ibbm-whatsapp-widget__icon {
	width: 2.65rem;
	height: 2.65rem;
	flex: 0 0 auto;
}

.ibbm-whatsapp-widget__label {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	white-space: nowrap;
}

@media (max-width: 600px) {
	.ibbm-whatsapp-widget {
		flex-direction: row;
		align-items: center;
		right: max(0.75rem, env(safe-area-inset-right));
		bottom: max(0.75rem, env(safe-area-inset-bottom));
		gap: 0.45rem;
	}

	.ibbm-whatsapp-widget__hours {
		max-width: min(16rem, calc(100vw - 4.5rem));
		padding: 0.5rem 0.65rem;
	}

	.ibbm-whatsapp-widget__button {
		width: auto;
		min-width: 0;
		min-height: 3rem;
		flex: 0 0 auto;
		gap: 0.35rem;
		padding: 0.25rem 0.65rem 0.25rem 0.3rem;
		font-size: 0.72rem;
	}

	.ibbm-whatsapp-widget__icon {
		width: 2.35rem;
		height: 2.35rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ibbm-whatsapp-widget__button {
		transition: none;
	}

	.ibbm-whatsapp-widget__button:hover {
		transform: none;
	}
}


/* Oliva claro de las fichas de investigadores: solo Inicio ES/EN/PT. */
body.home #laboratorios a.ibbm-lab--icon {
	background: linear-gradient(135deg, #d9dbc1 0%, #ced1ae 100%);
	border-color: #b2b78e;
	color: #3f4525;
}

body.home #laboratorios a.ibbm-lab--icon:hover,
body.home #laboratorios a.ibbm-lab--icon:focus-visible {
	background: linear-gradient(135deg, #ced2af 0%, #c2c89b 100%);
	border-color: #969e6c;
	color: #3f4525;
}

body.home #laboratorios a.ibbm-lab--icon .ibbm-lab-title,
body.home #laboratorios a.ibbm-lab--icon .ibbm-lab-prefix,
body.home #laboratorios a.ibbm-lab--icon .ibbm-lab__arrow,
body.home #laboratorios a.ibbm-lab--icon .ibbm-home-unit-status {
	color: #3f4525;
}

body.home #laboratorios .ibbm-lab__divider {
	background: rgba(63, 69, 37, 0.28);
}


/* Legibilidad de logomarcas sobre oliva claro: solo botones de Inicio. */
body.home #laboratorios .ibbm-lab__icon {
	filter: contrast(1.12) drop-shadow(0 0.5px 0.45px rgba(63, 69, 37, 0.32));
}

body.home #laboratorios .ibbm-lab__icon[src$="/interacciones-rizobios-soja.png"],
body.home #laboratorios .ibbm-lab__icon[src$="/biologia-raiz.png"] {
	filter: contrast(1.2) drop-shadow(0 0.5px 0.5px rgba(63, 69, 37, 0.5));
}


/* Investigación ES/EN/PT: fondo e iconos armonizados con Inicio. */
body.ibbm-page--research-hub .ibbm-lab-directory.ibbm-lab-directory--images a.ibbm-lab-card {
	border-color: #b2b78e;
}

body.ibbm-page--research-hub .ibbm-lab-directory.ibbm-lab-directory--images a.ibbm-lab-card figure {
	background: linear-gradient(135deg, #d9dbc1 0%, #ced1ae 100%);
	border-bottom-color: #b2b78e;
}

body.ibbm-page--research-hub .ibbm-lab-directory.ibbm-lab-directory--images a.ibbm-lab-card:hover,
body.ibbm-page--research-hub .ibbm-lab-directory.ibbm-lab-directory--images a.ibbm-lab-card:focus-visible {
	border-color: #969e6c;
}

body.ibbm-page--research-hub .ibbm-lab-directory.ibbm-lab-directory--images a.ibbm-lab-card:hover figure,
body.ibbm-page--research-hub .ibbm-lab-directory.ibbm-lab-directory--images a.ibbm-lab-card:focus-visible figure {
	background: linear-gradient(135deg, #ced2af 0%, #c2c89b 100%);
	filter: brightness(1.05);
}

body.ibbm-page--research-hub .ibbm-lab-directory.ibbm-lab-directory--images a.ibbm-lab-card img {
	filter: contrast(1.12) drop-shadow(0 0.5px 0.45px rgba(63, 69, 37, 0.32));
}

body.ibbm-page--research-hub .ibbm-lab-directory.ibbm-lab-directory--images a.ibbm-lab-card > span {
	color: #3f4525;
}


/* Redes institucionales del pie compartido, ES/EN/PT. */
.ibbm-site-footer .ibbm-footer-socials {
 display: flex;
 flex: 0 0 100%;
 flex-wrap: wrap;
 align-items: center;
 justify-content: center;
 gap: .25rem;
 margin: .1rem 0 0;
}
.ibbm-site-footer .ibbm-footer-socials a {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 44px;
 min-height: 44px;
 border-radius: .3rem;
 color: var(--wp--preset--color--marfil, #f8f5ef);
 text-decoration: none;
}
.ibbm-site-footer .ibbm-footer-socials svg {
 display: block;
 width: 20px;
 height: 20px;
 fill: currentColor;
}
.ibbm-site-footer .ibbm-footer-socials a:hover {
 background: rgba(255,255,255,.12);
}
.ibbm-site-footer .ibbm-footer-socials a:focus-visible {
 outline: 2px solid currentColor;
 outline-offset: 2px;
}
@media (max-width: 767px) {
 .ibbm-site-footer .ibbm-footer-socials { justify-content: center; margin-top: .5rem; }
}
/* Reserva espacio al contacto flotante sin cambiar el propio widget. */
@media (max-width: 1199px) {
 .ibbm-site-footer { padding-bottom: 6rem; }
}
@media (min-width: 768px) and (max-width: 1199px) {
 .ibbm-site-footer { padding-bottom: 12rem; }
}
@media (min-width: 1200px) {
 .ibbm-site-footer .ibbm-runtime-footer-nav { padding-inline-end: 12rem; }
}


/* Fila de utilidades según referencia de Ulises: solo ES (1.0.308). */
.ibbm-site-header .ibbm-header-tools:has(.ibbm-header-utilities) {
 display: grid;
 width: auto;
 grid-template-columns: 15.5rem max-content;
 grid-template-rows: auto;
 column-gap: 3rem;
 align-items: center;
}
.ibbm-site-header .ibbm-header-tools:has(.ibbm-header-utilities) > .ibbm-dependencies {
 grid-column: 1;
 grid-row: 1;
}
.ibbm-site-header .ibbm-header-tools:has(.ibbm-header-utilities) .ibbm-dependency-lockup { width: 15.5rem; }
.ibbm-site-header .ibbm-header-utilities {
 display: flex;
 flex-wrap: nowrap;
 align-items: center;
 justify-content: center;
 gap: 2rem;
 position: relative;
 z-index: 120;
 grid-column: 2;
 grid-row: 1;
 margin: 0 !important;
 color: var(--wp--preset--color--oliva-profundo, #45451f);
}
.ibbm-site-header .ibbm-header-utilities > * { position: relative; margin: 0 !important; }
.ibbm-site-header .ibbm-header-utilities > * + *::before {
 content: "";
 position: absolute;
 left: -1rem;
 top: 50%;
 transform: translateY(-50%);
 width: 1px;
 height: 1.5rem;
 background: #bfb9ad;
 pointer-events: none;
}
.ibbm-site-header .ibbm-header-utilities .ibbm-members-mail,
.ibbm-site-header .ibbm-header-utilities .ibbm-lang-switch__summary {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: .65rem;
 width: auto;
 min-width: 0;
 height: 44px;
 min-height: 44px;
 padding: 0;
 border: 0;
 border-radius: 0;
 background: transparent;
 box-shadow: none;
 color: var(--wp--preset--color--oliva-profundo, #45451f);
 font-family: var(--wp--preset--font-family--ibm-plex-sans, "IBM Plex Sans", sans-serif);
 font-size: 1rem;
 font-weight: 700;
 line-height: 1;
 text-decoration: none;
 white-space: nowrap;
}
.ibbm-site-header .ibbm-header-utilities .ibbm-members-mail:hover,
.ibbm-site-header .ibbm-header-utilities .ibbm-lang-switch__summary:hover,
.ibbm-site-header .ibbm-header-utilities .ibbm-lang-switch[open] .ibbm-lang-switch__summary {
 background: transparent;
 border: 0;
 box-shadow: none;
 color: var(--wp--preset--color--oliva-profundo, #45451f);
}
.ibbm-site-header .ibbm-header-utilities .ibbm-members-mail:focus-visible,
.ibbm-site-header .ibbm-header-utilities .ibbm-lang-switch__summary:focus-visible {
 outline: 2px solid var(--wp--preset--color--foco, #c2410c);
 outline-offset: 4px;
}
.ibbm-site-header .ibbm-header-utilities .ibbm-members-mail__icon-wrap {
 width: 24px;
 height: 24px;
 border: 0;
 border-radius: 0;
 background: transparent;
 color: inherit;
}
.ibbm-site-header .ibbm-header-utilities .ibbm-members-mail__label { padding: 0; border: 0; }
.ibbm-site-header .ibbm-header-utilities svg { width: 24px; height: 24px; }
.ibbm-site-header .ibbm-header-utilities .ibbm-lang-switch__chevron {
 width: 6px;
 height: 6px;
 border-right: 1.6px solid currentColor;
 border-bottom: 1.6px solid currentColor;
 transform: translateY(-2px) rotate(45deg);
 font-size: 0;
}
.ibbm-site-header .ibbm-header-utilities .ibbm-lang-switch[open] .ibbm-lang-switch__chevron { transform: translateY(1px) rotate(225deg); }
.ibbm-site-header .ibbm-header-utilities .ibbm-lang-switch__menu { left: auto; right: 0; }
@media (max-width: 63.999rem) {
 .ibbm-site-header .ibbm-header-tools:has(.ibbm-header-utilities) {
  width: 100%;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto;
  row-gap: .65rem;
  justify-items: center;
 }
 .ibbm-site-header .ibbm-header-tools:has(.ibbm-header-utilities) > .ibbm-dependencies { justify-self: center; }
 .ibbm-site-header .ibbm-header-tools:has(.ibbm-header-utilities) .ibbm-dependency-lockup { width: 12rem; }
 .ibbm-site-header .ibbm-header-utilities { grid-column: 1; grid-row: 2; }
}
@media (max-width: 26.25rem) {
 .ibbm-site-header .ibbm-header-utilities { gap: 1.4rem; }
 .ibbm-site-header .ibbm-header-utilities > * + *::before { left: -.7rem; }
 .ibbm-site-header .ibbm-header-utilities .ibbm-members-mail,
 .ibbm-site-header .ibbm-header-utilities .ibbm-lang-switch__summary { font-size: .9rem; gap: .45rem; }
 .ibbm-site-header .ibbm-header-utilities .ibbm-members-mail__icon-wrap,
 .ibbm-site-header .ibbm-header-utilities svg { width: 20px; height: 20px; }
}
