/* Generated file. Edit the modular sources and run scripts/build-css.php. */

/* Source: assets/public/css/tokens.css */
@font-face {
	font-family: "DM Sans";
	font-style: normal;
	font-weight: 200 700;
	font-display: swap;
	src: url("https://fonts.gstatic.com/s/dmsans/v15/rP2Hp2ywxg089UriCZOIHTWEBlw.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "DM Sans Fallback";
	font-style: normal;
	font-weight: 200 700;
	src: local("Arial");
	size-adjust: 97.19%;
	ascent-override: 99.2%;
	descent-override: 31%;
	line-gap-override: 0%;
}

:root {
	/* Tipografía */
	--font-sans: "DM Sans", "DM Sans Fallback", Helvetica, Arial, sans-serif;
	--line-height-compacto: 1.1;
	--line-height-base: 1.5;
	--letter-spacing-overline: 0.08em;
	--link-underline-offset: 0.18em;

	/* Escala tipográfica fluida: 320 px → 1280 px */
	--font-size-p: clamp(0.9375rem, 0.9167rem + 0.1042vw, 1rem);
	--font-size-h1: clamp(1.5rem, 1.3333rem + 0.8333vw, 2rem);
	--font-size-h2: clamp(1.25rem, 1.1667rem + 0.4167vw, 1.5rem);
	--font-size-h3: clamp(1.125rem, 1.0833rem + 0.2083vw, 1.25rem);
	--font-size-h4: clamp(1.125rem, 1.0833rem + 0.2083vw, 1.25rem);
	--font-size-h5: clamp(1rem, 0.9583rem + 0.2083vw, 1.125rem);
	--font-size-h6: clamp(0.6875rem, 0.6667rem + 0.1042vw, 0.75rem);
	--font-size-menu: clamp(0.8125rem, 0.7917rem + 0.1042vw, 0.875rem);
	--font-size-menu-mobile: clamp(1rem, 0.9583rem + 0.2083vw, 1.125rem);
	--font-size-icon: 1.25rem;
	--font-size-icon-large: 1.5rem;
	--font-size-icon-menu: 2rem;
	--font-size-icon-display: clamp(1.75rem, 1.5833rem + 0.8333vw, 2.25rem);

	/* Colores base */
	--color-blanco: #ffffff;
	--color-biosur: #0669ea;
	--color-biosur-hover: #055bc9;
	--color-celeste: #3fdced;
	--color-activo: #ffc800;
	--color-error: #b32d2e;
	--color-gris-100: #212529;
	--color-gris-90: #343a40;
	--color-gris-70: #6c757d;
	--color-gris-60: #adb5bd;
	--color-gris-20: #f4f5f7;
	--color-gris-10: #f8f9fa;
	--color-fondo-alt: #f1f5f8;

	/* Colores semánticos y transparencias recurrentes */
	--color-background: var(--color-blanco);
	--color-text-primary: var(--color-gris-90);
	--color-action: var(--color-biosur);
	--color-biosur-alpha-08: rgb(6 105 234 / 8%);
	--color-biosur-alpha-10: rgb(6 105 234 / 10%);
	--color-biosur-alpha-12: rgb(6 105 234 / 12%);
	--color-biosur-alpha-16: rgb(6 105 234 / 16%);
	--color-gris-70-alpha-08: rgb(108 117 125 / 8%);
	--color-gris-100-alpha-12: rgb(33 37 41 / 12%);

	/* Escala espacial */
	--space-1: 0.25rem;
	--space-2: 0.5rem;
	--space-3: 0.75rem;
	--space-4: 1rem;
	--space-5: 1.25rem;
	--space-6: 1.5rem;
	--space-8: 2rem;
	--space-12: 3rem;
	--biosur-flow-gap: clamp(1.625rem, 1.5rem + 0.5vw, 2rem);
	--biosur-section-spacing: calc(var(--biosur-flow-gap) + 2.625rem);
	--biosur-block-spacing: clamp(2rem, 1.5rem + 2vw, 4rem);
	--biosur-content-gap: clamp(0.5rem, 0.4167rem + 0.4167vw, 0.75rem);
	--biosur-stack-spacing: clamp(1rem, 0.8333rem + 0.8333vw, 1.5rem);
	--biosur-action-spacing: clamp(1.25rem, 1.0833rem + 0.8333vw, 1.75rem);
	--biosur-row-spacing: clamp(2rem, 1.6667rem + 1.6667vw, 3rem);
	--biosur-inline-gap: 0.35rem;

	/* Grilla: móvil por defecto */
	--grid-columnas: 4;
	--grid-gap: var(--space-4);
	--grid-margen: var(--space-4);
	--grid-ancho-maximo: 64rem;

	/* Formas, controles y foco */
	--control-size: 2.75rem;
	--control-size-compact: 1.5rem;
	--border-width-base: 1px;
	--border-width-active: 0.1875rem;
	--radius-round: 50%;
	--radius-menu: 0.35rem;
	--focus-ring-width: 3px;
	--focus-ring-offset: 0.25rem;

	/* Tarjetas y formularios */
	--biosur-card-padding-top: var(--space-4);
	--biosur-card-padding-inline: var(--space-4);
	--biosur-card-padding-bottom: clamp(1rem, 0.8333rem + 0.8333vw, 1.5rem);
	--biosur-card-title-gap: 0.4rem;
	--biosur-card-title-font-size: var(--font-size-p);
	--biosur-view-all-padding-start: clamp(1.25rem, 1rem + 1vw, 2rem);
	--biosur-form-field-padding-top: 0.625rem;
	--biosur-form-field-padding-bottom: 0.875rem;
	--biosur-form-textarea-min-height: 8rem;

	/* Relaciones de aspecto */
	--aspect-square: 1 / 1;
	--aspect-landscape: 4 / 3;
	--aspect-video: 16 / 9;
	--aspect-wide: 126 / 61;
	--aspect-banner: 3.5 / 1;
	--aspect-banner-source: 2560 / 732;
	--biosur-video-aspect-ratio: var(--aspect-video);

	/* Cabecera, footer y bloques editoriales */
	--header-altura: 4.375rem;
	--header-logo-altura: 2.625rem;
	--biosur-contact-avatar-size: 4.25rem;
	--biosur-solution-button-height-primary: 3rem;
	--biosur-solution-button-height-compact: 3rem;
	--biosur-brand-logo-height: clamp(1.5rem, 1.3333rem + 0.8333vw, 2rem);
	--biosur-filter-logo-height: clamp(1rem, 0.8333rem + 0.8333vw, 1.5rem);
	--biosur-footer-brand-logo-height: 2rem;
	--biosur-footer-partner-logo-height: 2rem;
	--biosur-brand-logo-max-width: 8rem;
	--biosur-brand-logo-wide-max-width: 15rem;
	--biosur-header-submenu-min-width: 14rem;
	--biosur-content-max-width: 42rem;
	--biosur-footer-content-max-width: 36rem;

	/* Sombras */
	--shadow-header-mobile: 0 1rem 2rem rgb(6 25 50 / 14%);
	--shadow-header-desktop: 0 0.8rem 2rem rgb(6 25 50 / 20%);
	--shadow-text-image: 0 1px 0.5rem rgb(0 0 0 / 38%);

	/* Movimiento e interacción */
	--motion-duration-feedback: 180ms;
	--motion-duration-elastic: 260ms;
	--motion-duration-elastic-long: 460ms;
	--motion-duration-banner: 520ms;
	--motion-easing-standard: ease;
	--motion-easing-elastic: cubic-bezier(0.34, 1.56, 0.64, 1);
	--motion-easing-banner: cubic-bezier(0.22, 1, 0.36, 1);
	--motion-scale-hover: 1.06;
	--motion-scale-press: 0.94;
	--motion-scale-card-hover: 1.03;
	--motion-scale-card-press: 0.97;
	--transition-opacity: opacity var(--motion-duration-feedback) var(--motion-easing-standard);
	--transition-banner: transform var(--motion-duration-banner) var(--motion-easing-banner);
}

@media (min-width: 42rem) {
	:root {
		--grid-columnas: 8;
	}
}

@media (min-width: 66rem) {
	:root {
		--grid-columnas: 12;
	}
}

/* Source: assets/public/css/typography.css */
p,
h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--color-gris-100);
	font-family: var(--font-sans);
	font-style: normal;
}

p {
	font-size: var(--font-size-p);
	font-weight: 400;
	line-height: var(--line-height-base);
}

h1 {
	font-size: var(--font-size-h1);
	font-weight: 300;
	line-height: var(--line-height-compacto);
}

h2 {
	font-size: var(--font-size-h2);
	font-weight: 500;
	line-height: var(--line-height-compacto);
}

h3 {
	font-size: var(--font-size-h3);
	font-weight: 300;
	line-height: var(--line-height-compacto);
}

h4 {
	font-size: var(--font-size-h4);
	font-weight: 400;
	line-height: var(--line-height-compacto);
}

h5 {
	font-size: var(--font-size-h5);
	font-weight: 500;
	line-height: var(--line-height-compacto);
}

h6 {
	color: var(--color-gris-70);
	font-size: var(--font-size-h6);
	font-weight: 400;
	letter-spacing: var(--letter-spacing-overline);
	line-height: var(--line-height-compacto);
	text-transform: uppercase;
}

/* Source: assets/public/css/motion.css */
/* Patrón elástico predeterminado para botones y elementos interactivos reutilizables. */
button:not(:disabled),
input[type="button"]:not(:disabled),
input[type="submit"]:not(:disabled),
input[type="reset"]:not(:disabled),
[role="button"]:not([aria-disabled="true"]),
.biosur-motion-elastic {
	transform-origin: center;
	transition-property: transform;
	transition-duration: var(--motion-duration-elastic);
	transition-timing-function: var(--motion-easing-elastic);
	-webkit-tap-highlight-color: transparent;
}

@media (hover: hover) and (pointer: fine) {
	button:not(:disabled):hover,
	input[type="button"]:not(:disabled):hover,
	input[type="submit"]:not(:disabled):hover,
	input[type="reset"]:not(:disabled):hover,
	[role="button"]:not([aria-disabled="true"]):hover,
	.biosur-motion-elastic:hover {
		transform: scale(var(--motion-scale-hover));
	}
}

button:not(:disabled):active,
input[type="button"]:not(:disabled):active,
input[type="submit"]:not(:disabled):active,
input[type="reset"]:not(:disabled):active,
[role="button"]:not([aria-disabled="true"]):active,
.biosur-motion-elastic:active {
	transform: scale(var(--motion-scale-press));
}

/* Variante elástica de menor amplitud para tarjetas interactivas. */
.biosur-motion-elastic-card {
	transform-origin: center;
	transition-property: transform;
	transition-duration: var(--motion-duration-elastic);
	transition-timing-function: var(--motion-easing-elastic);
	-webkit-tap-highlight-color: transparent;
}

@media (hover: hover) and (pointer: fine) {
	.biosur-motion-elastic-card:hover {
		transform: scale(var(--motion-scale-card-hover));
	}
}

.biosur-motion-elastic-card:active {
	transform: scale(var(--motion-scale-card-press));
}

@media (prefers-reduced-motion: reduce) {
	button,
	input[type="button"],
	input[type="submit"],
	input[type="reset"],
	[role="button"],
	.biosur-motion-elastic,
	.biosur-motion-elastic-card,
	.biosur-header__toggle,
	.biosur-header__toggle-icon,
	.biosur-header__desktop-submenu-icon,
	.biosur-header__submenu-icon {
		transition-duration: 0.01ms;
	}
}

/* Source: assets/public/css/base.css */
.biosur-image-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	background: var(--color-celeste);
}

/* Shared local SVG icon geometry. */
.biosur-icon {
	display: inline-block;
	width: 1em;
	height: 1em;
	flex: 0 0 auto;
	fill: currentColor;
	line-height: 1;
	vertical-align: -0.125em;
}

.biosur-icon-sprite {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
	pointer-events: none;
}

/* Source: assets/public/css/header.css */
.biosur-header {
	position: sticky;
	z-index: 1000;
	top: 0;
	width: 100%;
	height: var(--header-altura);
	min-height: var(--header-altura);
	background: var(--color-biosur);
	color: var(--color-blanco);
	font-family: var(--font-sans);
}

.admin-bar .biosur-header {
	top: 32px;
}

.biosur-header__inner {
	display: flex;
	width: calc(100% - (2 * var(--grid-margen)));
	max-width: var(--grid-ancho-maximo);
	align-items: center;
	justify-content: space-between;
	height: var(--header-altura);
	margin-inline: auto;
	min-height: var(--header-altura);
}

.biosur-header__brand {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	color: var(--color-blanco);
	line-height: 0;
}

.biosur-header__brand svg {
	display: block;
	width: auto;
	height: var(--header-logo-altura);
	max-height: var(--header-logo-altura);
	max-width: min(var(--biosur-brand-logo-wide-max-width), 46vw);
}

.biosur-header__brand svg [fill]:not([fill="none"]) {
	fill: currentColor;
}

.biosur-header__logo-text {
	color: var(--color-blanco);
	font-size: var(--font-size-icon-large);
	font-weight: 700;
	line-height: 1;
}

.biosur-header__toggle {
	display: inline-grid;
	width: var(--control-size);
	height: var(--control-size);
	padding: 0;
	border: 0;
	border-radius: 0;
	appearance: none;
	background: none;
	box-shadow: none;
	color: var(--color-blanco);
	cursor: pointer;
	place-items: center;
	-webkit-tap-highlight-color: transparent;
	transform: none;
	transition: none;
}

.biosur-header__toggle:hover,
.biosur-header__toggle:active {
	transform: none;
}

.biosur-header__toggle-icon {
	grid-area: 1 / 1;
	width: var(--font-size-icon-menu);
	height: var(--font-size-icon-menu);
	transform: none;
	transition: none;
}

.biosur-header__toggle-icon--menu {
	opacity: 1;
	transform: none;
}

.biosur-header__toggle-icon--close {
	opacity: 0;
	transform: none;
}

.biosur-header__toggle[aria-expanded="true"] .biosur-header__toggle-icon--menu {
	opacity: 0;
	transform: none;
}

.biosur-header__toggle[aria-expanded="true"] .biosur-header__toggle-icon--close {
	opacity: 1;
	transform: none;
}

.biosur-header__navigation {
	position: fixed;
	top: var(--header-altura);
	right: 0;
	bottom: 0;
	left: 0;
	display: none;
	max-height: none;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior-y: contain;
	padding: var(--space-4);
	padding-bottom: max(var(--space-8), env(safe-area-inset-bottom));
	background: var(--color-biosur);
	box-shadow: var(--shadow-header-mobile);
	touch-action: pan-y;
	-webkit-overflow-scrolling: touch;
	scrollbar-gutter: stable;
}

body.biosur-mobile-menu-open {
	overflow: hidden;
}

.admin-bar .biosur-header__navigation {
	top: calc(var(--header-altura) + 32px);
}

.biosur-header__toggle[aria-expanded="true"] + .biosur-header__navigation {
	display: block;
}

.biosur-header__menu,
.biosur-header__menu ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.biosur-header__menu {
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
}

.biosur-header__menu a,
.biosur-header__setup {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--biosur-inline-gap);
	padding: 0.7rem 0;
	color: var(--color-blanco);
	font-family: var(--font-sans);
	font-size: var(--font-size-menu-mobile);
	font-style: normal;
	font-weight: 400;
	line-height: var(--line-height-base);
	text-decoration: none;
}

.biosur-header__linkedin-link {
	line-height: 0;
}

.biosur-header__linkedin-mark {
	display: inline-flex;
	align-items: center;
	color: currentColor;
	line-height: 0;
}

.biosur-header__linkedin-mark--desktop {
	display: none;
}

.biosur-header__linkedin-link svg {
	display: block;
	width: auto;
	height: 1.25rem;
	flex: 0 0 auto;
}

.biosur-header__linkedin-link svg [fill]:not([fill="none"]) {
	fill: currentColor;
}

/* El header no usa zoom ni rebote: solo rotan los chevrons de submenú. */
.biosur-header button,
.biosur-header [role="button"] {
	transform: none;
	transition-property: none;
}

@media (hover: hover) and (pointer: fine) {
	.biosur-header button:hover,
	.biosur-header [role="button"]:hover {
		transform: none;
	}
}

.biosur-header button:active,
.biosur-header [role="button"]:active {
	transform: none;
}

.biosur-header__menu .current-menu-item > a,
.biosur-header__menu .current-menu-ancestor > a,
.biosur-header__menu .current_page_item > a {
	color: var(--color-activo);
	font-weight: 700;
}

.biosur-header__desktop-submenu-icon {
	display: none;
	width: var(--font-size-icon-large);
	height: var(--font-size-icon-large);
	transform: rotate(0deg);
	transform-origin: center;
	transition: transform var(--motion-duration-feedback) var(--motion-easing-standard);
}

.biosur-header__menu .sub-menu {
	display: none;
	padding: 0 0 0.5rem 1rem;
}

.biosur-header__menu .is-submenu-open > .sub-menu {
	display: block;
}

.biosur-header__submenu-toggle {
	position: absolute;
	top: 0;
	right: 0;
	display: grid;
	width: var(--control-size);
	height: var(--control-size);
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--color-blanco);
	cursor: pointer;
	place-items: center;
}

.biosur-header__submenu-icon {
	width: var(--font-size-icon-large);
	height: var(--font-size-icon-large);
	transition: transform var(--motion-duration-feedback) var(--motion-easing-standard);
}

.biosur-header__submenu-toggle[aria-expanded="true"] .biosur-header__submenu-icon {
	transform: rotate(180deg);
}

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

.biosur-header__menu .menu-item-has-children > a {
	padding-right: 3rem;
	cursor: pointer;
}


.biosur-header__menu a:focus-visible,
.biosur-header__toggle:focus-visible,
.biosur-header__submenu-toggle:focus-visible,
.biosur-header__setup:focus-visible {
	outline: var(--focus-ring-width) solid var(--color-activo);
	outline-offset: var(--focus-ring-offset);
}

@media (min-width: 66rem) {
	.biosur-header__linkedin-mark--mobile {
		display: none;
	}

	.biosur-header__linkedin-mark--desktop {
		display: inline-flex;
	}

	.biosur-header__toggle {
		display: none;
	}

	.biosur-header__navigation {
		position: static;
		top: auto;
		right: auto;
		bottom: auto;
		left: auto;
		display: block;
		max-height: none;
		overflow: visible;
		padding: 0;
		background: transparent;
		box-shadow: none;
		touch-action: auto;
	}

	body.biosur-mobile-menu-open {
		overflow: auto;
		touch-action: auto;
	}

	.biosur-header__menu {
		flex-direction: row;
		align-items: center;
		gap: var(--space-8);
	}

	.biosur-header__menu a,
	.biosur-header__setup {
		justify-content: flex-start;
		height: var(--header-altura);
		padding: 0;
		font-size: var(--font-size-menu);
	}

	.biosur-header__submenu-toggle {
		display: none;
	}

	.biosur-header__menu .menu-item-has-children > a {
		padding-right: 0;
		cursor: default;
	}

	.biosur-header__desktop-submenu-icon {
		display: inline-block;
	}

	.biosur-header__menu > .menu-item {
		position: relative;
	}

	.biosur-header__menu .sub-menu {
		position: absolute;
		top: calc(100% - 0.75rem);
		right: 0;
		left: auto;
		display: none;
		min-width: var(--biosur-header-submenu-min-width);
		padding: 0.5rem 1rem;
		border-radius: var(--radius-menu);
		background: var(--color-biosur);
		box-shadow: var(--shadow-header-desktop);
	}

	.biosur-header__menu .sub-menu a {
		height: auto;
		padding: 0.7rem 0;
	}

	.biosur-header__menu .sub-menu .sub-menu {
		top: 0;
		right: 100%;
	}

	.biosur-header__menu .menu-item-has-children:hover > .sub-menu,
	.biosur-header__menu .menu-item-has-children:focus-within > .sub-menu,
	.biosur-header__menu .menu-item-has-children.is-submenu-open > .sub-menu {
		display: block;
	}

	.biosur-header__menu .menu-item-has-children:hover > a .biosur-header__desktop-submenu-icon,
	.biosur-header__menu .menu-item-has-children:focus-within > a .biosur-header__desktop-submenu-icon,
	.biosur-header__menu .menu-item-has-children.is-submenu-open > a .biosur-header__desktop-submenu-icon,
	.biosur-header__menu .menu-item-has-children > a[aria-expanded="true"] .biosur-header__desktop-submenu-icon {
		transform: rotate(180deg);
	}
}

@media screen and (max-width: 782px) {
	.admin-bar .biosur-header {
		top: 46px;
	}

	.admin-bar .biosur-header__navigation {
		top: calc(var(--header-altura) + 46px);
	}
}
