/* =============================================
   Footer wrapper en sub-páginas — neutralizar el <footer.wp-block-template-part>
   que WordPress envuelve, para que se vea igual que en el home
   ============================================= */
footer.wp-block-template-part {
	width: 100%;
	max-width: none;
	margin: 0 !important;
	padding: 0 !important;
}

footer.wp-block-template-part > .superbthemes-footer-4 {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* Anchor invisible #contact que funciona como destino de scroll
   (compensa que el render via template-part strip los id originales) */
.tc-contact-anchor {
	display: block;
	width: 0;
	height: 0;
	overflow: hidden;
	visibility: hidden;
}

/* =============================================
   Smooth scroll + offset para anclas con menú sticky
   ============================================= */
html {
	scroll-behavior: smooth;
	/* Offset para que la sección destino quede VISIBLE bajo el menú sticky.
	   Si el menú mide ~75-95px, esto baja el target lo suficiente. */
	scroll-padding-top: clamp(70px, 9vh, 110px);
}

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

/* =============================================
   Fix: WordPress duotone SVG filter clipea la imagen
   cuando el cover es más ancho que el contentSize.
   Solución: deshabilitar el filtro SVG y reemplazarlo
   con grayscale + overlay CSS que no tiene límite de ancho.
   ============================================= */

.wp-block-cover[class*="wp-duotone"] .wp-block-cover__image-background {
	/* Reemplaza el SVG filter con grayscale puro — no clipea */
	filter: grayscale(100%) contrast(1.05) !important;
}

/* Overlay azul oscuro multiplicativo que simula el efecto midnight */
.wp-block-cover[class*="wp-duotone"]::before {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0, 25, 70, 0.55);
	mix-blend-mode: multiply;
	z-index: 0;
	pointer-events: none;
}

/* Asegura que el overlay no tape el contenido interno */
.wp-block-cover[class*="wp-duotone"] .wp-block-cover__background,
.wp-block-cover[class*="wp-duotone"] .wp-block-cover__inner-container {
	z-index: 1;
}

/* =============================================
   Cover alignfull — rompe el contenedor constrained
   y ocupa 100vw independientemente del max-width del tema
   ============================================= */

.wp-block-cover.alignfull,
.wp-block-group.alignfull > .wp-block-cover {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	left: 0;
	right: 0;
}

/* =============================================
   Video / iframe cover — full-width sin bordes ni letterbox
   Aplica a: wp:cover con video, wp:video,
   embeds de YouTube/Vimeo y el pattern tc-video-cover

   Técnica: el iframe se escala a max(100vw, 177.78vh) × max(56.25vw, 100vh).
   Esto mantiene siempre 16:9 perfecto (sin barras negras de YouTube)
   y cubre el viewport en cualquier proporción (wide, square, portrait).
   ============================================= */

/* Asegura que el cover con video llegue a 100vw aunque esté
   dentro de un contenedor constrained del tema */
.wp-block-cover.alignfull:has(video),
.wp-block-cover.alignfull:has(.wp-block-cover__video-background),
.wp-block-cover.alignfull:has(iframe),
.wp-block-cover.alignfull:has(.wp-block-embed) {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	overflow: hidden;
	background-color: #000;
}

/* Video nativo HTML5 dentro de cover */
.wp-block-cover video,
.wp-block-cover__video-background {
	object-fit: cover;
	width: 100% !important;
	height: 100% !important;
	display: block;
	border: 0 !important;
	outline: 0 !important;
}

/* iframes (YouTube, Vimeo) — quita borde y gap inline */
.wp-block-cover iframe,
.wp-block-group.alignfull iframe,
.wp-block-group.alignwide iframe,
.tc-video-cover iframe {
	border: 0 !important;
	outline: 0 !important;
	display: block;
}

/* Wrapper responsive 16:9 que siempre cubre el viewport SIN letterbox.
   max() garantiza aspect-ratio exacto en cualquier proporción de pantalla */
.wp-block-cover .wp-block-embed__wrapper,
.wp-block-embed.is-type-video .wp-block-embed__wrapper,
.wp-block-embed.is-provider-youtube .wp-block-embed__wrapper,
.wp-block-embed.is-provider-vimeo .wp-block-embed__wrapper {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: max(100vw, 177.78vh);
	height: max(56.25vw, 100vh);
	pointer-events: none;
	overflow: hidden;
	border: 0;
}

.wp-block-cover .wp-block-embed__wrapper iframe,
.wp-block-embed.is-type-video .wp-block-embed__wrapper iframe,
.wp-block-embed.is-provider-youtube .wp-block-embed__wrapper iframe,
.wp-block-embed.is-provider-vimeo .wp-block-embed__wrapper iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0 !important;
	display: block;
}

/* El cover padre necesita overflow hidden para que el iframe
   agrandado no genere scroll horizontal */
.wp-block-cover:has(.wp-block-embed),
.wp-block-cover:has(iframe),
.wp-block-cover:has(video) {
	overflow: hidden;
}

/* Wrapper full-aligned del banner — fuerza 100vw absoluto */
.tc-video-cover-wrap {
	padding: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	position: relative !important;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	box-sizing: border-box;
	overflow: hidden;
}

/* Pattern personalizado tc-video-cover (video-cover-001.php) */
.tc-video-cover {
	position: relative;
	width: 100%;
	max-width: 100%;
	min-height: 100vh;
	min-height: 100svh;
	overflow: hidden;
	background-color: #000;
	display: flex;
	align-items: center;
	justify-content: center;
	/* Padding vertical fluido — evita que el copy toque el borde superior/inferior
	   en móvil cuando el contenido es alto; no recorta nunca */
	padding: clamp(3rem, 8vh, 6rem) clamp(1rem, 4vw, 3rem);
	box-sizing: border-box;
}

/* Si el wrapper padre tiene has-global-padding aplicado, anularlo
   para que el banner ocupe 100vw real sin franjas naranjas en móvil */
.tc-video-cover-wrap.has-global-padding,
.has-global-padding > .tc-video-cover-wrap {
	padding-inline: 0 !important;
}

/* Wrapper del video — cubre todo el contenedor con inset:0 */
.tc-video-cover__wrapper {
	position: absolute;
	inset: 0;
	pointer-events: none;
	overflow: hidden;
}

/* Video nativo self-hosted — object-fit:cover reemplaza todos los hacks
   de aspect-ratio que necesitaba el iframe de Vimeo */
.tc-video-cover__wrapper video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	pointer-events: none;
	/* Duotone midnight vía CSS: grayscale + overlay multiply */
	filter: grayscale(100%);
}

/* Fallback iframe (Vimeo/YouTube) si se usa en vez de <video> */
.tc-video-cover__wrapper iframe {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(1.04);
	width: max(100vw, 177.78vh);
	height: max(56.25vw, 100vh);
	border: 0 !important;
	outline: 0 !important;
	display: block;
	background-color: transparent;
	pointer-events: none;
	filter: grayscale(100%);
}

/* Overlay multiply azul midnight + segunda capa oscura para mejorar legibilidad */
.tc-video-cover__wrapper::after {
	content: '';
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(12, 26, 46, 0.45) 0%, rgba(12, 26, 46, 0.25) 50%, rgba(12, 26, 46, 0.5) 100%),
		#00a5ff;
	mix-blend-mode: multiply;
	pointer-events: none;
	z-index: 1;
}

/* ----- Contenido del pattern (título + intro + lista) ----- */
.tc-video-cover__content {
	position: relative;
	z-index: 2;
	text-align: center;
	color: #ffffff;
	width: min(100%, 84ch);
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	gap: clamp(1rem, 2.5vh, 2rem);
	/* Sube el bloque 60px sobre el centro vertical (desktop).
	   En viewports pequeños limita a -30px para no chocar con el borde. */
	transform: translateY(-60px);
}

@media (max-height: 700px) {
	.tc-video-cover__content {
		transform: translateY(-30px);
	}
}

.tc-video-cover__content > * {
	margin: 0;
}

.tc-video-cover__content h1 {
	font-size: clamp(2.25rem, 5vw + 0.5rem, 5.25rem);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: #ffffff;
	text-wrap: balance;
}

/* Palabra acentuada en el título del banner */
.tc-video-cover__content h1 .tc-accent {
	color: #ed4700;
	text-shadow: 0 0 18px rgba(237, 71, 0, 0.35);
}

.tc-video-cover__content p {
	font-size: clamp(1.1rem, 1vw + 0.95rem, 1.55rem);
	font-weight: 500;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.95);
	text-wrap: pretty;
}

/* Lista de servicios — bullets azul midnight, grid auto-fit */
/* ===== Servicios como chips (cajitas con icono) ===== */
.tc-video-cover__chips {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
	gap: 0.7rem;
	margin: 0.5rem auto 0;
	max-width: 1000px;
	width: 100%;
}

.tc-video-cover__chip {
	display: inline-flex;
	align-items: center;
	gap: 0.7rem;
	padding: 0.7rem 0.95rem;
	background: rgba(12, 26, 46, 0.45);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 12px;
	transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
	text-align: left;
	/* Como ahora es <a>, asegurar que no tenga estilos de link por defecto */
	text-decoration: none !important;
	color: inherit;
	cursor: pointer;
}

.tc-video-cover__chip:hover,
.tc-video-cover__chip:focus-visible {
	background: rgba(12, 74, 110, 0.55);
	border-color: rgba(0, 165, 255, 0.5);
	transform: translateY(-2px);
	box-shadow: 0 8px 24px -10px rgba(0, 165, 255, 0.4);
	outline: none;
	text-decoration: none !important;
}

.tc-video-cover__chip-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 9px;
	background: linear-gradient(135deg, rgba(0, 165, 255, 0.22) 0%, rgba(0, 165, 255, 0.08) 100%);
	border: 1px solid rgba(0, 165, 255, 0.4);
	color: #00a5ff;
	flex-shrink: 0;
	transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.tc-video-cover__chip-icon svg {
	width: 18px;
	height: 18px;
}

.tc-video-cover__chip:hover .tc-video-cover__chip-icon {
	background: linear-gradient(135deg, rgba(237, 71, 0, 0.28) 0%, rgba(237, 71, 0, 0.1) 100%);
	border-color: rgba(237, 71, 0, 0.55);
	color: #ed4700;
}

.tc-video-cover__chip-label {
	font-size: clamp(0.82rem, 0.4vw + 0.74rem, 0.95rem);
	font-weight: 600;
	line-height: 1.25;
	color: #ffffff;
	letter-spacing: -0.005em;
}

/* Entrada animada de cada chip — usa --chip-delay del inline style */
.tc-video-cover__chip {
	opacity: 0;
	animation: tc-fade-up 0.7s cubic-bezier(0.22, 1, 0.36, 1) var(--chip-delay, 0ms) forwards;
}

/* Mantengo la regla del <ul> por compatibilidad (ahora no se usa pero
   por si alguien edita el bloque y vuelve a la lista vieja) */
.tc-video-cover__content ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: inline-grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	gap: 0.6rem 2.5rem;
	text-align: left;
	font-size: clamp(1.05rem, 0.7vw + 0.95rem, 1.35rem);
	font-weight: 500;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.97);
	justify-self: center;
	max-width: 68rem;
}

.tc-video-cover__content ul li {
	position: relative;
	padding-left: 1.4rem;
}

.tc-video-cover__content ul li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.65em;
	width: 0.45rem;
	height: 0.45rem;
	border-radius: 50%;
	background: #00a5ff;
	box-shadow: 0 0 12px rgba(0, 165, 255, 0.6);
}

@media (max-width: 600px) {
	/* Párrafo compacto en móvil */
	.tc-video-cover__content p {
		font-size: 0.85rem;
		line-height: 1.35;
	}

	/* Lista compacta */
	.tc-video-cover__content ul {
		grid-template-columns: 1fr;
		gap: 0.25rem;
		font-size: 0.85rem;
		line-height: 1.35;
	}

	.tc-video-cover__content ul li {
		padding-left: 1.1rem;
	}

	.tc-video-cover__content ul li::before {
		width: 0.35rem;
		height: 0.35rem;
		top: 0.55em;
	}

	/* Chips en móvil: 2 columnas en pantalla normal, 1 si está muy estrecho */
	.tc-video-cover__chips {
		grid-template-columns: repeat(2, 1fr);
		gap: 0.5rem;
	}

	.tc-video-cover__chip {
		padding: 0.55rem 0.7rem;
		gap: 0.55rem;
	}

	.tc-video-cover__chip-icon {
		width: 30px;
		height: 30px;
		border-radius: 7px;
	}

	.tc-video-cover__chip-icon svg {
		width: 15px;
		height: 15px;
	}

	.tc-video-cover__chip-label {
		font-size: 0.78rem;
		line-height: 1.2;
	}

	/* Título un poco más chico para dar aire al video */
	.tc-video-cover__content h1 {
		font-size: clamp(1.75rem, 6vw, 2.25rem);
		margin-bottom: 0.5rem;
	}

	/* Layout simple: contenedor flex que ocupa todo, justify-content
	   separa el grupo de arriba (h1+p) del grupo de abajo (ul) */
	.tc-video-cover__content {
		gap: 0.75rem;
		transform: none !important;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		min-height: 80vh;
		padding: 2rem 1rem 2rem;
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
	}

	/* Título y párrafo agrupados en una caja interna arriba */
	.tc-video-cover__content h1,
	.tc-video-cover__content p {
		margin: 0 !important;
		max-width: 100%;
		word-wrap: break-word;
	}

	/* Espacio entre título y descripción */
	.tc-video-cover__content h1 {
		margin-bottom: 0.5rem !important;
	}

	/* Sube el párrafo hacia el título sin afectar al resto */
	.tc-video-cover__content p {
		transform: translateY(-180px);
	}

	/* Lista — sin margin, queda al final del flex container */
	.tc-video-cover__content ul {
		margin: 0 !important;
		max-width: 100%;
	}
}

/* ----- Animaciones de entrada (fade + slide up) ----- */
@keyframes tc-fade-up {
	from {
		opacity: 0;
		transform: translateY(24px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.tc-video-cover__content h1,
.tc-video-cover__content p,
.tc-video-cover__content ul li {
	opacity: 0;
	animation: tc-fade-up 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.tc-video-cover__content h1 {
	animation-delay: 0.15s;
}

.tc-video-cover__content p {
	animation-delay: 0.45s;
}

/* Stagger en la lista — cada item entra 100ms después del anterior */
.tc-video-cover__content ul li:nth-child(1) { animation-delay: 0.75s; }
.tc-video-cover__content ul li:nth-child(2) { animation-delay: 0.85s; }
.tc-video-cover__content ul li:nth-child(3) { animation-delay: 0.95s; }
.tc-video-cover__content ul li:nth-child(4) { animation-delay: 1.05s; }
.tc-video-cover__content ul li:nth-child(5) { animation-delay: 1.15s; }
.tc-video-cover__content ul li:nth-child(6) { animation-delay: 1.25s; }
.tc-video-cover__content ul li:nth-child(7) { animation-delay: 1.35s; }
.tc-video-cover__content ul li:nth-child(8) { animation-delay: 1.45s; }
.tc-video-cover__content ul li:nth-child(n + 9) { animation-delay: 1.55s; }

/* Respeta usuarios con reduced-motion (mismo patrón que Superb Addons) */
@media (prefers-reduced-motion: reduce) {
	.tc-video-cover__content h1,
	.tc-video-cover__content p,
	.tc-video-cover__content ul li {
		opacity: 1;
		animation: none;
		transform: none;
	}
}

/* ----- Contador flotante de años de experiencia ----- */
.tc-video-cover__counter {
	position: absolute;
	z-index: 3;
	top: clamp(2rem, 8vh, 5.5rem);
	right: clamp(1.5rem, 5vw, 4rem);
	text-align: right;
	color: #ffffff;
	line-height: 1;
	pointer-events: none;
	user-select: none;
	opacity: 0;
	animation: tc-fade-up 0.9s cubic-bezier(0.22, 1, 0.36, 1) 1.6s forwards;
}

.tc-video-cover__counter-value {
	display: inline-flex;
	align-items: flex-start;
	gap: 0.05em;
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 0.9;
	color: #ed4700;
	text-shadow:
		0 2px 18px rgba(0, 0, 0, 0.4),
		0 0 22px rgba(237, 71, 0, 0.45),
		0 0 40px rgba(237, 71, 0, 0.25);
}

.tc-video-cover__counter-number {
	font-size: clamp(3.5rem, 6.5vw, 7rem);
	font-variant-numeric: tabular-nums;
	min-width: 3ch;
	display: inline-block;
	text-align: right;
}

.tc-video-cover__counter-plus {
	font-size: clamp(2rem, 4vw, 4rem);
	margin-top: 0.15em;
}

.tc-video-cover__counter-label {
	display: block;
	margin-top: 0.5rem;
	font-size: clamp(0.8rem, 0.5vw + 0.65rem, 1rem);
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.92);
	max-width: 14ch;
	margin-left: auto;
}

/* Tablet — empezamos a achicar para no apretar el texto */
@media (max-width: 900px) {
	.tc-video-cover__counter {
		top: clamp(1.5rem, 4vh, 3rem);
		right: clamp(1rem, 3vw, 2rem);
	}
	.tc-video-cover__counter-number {
		font-size: clamp(2.5rem, 5vw, 4rem);
		min-width: 2.5ch;
	}
	.tc-video-cover__counter-plus {
		font-size: clamp(1.5rem, 3vw, 2.5rem);
	}
	.tc-video-cover__counter-label {
		font-size: 0.75rem;
		letter-spacing: 0.1em;
		max-width: 12ch;
	}
}

/* Móvil — bastante más chico para que no tape el título ni la lista */
@media (max-width: 600px) {
	.tc-video-cover__counter {
		top: 0.6rem;
		right: 0.6rem;
	}
	.tc-video-cover__counter-number {
		font-size: 1.5rem;
		min-width: 2.5ch;
	}
	.tc-video-cover__counter-plus {
		font-size: 0.95rem;
	}
	.tc-video-cover__counter-label {
		font-size: 0.5rem;
		letter-spacing: 0.05em;
		margin-top: 0.1rem;
		max-width: 8ch;
		line-height: 1.1;
	}
}

/* Móvil muy estrecho — aún más compacto */
@media (max-width: 380px) {
	.tc-video-cover__counter-number {
		font-size: 1.2rem;
	}
	.tc-video-cover__counter-plus {
		font-size: 0.8rem;
	}
	.tc-video-cover__counter-label {
		font-size: 0.45rem;
		max-width: 7ch;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tc-video-cover__counter {
		opacity: 1;
		animation: none;
	}
}

/* ============================================= */

/* ============================================= */
/* Hover de items del menú — rectángulo azul midnight (#00a5ff) que
   se prende debajo del texto. Mismo color que los bullets del cover. */
/* ============================================= */
.superbthemes-navigation-004 .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-item__content {
	position: relative;
	text-decoration: none !important;
	transition: color 0.25s ease, text-shadow 0.3s ease;
	text-shadow: 0 0 0 transparent;
}

.superbthemes-navigation-004 .wp-block-navigation-item__content::after,
.wp-block-navigation .wp-block-navigation-item__content::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: -6px;
	height: 3px;
	background: #00a5ff;
	border-radius: 2px;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
	box-shadow: 0 0 12px rgba(0, 165, 255, 0.6);
	pointer-events: none;
}

/* Activación: hover sobre el link, hover sobre el <li> padre (para submenus),
   foco por teclado, e item actual de la página */
.superbthemes-navigation-004 .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.superbthemes-navigation-004 .wp-block-navigation-item__content:hover::after,
.superbthemes-navigation-004 .wp-block-navigation-item__content:focus-visible::after,
.superbthemes-navigation-004 .current-menu-item > .wp-block-navigation-item__content::after,
.wp-block-navigation .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.wp-block-navigation .wp-block-navigation-item__content:hover::after,
.wp-block-navigation .wp-block-navigation-item__content:focus-visible::after,
.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content::after {
	transform: scaleX(1);
}

/* Brillo (glow) en el texto del item al hacer hover — mismo azul midnight */
.superbthemes-navigation-004 .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.superbthemes-navigation-004 .wp-block-navigation-item__content:hover,
.superbthemes-navigation-004 .wp-block-navigation-item__content:focus-visible,
.superbthemes-navigation-004 .current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-item__content:hover,
.wp-block-navigation .wp-block-navigation-item__content:focus-visible,
.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content {
	text-shadow:
		0 0 8px rgba(0, 165, 255, 0.85),
		0 0 18px rgba(0, 165, 255, 0.5),
		0 0 32px rgba(0, 165, 255, 0.3);
}

/* En el overlay móvil no aplica el rectángulo (el menú se ve como lista vertical) */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after {
	display: none;
}

/* Single post categories and tags */
.superb-single-post-tags-categories .taxonomy-post_tag, 
.superb-single-post-tags-categories .taxonomy-category {
	margin:0px !important;
}
.superb-single-post-tags-categories .taxonomy-post_tag a, 
.superb-single-post-tags-categories .taxonomy-category a{
	border-radius: 5px;
	border:1px solid var(--wp--preset--color--mono-3);
	padding: 5px 10px;
	text-decoration:none !important;
	display:inline-block;
	margin-right:5px !important;
	margin-bottom:8px !important;
	color: var(--wp--preset--color--mono-2);
}
.superb-single-post-tags-categories .taxonomy-post_tag a:hover, 
.superb-single-post-tags-categories .taxonomy-category a:hover {
	border:1px solid var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
}
/* Contact us boxes */
.column-parent-border-radius .wp-block-column {
	border-radius:20px;
}

/* Footer one */
.superbthemes-footer-one .wp-block-navigation{
	margin-top:0px !important;
}

/* Off canvas close button fix */
.wp-block-navigation__responsive-container.is-menu-open {
	padding:20px !important;
}

/* Comments start */
.wp-block-comments #reply-title,
.wp-block-comments h2#comments {
	font-size: 26px;
}

.wp-block-comments p.logged-in-as,
.wp-block-comments p.comment-notes,
.wp-block-comments label {
	font-size:16px;
}
.wp-block-comments .wp-block-post-comments-form input:not([type=submit]):not([type=checkbox]), 
.wp-block-comments .wp-block-post-comments-form textarea {
	padding: 10px 15px;
	font-size: 15px;
}
.wp-block-post-comments-form .comment-form-cookies-consent #wp-comment-cookies-consent {
	margin-top:3px;
}
.comment-form input:not([type=submit]), 
.comment-form textarea {
	border-radius:5px;
	border:1px solid var(--wp--preset--color--mono-2);
}

/* Remove template margin */
.wp-block-template-part {
	margin-top: 0px !important;
}

@media only screen and (max-width: 768px) {
	/* navigation-004 start */
	.superbthemes-navigation-004 .superbthemes-navigation-004-columns-wrapper .superbthemes-navigation-004-columns-button {
		display: none !important;
	}
	.superbthemes-navigation-004 .superbthemes-navigation-004-columns-wrapper .superbthemes-navigation-004-columns-logo {
		flex-basis: 40% !important;
	}
	.superbthemes-navigation-004 .superbthemes-navigation-004-columns-wrapper .superbthemes-navigation-004-columns-nav {
		flex-basis: 60% !important;
	}
	.superbthemes-navigation-004 .superbthemes-navigation-004-columns-wrapper .superbthemes-navigation-004-columns-nav .wp-block-navigation__container{
		justify-content: end !important;
	}
	.superbthemes-navigation-004 .superbthemes-navigation-004-headline {
		word-break:break-all !important;
	}


	/* features-005 start */
	.superbthemes-features-005 .wp-block-columns .wp-block-column{
		max-width: 48% !important;
		width: 100% !important;
	}

}

@media only screen and (max-width: 781px) {
	/* footer-005 start */
	.superbthemes-footer-005,
	.superbthemes-footer-005-copyright p,
	.superbthemes-footer-005-copyright{
		text-align: center;
	}
	.superbthemes-footer-005-bottom-menu {

	}
	.superbthemes-footer-005 ul,
	.superbthemes-footer-005 nav {
		justify-content: center!important;
	}
}

@media only screen and (max-width: 599px) { 
	/* navigation-004 start */
	.superbthemes-navigation-004 .superbthemes-navigation-004-columns-wrapper .superbthemes-navigation-004-columns-nav .wp-block-navigation__container li a {
		font-size:18px;
	}
	.has-modal-open .wp-block-navigation .wp-block-navigation__responsive-dialog { 
		justify-content: center !important; 
		display: flex; 
	}
	.superbthemes-navigation-004 .superbthemes-navigation-004-columns-wrapper .superbthemes-navigation-004-columns-nav .wp-block-navigation__container {
		align-items:center !important;
	}
	.superbthemes-navigation-004 .superbthemes-navigation-004-columns-wrapper .superbthemes-navigation-004-columns-nav {
		flex-basis: 20% !important;
	}
	.superbthemes-navigation-004 .superbthemes-navigation-004-columns-wrapper .superbthemes-navigation-004-columns-logo {
		flex-basis: 80% !important;
	}
	.superbthemes-navigation-004 .superbthemes-navigation-004-columns-wrapper .superbthemes-navigation-004-columns-nav nav {
		justify-content: end !important;
		display:flex !important;
	}
	.superbthemes-navigation-004 .superbthemes-navigation-004-headline {
		font-size:38px !important;
	}

	/* features-005 start */
	.superbthemes-features-005 .wp-block-columns .wp-block-column{
		max-width: 100% !important;
	}
	.superbthemes-features-005 .wp-block-columns .wp-block-column .wp-block-group {
		justify-content: center !important;
		flex-direction: column !important;
		flex-wrap: wrap !important;
		align-items: center !important;
	}


/* Navigation superbthemes navigation two columns */
.superbthemes-navigation-two-columns .superbthemes-navigation-two-columns-left {
	flex-basis: 80% !important;
}
.superbthemes-navigation-two-columns .superbthemes-navigation-two-columns-right {
	flex-basis: 20% !important;
}
.superbthemes-navigation-two-columns .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
	align-self: center;
}
.superbthemes-navigation-two-columns .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container li,
.superbthemes-navigation-two-columns .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container li .wp-block-navigation-item__content {
	align-self: center;
}
}

/* Blog Feed One  */
.blog-feed-one .wp-block-post-featured-image {
	min-width:40% !important;
	width:40%;
}
.blog-feed-one .wp-block-query-pagination-numbers>a,
.blog-feed-one .wp-block-query-pagination-numbers>span {
	border-radius: 3px;
	border:1px solid var(--wp--preset--color--mono-3);
	padding: 5px 10px;
}
.blog-feed-one .wp-block-query-pagination-numbers>span.current {
	opacity: 0.5;
}
.blog-feed-one .wp-block-query-pagination-numbers>span.page-numbers.dots {
	border: 0px;
	padding: 5px 4px;
}
@media only screen and (max-width: 750px) {
	.blog-feed-one .wp-block-post-featured-image {
		min-width:100% !important;
		width:100%;
	}
	.blog-feed-one .has-post-thumbnail .wp-block-group{
		-ms-flex-wrap:wrap !important;
		flex-wrap:wrap !important;
	}
	.blog-feed-one .wp-block-query-pagination-numbers {
		display:none;
	}
}
/* Featured post banner */
@media only screen and (max-width: 781px) { 
	.featured-post-banner .wp-block-social-links {
		justify-content: center !important;
	}
	.featured-post-banner .wp-block-post-template .wp-block-group {
		justify-content: center !important;
	}
}


/* Full width page template  */
.page-template-page-full-width .entry-content {
	margin-top: 0px;
}


/* Navigation three */
@media only screen and (max-width: 1024px) {
	.superbthemes-navigation-three .superbthemes-navigation-three-columns-wrapper .superbthemes-navigation-three-columns-button {
		display: none !important;
	}
	.superbthemes-navigation-three .superbthemes-navigation-three-columns-wrapper .superbthemes-navigation-three-columns-logo {
		flex-basis: 40% !important;
	}
	.superbthemes-navigation-three .superbthemes-navigation-three-columns-wrapper .superbthemes-navigation-three-columns-nav {
		flex-basis: 60% !important;
	}
	.superbthemes-navigation-three .superbthemes-navigation-three-columns-wrapper .superbthemes-navigation-three-columns-nav .wp-block-navigation__container{
		justify-content: end !important;
	}
	.superbthemes-navigation-three .superbthemes-navigation-three-headline {
		word-break:break-all !important;
	}
}
@media only screen and (max-width: 599px) { 
	.superbthemes-navigation-three .superbthemes-navigation-three-columns-wrapper .superbthemes-navigation-three-columns-nav .wp-block-navigation__container {
		align-items:center !important;
	}
	.superbthemes-navigation-three .superbthemes-navigation-three-columns-wrapper .superbthemes-navigation-three-columns-nav .wp-block-navigation__container li a {
		font-size:18px;
	}
	.superbthemes-navigation-three .superbthemes-navigation-three-columns-wrapper .superbthemes-navigation-three-columns-nav {
		flex-basis: 20% !important;
	}
	.superbthemes-navigation-three .superbthemes-navigation-three-columns-wrapper .superbthemes-navigation-three-columns-logo {
		flex-basis: 80% !important;
	}
	.superbthemes-navigation-three .superbthemes-navigation-three-columns-wrapper .superbthemes-navigation-three-columns-nav nav {
		justify-content: end !important;
		display:flex !important;
	}
	.superbthemes-navigation-three .superbthemes-navigation-three-headline {
		font-size:38px !important;
	}
}


/* Author bio pattern  */
@media only screen and (min-width: 600px) {
	.author-introduction-pattern .wp-block-media-text .wp-block-media-text__content {
		padding:0 4%;
	}
}
@media only screen and (max-width: 600px) {
	.author-introduction-pattern .wp-block-media-text  {
		text-align:center;
	}
	.author-introduction-pattern .wp-block-media-text__media{
		text-align:center;
	}
	.author-introduction-pattern .wp-block-media-text__media img{
		max-width: 100px;
	}
}


/* Navigation four  */
@media only screen and (max-width: 781px) {  
	.superbthemes-navigation-four-wrapper .superbthemes-navigation-four-top {
		text-align:center;
	}
}
@media only screen and (max-width: 599px) { 
	.superbthemes-navigation-four-wrapper .wp-block-navigation__container li a {
		font-size:18px;
	}
}


/* WooCommerce */
.woocommerce-page.woocommerce-uses-block-theme .has-global-padding {
	padding-left:var(--wp--preset--spacing--superbspacing-small);
	padding-right:var(--wp--preset--spacing--superbspacing-small);
}
.woocommerce-page.woocommerce-uses-block-theme.woocommerce-account.woocommerce-page .entry-content.wp-block-post-content.has-global-padding {
	max-width: 100%;
	padding-left: 0px;
	padding-right: 0px;
}
.woocommerce-page.woocommerce-uses-block-theme .woocommerce-ordering select{
	padding: 12px 40px 12px 25px;
	background-color: #fff;
	cursor: pointer;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iNSIgdmlld0JveD0iMCAwIDEwIDUiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQo8cGF0aCBkPSJNNC41MDQ5NSA0LjgyMDExTDAuMjA1MjQxIDEuMDQ4NTZDLTAuMDY4NDEzNyAwLjgwODY0NiAtMC4wNjg0MTM3IDAuNDE5NjYzIDAuMjA1MjQxIDAuMTc5ODY0QzAuNDc4NjUyIC0wLjA1OTk1NDcgMC45MjIwOTggLTAuMDU5OTU0NyAxLjE5NTQ5IDAuMTc5ODY0TDUuMDAwMDcgMy41MTcxTDguODA0NTIgMC4xNzk5NjFDOS4wNzgwNSAtMC4wNTk4NTc3IDkuNTIxNDUgLTAuMDU5ODU3NyA5Ljc5NDg2IDAuMTc5OTYxQzEwLjA2ODQgMC40MTk3OCAxMC4wNjg0IDAuODA4NzQzIDkuNzk0ODYgMS4wNDg2Nkw1LjQ5NTA4IDQuODIwMkM1LjM1ODMxIDQuOTQwMTEgNS4xNzkyNSA1IDUuMDAwMDkgNUM0LjgyMDg1IDUgNC42NDE2NSA0Ljk0IDQuNTA0OTUgNC44MjAxMVoiIGZpbGw9IiM3Njc2NzYiLz4NCjwvc3ZnPg0K);
	background-repeat: no-repeat;
	background-position: calc(100% - 20px) 50%;
	-webkit-transition: .1s;
	-o-transition: .1s;
	transition: .1s;
	border: 1px solid var(--wp--preset--color--mono-2);
}
.woocommerce-cart h1.alignwide.wp-block-post-title{
	max-width: var(--wp--style--global--wide-size);
}
.woocommerce.product div.product form.cart div.quantity .qty {
	padding-top: 19px;
	padding-bottom: 20px;
}
.woocommerce.product .wc-tab.woocommerce-Tabs-panel h2 {
	font-size: var(--wp--preset--font-size--superbfont-large);
	margin: 0;
}
.woocommerce.product div.product form.cart table.variations td select {
	padding: 12px 40px 12px 25px;
	background-color: #fff;
	cursor: pointer;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iNSIgdmlld0JveD0iMCAwIDEwIDUiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQo8cGF0aCBkPSJNNC41MDQ5NSA0LjgyMDExTDAuMjA1MjQxIDEuMDQ4NTZDLTAuMDY4NDEzNyAwLjgwODY0NiAtMC4wNjg0MTM3IDAuNDE5NjYzIDAuMjA1MjQxIDAuMTc5ODY0QzAuNDc4NjUyIC0wLjA1OTk1NDcgMC45MjIwOTggLTAuMDU5OTU0NyAxLjE5NTQ5IDAuMTc5ODY0TDUuMDAwMDcgMy41MTcxTDguODA0NTIgMC4xNzk5NjFDOS4wNzgwNSAtMC4wNTk4NTc3IDkuNTIxNDUgLTAuMDU5ODU3NyA5Ljc5NDg2IDAuMTc5OTYxQzEwLjA2ODQgMC40MTk3OCAxMC4wNjg0IDAuODA4NzQzIDkuNzk0ODYgMS4wNDg2Nkw1LjQ5NTA4IDQuODIwMkM1LjM1ODMxIDQuOTQwMTEgNS4xNzkyNSA1IDUuMDAwMDkgNUM0LjgyMDg1IDUgNC42NDE2NSA0Ljk0IDQuNTA0OTUgNC44MjAxMVoiIGZpbGw9IiM3Njc2NzYiLz4NCjwvc3ZnPg0K);
	background-repeat: no-repeat;
	background-position: calc(100% - 20px) 50%;
	-webkit-transition: .1s;
	-o-transition: .1s;
	transition: .1s;
	border: 1px solid var(--wp--preset--color--mono-2);
}



.woocommerce.product .wp-block-woocommerce-product-price del {
	color: var(--wp--preset--color--mono-2) !important;
}

.woocommerce #reviews #comments h2.woocommerce-Reviews-title {
	margin-bottom: 15px;
}
.woocommerce #review_form #respond span#reply-title {
	font-size: 28px;
	font-family: var(--wp--preset--font-family--fontsecondary);
}
.woocommerce.product div#reviews div#respond label[for="wp-comment-cookies-consent"] {
	font-size: 14px;
	margin-top: 0;
	margin-left:5px;
	margin-bottom:0px;
}
.woocommerce #review_form #respond p.comment-form-cookies-consent {
	display: flex;
	align-items: center;
	margin:15px 0;
	line-height:130%;
}
.woocommerce.product div#reviews div#respond input[type="email"], 
.woocommerce.product div#reviews div#respond input[type="text"],
.woocommerce.product div#reviews textarea {
	padding: 10px 20px;
	display: block;
	border-radius: 3px;
	margin-bottom: 13px;
}
.woocommerce.product div#reviews div#respond label {
	margin-top:10px;
}
p.woocommerce-noreviews {
	color: var(--wp--preset--color--mono-2);
}
.woocommerce p.stars a,
.wc-block-grid__product-rating .wc-block-grid__product-rating__stars,
.woocommerce .star-rating span {
	color:#f5cd1a;
}
.woocommerce #review_form #respond p.comment-notes {
	color: var(--wp--preset--color--mono-2);
}

/* Footer 001 */
@media only screen and (max-width: 781px) {
	.superbthemes-footer-center-socials-mobile .wp-block-social-links {
		justify-content: center !important;
		float: none !important;
		margin-left: 0px !important;
		margin-right: 0px !important;
	}
	.superbthemes-footer-001 {
		text-align: center;
	}
	.superbthemes-footer-001 ul {
		justify-content: center!important;
	}
}


/* Navigation 007  */
@media only screen and (max-width: 781px) {
	.navigation-007 .navigation-007-col-left .wp-block-social-links {
		justify-content: center !important;
	}
	.navigation-007 .navigation-007-col-right .wp-block-buttons {
		justify-content: center !important;
	}
}
.wp-block-cover .navigation-007 .navigation-007-col-right .wp-block-buttons.is-content-justification-right a.wp-block-button__link.wp-element-button {
	background: #fff;
	color: #1c1917;
}


/* Footer 004  */
.superbthemes-footer-4 .superbthemes-footer-4-col-right .wp-block-list {
	padding-left: 20px;
}
.superbthemes-footer-4 .superbthemes-footer-4-col-right .wp-block-columns figure.wp-block-image {
	display: flex;
}
@media only screen and (max-width: 781px) {
	.superbthemes-footer-4 .superbthemes-footer-4-col-right .wp-block-columns figure.wp-block-image {
		margin-bottom:10px;
	}
}

/* CTA 006 */
@media only screen and (max-width: 781px) {
	.cta-006 .wp-block-column .wp-block-buttons {
		justify-content: flex-start;
	}
}


/* Header 011 */
.header-11-absolute {
	z-index:1;
}

/* =============================================
   Logo Carousel — marquee infinito CSS puro
   ============================================= */
.tc-logo-carousel {
	background: #0c1a2e !important;
	overflow: hidden !important;
	contain: paint;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* Eliminar el gap naranja del body entre secciones con fondo navy */
.tc-logo-carousel,
.tc-job-form,
.tc-video-cover {
	margin-block: 0 !important;
}

/* Cualquier sibling del carousel sin gap superior */
.tc-logo-carousel + *,
.tc-job-form + *,
.tc-video-cover + * {
	margin-top: 0 !important;
}

/* Y sin gap inferior cuando preceden a estas secciones */
*:has(+ .tc-logo-carousel),
*:has(+ .tc-job-form),
*:has(+ .tc-video-cover) {
	margin-bottom: 0 !important;
}

.tc-logo-carousel__subtitle {
	font-size: clamp(0.8rem, 0.5vw + 0.7rem, 1rem) !important;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: #00a5ff !important;
	margin: 0 0 0.35rem !important;
}

.tc-logo-carousel__title {
	font-size: clamp(1.5rem, 2.5vw + 0.5rem, 2.75rem) !important;
	font-weight: 800;
	color: #ffffff !important;
	margin: 0 0 clamp(1.5rem, 3vh, 2.5rem) !important;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

/* Wrapper con fades laterales */
.tc-logo-carousel__track-wrapper {
	position: relative;
	width: 100%;
	overflow: hidden !important;
}

.tc-logo-carousel__fade {
	position: absolute;
	top: 0;
	bottom: 0;
	width: clamp(40px, 8vw, 120px);
	z-index: 2;
	pointer-events: none;
}

.tc-logo-carousel__fade--left {
	left: 0;
	background: linear-gradient(to right, #0c1a2e 0%, transparent 100%);
}

.tc-logo-carousel__fade--right {
	right: 0;
	background: linear-gradient(to left, #0c1a2e 0%, transparent 100%);
}

/* Track: flex horizontal, se desplaza 50% (la mitad = 1 set completo) */
.tc-logo-carousel__track {
	display: flex;
	align-items: center;
	gap: clamp(1.5rem, 3vw, 2.75rem);
	width: max-content;
	animation: tc-marquee 25s linear infinite;
}

.tc-logo-carousel__track:hover {
	animation-play-state: paused;
}

@keyframes tc-marquee {
	0% {
		transform: translateX(0);
	}
	100% {
		/* Se desplaza exactamente el ancho de 1 set (5 logos + 5 gaps).
		   calc(): 5 items × width + 5 gaps. Usamos 50% porque el track
		   tiene 2 sets duplicados → 50% = 1 set completo. */
		transform: translateX(-50%);
	}
}

/* Cada logo */
/* Cada logo va dentro de un "chip" blanco — los logos a color resaltan
   en blanco en vez de apagarse contra el navy oscuro */
.tc-logo-carousel__item {
	flex-shrink: 0;
	width: clamp(200px, 20vw, 300px);
	height: clamp(100px, 11vw, 140px);
	display: flex;
	align-items: center;
	justify-content: center;
	background: #ffffff;
	border-radius: 16px;
	padding: clamp(1rem, 2.2vw, 1.9rem) clamp(1.5rem, 3vw, 2.5rem);
	box-sizing: border-box;
	box-shadow: 0 10px 28px -12px rgba(0, 0, 0, 0.45);
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
				box-shadow 0.3s ease;
}

.tc-logo-carousel__item:hover {
	transform: translateY(-5px);
	box-shadow: 0 18px 40px -14px rgba(0, 0, 0, 0.55),
				0 0 0 1px rgba(0, 165, 255, 0.25);
}

.tc-logo-carousel__item img {
	max-width: 100%;
	max-height: 100%;
	height: clamp(48px, 6vw, 78px);
	width: auto;
	object-fit: contain;
	display: block;
}

/* Responsive */
@media (max-width: 600px) {
	.tc-logo-carousel {
		padding: clamp(1.5rem, 4vh, 2.5rem) 0;
	}

	.tc-logo-carousel__header {
		margin-bottom: 1rem;
	}

	.tc-logo-carousel__track {
		gap: 1.5rem;
		animation-duration: 22s;
	}

	.tc-logo-carousel__item {
		width: 170px;
		height: 95px;
		padding: 1rem 1.4rem;
		border-radius: 14px;
	}

	.tc-logo-carousel__item img {
		height: 50px;
	}
}

/* Reduced motion: sin animación, muestra los logos estáticos */
@media (prefers-reduced-motion: reduce) {
	.tc-logo-carousel__track {
		animation: none;
		flex-wrap: wrap;
		justify-content: center;
		gap: 2rem 3rem;
		padding: 0 2rem;
	}

	.tc-logo-carousel__item[aria-hidden="true"] {
		display: none;
	}

	.tc-logo-carousel__fade {
		display: none;
	}
}

/* =============================================
   Services sections (Consulting + Engineering)
   ============================================= */
/* Wrapper full-aligned — fuerza 100vw absoluto sin importar padding global del tema */
.tc-services-wrap {
	padding: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	position: relative !important;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	box-sizing: border-box;
	overflow: hidden;
}

.tc-services {
	position: relative;
	width: 100%;
	max-width: 100%;
	background: #0c4a6e;
	color: #ffffff;
	padding: clamp(3.5rem, 8vh, 6rem) clamp(1.25rem, 4vw, 3rem);
	overflow: hidden;
	box-sizing: border-box;
	font-family: var(--wp--preset--font-family--fontprimary, 'Poppins', sans-serif);
}

/* Brillo decorativo en la esquina superior izquierda */
.tc-services::before {
	content: '';
	position: absolute;
	top: -200px;
	left: -200px;
	width: 600px;
	height: 600px;
	background: radial-gradient(circle, rgba(0, 165, 255, 0.18) 0%, transparent 60%);
	pointer-events: none;
}

.tc-services--reverse::before {
	left: auto;
	right: -200px;
	background: radial-gradient(circle, rgba(237, 71, 0, 0.18) 0%, transparent 60%);
}

.tc-services__inner {
	position: relative;
	max-width: 1280px;
	width: 100%;
	margin-inline: auto;
	display: grid;
	grid-template-columns: minmax(280px, 1fr) minmax(0, 1.4fr);
	gap: clamp(2rem, 5vw, 4rem);
	align-items: start;
	box-sizing: border-box;
}

.tc-services__inner > * {
	min-width: 0;
	box-sizing: border-box;
}

.tc-services__media,
.tc-services__media img,
.tc-services__card {
	box-sizing: border-box;
	max-width: 100%;
}

.tc-services--reverse .tc-services__inner {
	grid-template-columns: minmax(0, 1.4fr) minmax(280px, 1fr);
}

.tc-services--reverse .tc-services__header {
	order: 2;
}

.tc-services--reverse .tc-services__grid {
	order: 1;
}

/* Header (lado izquierdo) */
.tc-services__header {
	position: sticky;
	top: 2rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.tc-services__eyebrow {
	font-size: clamp(0.75rem, 0.3vw + 0.7rem, 0.9rem);
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #00a5ff;
	margin: 0;
}

.tc-services__title {
	font-size: clamp(2.25rem, 4vw + 0.5rem, 4rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.03em;
	color: #ffffff;
	margin: 0;
	text-wrap: balance;
}

.tc-services__intro {
	font-size: clamp(0.95rem, 0.5vw + 0.85rem, 1.15rem);
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.78);
	margin: 0;
	text-wrap: pretty;
	max-width: 38ch;
}

.tc-services__accent {
	width: 56px;
	height: 4px;
	border-radius: 2px;
	background: linear-gradient(90deg, #00a5ff, #ed4700);
	margin-top: 0.5rem;
	margin-bottom: 0.5rem;
}

/* Imagen del header con tratamiento duotone azul midnight */
.tc-services__media {
	margin: 1rem 0 0;
	overflow: hidden;
	border-radius: 16px;
	position: relative;
	aspect-ratio: 4 / 3;
	background: #0c1a2e;
	box-shadow: 0 20px 50px -20px rgba(0, 0, 0, 0.5);
}

.tc-services__media::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(0, 165, 255, 0.3) 0%, rgba(12, 74, 110, 0.55) 60%, rgba(237, 71, 0, 0.25) 100%);
	mix-blend-mode: multiply;
	z-index: 2;
	pointer-events: none;
}

.tc-services__media::after {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	border: 1px solid rgba(255, 255, 255, 0.08);
	z-index: 3;
	pointer-events: none;
}

.tc-services__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	filter: grayscale(60%) brightness(0.85) contrast(1.05);
	transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.tc-services__media:hover img {
	transform: scale(1.04);
}

/* En --reverse el gradient se invierte para variar */
.tc-services--reverse .tc-services__media::before {
	background: linear-gradient(135deg, rgba(237, 71, 0, 0.25) 0%, rgba(12, 74, 110, 0.55) 40%, rgba(0, 165, 255, 0.3) 100%);
}

/* Grid de cards */
.tc-services__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	gap: 1rem;
}

/* Cada card */
.tc-services__card {
	position: relative;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 14px;
	padding: 1.75rem 1.5rem 1.5rem;
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
				background 0.3s ease,
				border-color 0.3s ease,
				box-shadow 0.3s ease;
	opacity: 0;
	animation: tc-services-card-in 0.7s cubic-bezier(0.22, 1, 0.36, 1) var(--delay, 0ms) forwards;
	overflow: hidden;
}

@keyframes tc-services-card-in {
	from {
		opacity: 0;
		transform: translateY(24px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.tc-services__card::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(0, 165, 255, 0.1) 0%, transparent 60%);
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
}

.tc-services__card:hover {
	transform: translateY(-4px);
	background: rgba(255, 255, 255, 0.06);
	border-color: rgba(0, 165, 255, 0.35);
	box-shadow: 0 18px 40px -16px rgba(0, 0, 0, 0.4);
}

.tc-services__card:hover::before {
	opacity: 1;
}

.tc-services__num {
	display: block;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: #ed4700;
	margin-bottom: 0.85rem;
	position: relative;
}

.tc-services__num::after {
	content: '';
	display: inline-block;
	width: 24px;
	height: 2px;
	background: #ed4700;
	margin-left: 0.6rem;
	vertical-align: middle;
	border-radius: 1px;
}

.tc-services__card-title {
	font-size: clamp(1.1rem, 0.5vw + 1rem, 1.35rem);
	font-weight: 700;
	line-height: 1.2;
	color: #ffffff;
	margin: 0 0 0.6rem;
	letter-spacing: -0.01em;
}

.tc-services__card-text {
	font-size: 0.92rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.72);
	margin: 0;
}

/* Tablet/móvil */
@media (max-width: 900px) {
	.tc-services__inner,
	.tc-services--reverse .tc-services__inner {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.tc-services__header {
		position: static;
	}

	.tc-services--reverse .tc-services__header {
		order: 1;
	}

	.tc-services--reverse .tc-services__grid {
		order: 2;
	}

	/* Reducir radial gradients que en móvil se ven como bandas extrañas */
	.tc-services::before {
		width: 300px;
		height: 300px;
		top: -150px;
		left: -150px;
		opacity: 0.6;
	}

	.tc-services--reverse::before {
		right: -150px;
		left: auto;
	}

	/* Imagen más baja en móvil */
	.tc-services__media {
		aspect-ratio: 16 / 10;
		margin-top: 0.5rem;
	}

	/* Intro más compacto */
	.tc-services__intro {
		max-width: none;
		font-size: 0.95rem;
	}
}

@media (max-width: 600px) {
	.tc-services {
		padding: 2.5rem 1rem;
	}

	.tc-services__inner {
		gap: 1.25rem;
	}

	.tc-services__title {
		font-size: clamp(1.75rem, 8vw, 2.5rem);
	}

	.tc-services__grid {
		grid-template-columns: 1fr;
		gap: 0.85rem;
	}

	.tc-services__card {
		padding: 1.25rem 1.15rem 1.15rem;
	}

	.tc-services__media {
		aspect-ratio: 16 / 11;
		border-radius: 12px;
	}

	/* En móvil ocultar el radial gradient para reducir ruido visual */
	.tc-services::before {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tc-services__card {
		opacity: 1;
		animation: none;
		transform: none;
	}
	.tc-services__card:hover {
		transform: none;
	}
}

/* ===== Variante LIGHT (Engineering) — sandwich navy → light → navy ===== */
.tc-services--light {
	background: #f1f5f9;
	color: #0c1a2e;
}

.tc-services--light::before {
	background: radial-gradient(circle, rgba(0, 165, 255, 0.12) 0%, transparent 60%);
}

.tc-services--light .tc-services__eyebrow {
	color: #0c4a6e;
}

.tc-services--light .tc-services__title {
	color: #0c1a2e;
}

.tc-services--light .tc-services__intro {
	color: rgba(28, 25, 23, 0.7);
}

.tc-services--light .tc-services__card {
	background: #ffffff;
	border: 1px solid rgba(12, 74, 110, 0.1);
	box-shadow: 0 1px 3px rgba(12, 26, 46, 0.05);
}

.tc-services--light .tc-services__card::before {
	background: linear-gradient(135deg, rgba(0, 165, 255, 0.08) 0%, transparent 60%);
}

.tc-services--light .tc-services__card:hover {
	background: #ffffff;
	border-color: rgba(0, 165, 255, 0.4);
	box-shadow: 0 18px 40px -16px rgba(12, 74, 110, 0.25),
				0 4px 12px -6px rgba(12, 74, 110, 0.1);
}

.tc-services--light .tc-services__card-title {
	color: #0c1a2e;
}

.tc-services--light .tc-services__card-text {
	color: rgba(28, 25, 23, 0.65);
}

/* Overlay de imagen más sutil sobre fondo claro */
.tc-services--light .tc-services__media::before {
	background: linear-gradient(135deg, rgba(0, 165, 255, 0.15) 0%, rgba(12, 74, 110, 0.25) 60%, rgba(237, 71, 0, 0.15) 100%);
}

.tc-services--light .tc-services__media::after {
	border-color: rgba(12, 74, 110, 0.1);
}

.tc-services--light .tc-services__media img {
	filter: grayscale(40%) brightness(0.95) contrast(1.05);
}

/* ===== Variante ORANGE — naranja de marca con cyan/blue de la paleta ===== */
.tc-services--orange {
	background: #ed4700;
	color: #ffffff;
	/* Variables locales: usar los mismos azules del resto del sitio */
	--tc-orange-accent: #00a5ff;        /* cyan brand (mismo que duotone midnight) */
	--tc-orange-card-bg: #0c4a6e;       /* navy-blue brand (mismo que secciones) */
}

.tc-services--orange::before {
	background: radial-gradient(circle, rgba(0, 165, 255, 0.28) 0%, transparent 60%);
}

.tc-services--orange.tc-services--reverse::before {
	background: radial-gradient(circle, rgba(12, 74, 110, 0.4) 0%, transparent 60%);
}

/* Eyebrow en cyan brand con glow */
.tc-services--orange .tc-services__eyebrow {
	color: var(--tc-orange-accent);
	text-shadow: 0 0 12px rgba(0, 165, 255, 0.45);
}

.tc-services--orange .tc-services__title {
	color: #ffffff;
	text-shadow: 0 2px 24px rgba(12, 74, 110, 0.3);
}

.tc-services--orange .tc-services__intro {
	color: rgba(255, 255, 255, 0.92);
}

/* Accent line en cyan brand */
.tc-services--orange .tc-services__accent {
	background: linear-gradient(90deg, var(--tc-orange-accent), #ffffff);
	box-shadow: 0 0 18px rgba(0, 165, 255, 0.55);
	height: 5px;
}

/* Cards en naranja tenue — variación del mismo color, como Services hace con navy
   (translúcido oscuro sobre el bg → tono más profundo de la misma familia) */
.tc-services--orange .tc-services__card {
	background: rgba(0, 0, 0, 0.18);
	border: 1px solid rgba(255, 255, 255, 0.15);
	box-shadow: 0 6px 24px -8px rgba(120, 30, 0, 0.35);
}

.tc-services--orange .tc-services__card::before {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.12) 0%, transparent 60%);
}

.tc-services--orange .tc-services__card:hover {
	background: rgba(0, 0, 0, 0.25);
	border-color: rgba(0, 165, 255, 0.55);
	box-shadow: 0 22px 44px -18px rgba(120, 30, 0, 0.5),
				0 0 0 1px rgba(0, 165, 255, 0.3),
				0 0 30px -8px rgba(0, 165, 255, 0.35);
}

/* Número en cyan brand con glow */
.tc-services--orange .tc-services__num {
	color: var(--tc-orange-accent);
	text-shadow: 0 0 14px rgba(0, 165, 255, 0.55);
}

.tc-services--orange .tc-services__num::after {
	background: var(--tc-orange-accent);
	box-shadow: 0 0 10px rgba(0, 165, 255, 0.65);
}

.tc-services--orange .tc-services__card-title {
	color: #ffffff;
}

.tc-services--orange .tc-services__card-text {
	color: rgba(255, 255, 255, 0.78);
}

/* Imagen con overlay cyan+naranja+navy-blue del brand */
.tc-services--orange .tc-services__media::before {
	background: linear-gradient(135deg, rgba(0, 165, 255, 0.28) 0%, rgba(237, 71, 0, 0.3) 50%, rgba(12, 74, 110, 0.45) 100%);
}

.tc-services--orange .tc-services__media::after {
	border-color: rgba(0, 165, 255, 0.35);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05);
}

.tc-services--orange .tc-services__media img {
	filter: grayscale(35%) brightness(0.92) contrast(1.08) saturate(1.15);
}

/* ===== Animaciones de scroll (gated por .is-visible) ===== */
.tc-services__header,
.tc-services__media,
.tc-services__card {
	opacity: 0;
	transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
				transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.tc-services__header {
	transform: translateY(40px);
}

.tc-services__media {
	transform: scale(0.94) translateY(20px);
	transition-delay: 0.15s;
}

.tc-services__card {
	transform: translateY(40px);
	/* La animación CSS @keyframes anterior queda desactivada,
	   ahora la entrada se controla por .is-visible */
	animation: none !important;
}

/* Cuando la sección entra al viewport */
.tc-services.is-visible .tc-services__header {
	opacity: 1;
	transform: translateY(0);
}

.tc-services.is-visible .tc-services__media {
	opacity: 1;
	transform: scale(1) translateY(0);
}

.tc-services.is-visible .tc-services__card {
	opacity: 1;
	transform: translateY(0);
	transition-delay: calc(0.3s + var(--card-index, 0) * 0.1s);
}

/* Accent line entra con un swipe lateral */
.tc-services__accent {
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.2s;
}

.tc-services.is-visible .tc-services__accent {
	transform: scaleX(1);
}

/* Parallax sutil del título sobre scroll */
@supports (animation-timeline: view()) {
	.tc-services__title {
		animation: tc-title-rise linear both;
		animation-timeline: view();
		animation-range: entry 0% cover 40%;
	}
	@keyframes tc-title-rise {
		from { transform: translateY(20px); }
		to { transform: translateY(0); }
	}
}

@media (prefers-reduced-motion: reduce) {
	.tc-services__header,
	.tc-services__media,
	.tc-services__card,
	.tc-services__accent {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

/* =============================================
   Minmetal Way — sección de valores/filosofía
   ============================================= */
.tc-philosophy-wrap {
	padding: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	position: relative !important;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	box-sizing: border-box;
	overflow: hidden;
}

/* El wrapper #about del Front Page (heredado del bloque original)
   tiene bg blanco + padding grande que aparecía como gap blanco.
   Si contiene la philosophy section, neutralizar esos estilos. */
.wp-block-group:has(> .tc-philosophy-wrap),
#about:has(.tc-philosophy) {
	padding: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	margin: 0 !important;
}

#about.has-base-background-color:has(.tc-philosophy) {
	background-color: transparent !important;
}

/* Eliminar todos los gaps entre wraps full-width que use el sitio.
   Cubre cualquier combinación adyacente (banner / services / philosophy / form). */
.tc-video-cover-wrap,
.tc-services-wrap,
.tc-philosophy-wrap,
.tc-logo-carousel,
.tc-job-form,
.tc-hr-contact-wrap,
.tc-jobs-wrap,
.tc-team-wrap {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.tc-video-cover-wrap + *,
.tc-services-wrap + *,
.tc-philosophy-wrap + *,
.tc-logo-carousel + *,
.tc-job-form + *,
.tc-hr-contact-wrap + *,
.tc-jobs-wrap + *,
.tc-team-wrap + * {
	margin-top: 0 !important;
}

*:has(+ .tc-video-cover-wrap),
*:has(+ .tc-services-wrap),
*:has(+ .tc-philosophy-wrap),
*:has(+ .tc-logo-carousel),
*:has(+ .tc-job-form),
*:has(+ .tc-hr-contact-wrap),
*:has(+ .tc-jobs-wrap),
*:has(+ .tc-team-wrap) {
	margin-bottom: 0 !important;
}

.tc-philosophy {
	position: relative;
	width: 100%;
	background: #0c1a2e;
	color: #ffffff;
	padding: clamp(2.25rem, 4.5vh, 3.5rem) clamp(1.25rem, 4vw, 3rem);
	overflow: hidden;
	font-family: var(--wp--preset--font-family--fontprimary, 'Poppins', sans-serif);
	box-sizing: border-box;
}

/* Video de fondo y overlay multicapa */
.tc-philosophy__bg-wrap {
	position: absolute;
	inset: 0;
	overflow: hidden;
	z-index: 0;
}

.tc-philosophy__bg {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(1.04);
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(50%) brightness(0.55) contrast(1.05);
}

.tc-philosophy__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(12, 26, 46, 0.85) 0%, rgba(12, 26, 46, 0.78) 50%, rgba(12, 26, 46, 0.92) 100%),
		radial-gradient(ellipse 60% 50% at 90% 10%, rgba(0, 165, 255, 0.18) 0%, transparent 60%),
		radial-gradient(ellipse 50% 40% at 10% 90%, rgba(237, 71, 0, 0.14) 0%, transparent 60%);
}

.tc-philosophy__inner {
	position: relative;
	z-index: 1;
	max-width: 1080px;
	width: 100%;
	margin-inline: auto;
	box-sizing: border-box;
}

/* Header centrado (sin imagen al lado) */
.tc-philosophy__header {
	text-align: center;
	max-width: 640px;
	margin: 0 auto clamp(1.5rem, 3.5vh, 2.5rem);
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	align-items: center;
}

.tc-philosophy__eyebrow {
	font-size: clamp(0.75rem, 0.3vw + 0.7rem, 0.9rem);
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #00a5ff;
	margin: 0;
}

.tc-philosophy__title {
	font-size: clamp(1.65rem, 2.4vw + 0.5rem, 2.6rem);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.03em;
	color: #ffffff;
	margin: 0;
	text-wrap: balance;
}

.tc-philosophy__title-accent {
	background: linear-gradient(135deg, #00a5ff 0%, #ed4700 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}

.tc-philosophy__lead {
	font-size: clamp(0.9rem, 0.4vw + 0.8rem, 1.05rem);
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.85);
	margin: 0;
	max-width: 52ch;
	text-wrap: pretty;
}

.tc-philosophy__accent {
	width: 56px;
	height: 4px;
	border-radius: 2px;
	background: linear-gradient(90deg, #00a5ff, #ed4700);
	margin-top: 0.5rem;
}

/* Grid de los 5 valores */
.tc-philosophy__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
	gap: 1rem;
}

.tc-philosophy__card {
	position: relative;
	background: rgba(12, 26, 46, 0.55);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 12px;
	padding: 1.25rem 1.15rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
				background 0.3s ease,
				border-color 0.3s ease,
				box-shadow 0.3s ease;
	overflow: hidden;
}

.tc-philosophy__card::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(0, 165, 255, 0.1) 0%, transparent 60%);
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
}

.tc-philosophy__card:hover {
	transform: translateY(-4px);
	background: rgba(255, 255, 255, 0.06);
	border-color: rgba(0, 165, 255, 0.4);
	box-shadow: 0 18px 40px -16px rgba(0, 0, 0, 0.5),
				0 0 0 1px rgba(0, 165, 255, 0.25);
}

.tc-philosophy__card:hover::before {
	opacity: 1;
}

/* Icono dentro de círculo */
.tc-philosophy__icon {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: linear-gradient(135deg, rgba(0, 165, 255, 0.18) 0%, rgba(0, 165, 255, 0.06) 100%);
	border: 1px solid rgba(0, 165, 255, 0.3);
	color: #00a5ff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease, transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.tc-philosophy__icon svg {
	width: 24px;
	height: 24px;
}

.tc-philosophy__card:hover .tc-philosophy__icon {
	background: linear-gradient(135deg, rgba(237, 71, 0, 0.25) 0%, rgba(237, 71, 0, 0.08) 100%);
	border-color: rgba(237, 71, 0, 0.5);
	color: #ed4700;
	transform: scale(1.05) rotate(-3deg);
}

.tc-philosophy__card-body {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.tc-philosophy__num {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	color: rgba(255, 255, 255, 0.4);
}

.tc-philosophy__name {
	font-size: clamp(1.15rem, 0.5vw + 1rem, 1.4rem);
	font-weight: 700;
	line-height: 1.2;
	color: #ffffff;
	margin: 0;
	letter-spacing: -0.01em;
}

.tc-philosophy__text {
	font-size: 0.9rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.7);
	margin: 0;
}

/* Animaciones de scroll */
.tc-philosophy__header,
.tc-philosophy__card {
	opacity: 0;
	transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
				transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.tc-philosophy__header {
	transform: translateY(40px);
}

.tc-philosophy__card {
	transform: translateY(40px);
}

.tc-philosophy.is-visible .tc-philosophy__header {
	opacity: 1;
	transform: translateY(0);
}

.tc-philosophy.is-visible .tc-philosophy__card {
	opacity: 1;
	transform: translateY(0);
	transition-delay: calc(0.25s + var(--card-index, 0) * 0.08s);
}

.tc-philosophy__accent {
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.3s;
}

.tc-philosophy.is-visible .tc-philosophy__accent {
	transform: scaleX(1);
}

/* Responsive */
@media (max-width: 600px) {
	.tc-philosophy {
		padding: 1.75rem 1rem;
	}

	.tc-philosophy__grid {
		grid-template-columns: 1fr;
		gap: 0.6rem;
	}

	.tc-philosophy__card {
		flex-direction: row;
		align-items: flex-start;
		padding: 1rem;
	}

	.tc-philosophy__icon {
		width: 38px;
		height: 38px;
	}

	.tc-philosophy__icon svg {
		width: 18px;
		height: 18px;
	}

	.tc-philosophy__title {
		font-size: clamp(1.5rem, 7vw, 2rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	.tc-philosophy__header,
	.tc-philosophy__card,
	.tc-philosophy__accent {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
	.tc-philosophy__card:hover {
		transform: none;
	}
}

/* =============================================
   Team — grid de miembros con foto + LinkedIn + perfil
   ============================================= */
.tc-team-wrap {
	padding: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	position: relative !important;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	box-sizing: border-box;
	overflow: hidden;
}

.tc-team {
	position: relative;
	width: 100%;
	background: #f1f5f9;
	color: #0c1a2e;
	padding: clamp(2.75rem, 6vh, 4.5rem) clamp(1.25rem, 4vw, 3rem);
	font-family: var(--wp--preset--font-family--fontprimary, 'Poppins', sans-serif);
	box-sizing: border-box;
}

.tc-team__inner {
	position: relative;
	max-width: 1280px;
	width: 100%;
	margin-inline: auto;
	box-sizing: border-box;
}

.tc-team__header {
	text-align: center;
	max-width: 660px;
	margin: 0 auto clamp(2rem, 4vh, 3rem);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.6rem;
}

.tc-team__eyebrow {
	font-size: clamp(0.75rem, 0.3vw + 0.7rem, 0.9rem);
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #0c4a6e;
	margin: 0;
}

.tc-team__title {
	font-size: clamp(1.75rem, 3vw + 0.5rem, 3rem);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.03em;
	color: #0c1a2e;
	margin: 0;
	text-wrap: balance;
}

.tc-team__title-accent {
	background: linear-gradient(135deg, #00a5ff 0%, #ed4700 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}

.tc-team__lead {
	font-size: clamp(0.9rem, 0.4vw + 0.8rem, 1.05rem);
	line-height: 1.55;
	color: rgba(28, 25, 23, 0.7);
	margin: 0;
	max-width: 56ch;
	text-wrap: pretty;
}

.tc-team__accent {
	width: 56px;
	height: 4px;
	border-radius: 2px;
	background: linear-gradient(90deg, #00a5ff, #ed4700);
	margin-top: 0.5rem;
}

/* ===== Banda de stats (contadores) ===== */
.tc-team__stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	background: #0c1a2e;
	border-radius: 18px;
	overflow: hidden;
	margin: 0 auto clamp(2rem, 4vh, 3.25rem);
	max-width: 1120px;
	box-shadow: 0 20px 50px -25px rgba(12, 26, 46, 0.45);
}

.tc-team__stat {
	background: #0c4a6e;
	padding: clamp(1.6rem, 3vw, 2.5rem) clamp(1.25rem, 2.5vw, 2.25rem);
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.6rem;
	position: relative;
	overflow: hidden;
}

/* La del medio (dinero) destacada en navy más profundo con glow naranja */
.tc-team__stat--featured {
	background: #0c1a2e;
}

.tc-team__stat--featured::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 70% 90% at 50% 0%, rgba(237, 71, 0, 0.22) 0%, transparent 65%);
	pointer-events: none;
}

.tc-team__stat-value {
	position: relative;
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1;
	color: #00a5ff;
	text-shadow: 0 0 18px rgba(0, 165, 255, 0.4);
}

.tc-team__stat--featured .tc-team__stat-value {
	color: #ed4700;
	text-shadow: 0 0 22px rgba(237, 71, 0, 0.5);
}

.tc-stat__num {
	font-size: clamp(2.25rem, 4.5vw, 3.75rem);
	font-variant-numeric: tabular-nums;
	display: inline-block;
}

.tc-team__stat-label {
	position: relative;
	font-size: clamp(0.7rem, 0.35vw + 0.6rem, 0.82rem);
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.85);
	max-width: 24ch;
	line-height: 1.35;
	text-wrap: balance;
}

/* Entrada animada de la banda con el scroll */
.tc-team__stats {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.15s,
				transform 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.15s;
}

.tc-team.is-visible .tc-team__stats {
	opacity: 1;
	transform: translateY(0);
}

@media (max-width: 680px) {
	.tc-team__stats {
		grid-template-columns: 1fr;
		max-width: 440px;
	}
	.tc-team__stat {
		flex-direction: row;
		justify-content: flex-start;
		text-align: left;
		gap: 1rem;
		padding: 1.15rem 1.5rem;
	}
	.tc-stat__num {
		font-size: 2.1rem;
	}
	.tc-team__stat-value {
		flex-shrink: 0;
		min-width: 4.5ch;
		text-align: right;
	}
	.tc-team__stat-label {
		text-align: left;
		max-width: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tc-team__stats {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

/* Grid de cards (fallback si NO es slider) */
.tc-team__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr));
	gap: 1.25rem;
}

/* ===== Slider/marquee de team (mismo concepto que el carousel de logos) ===== */
.tc-team__track-wrapper {
	position: relative;
	width: 100%;
	/* Cancela el padding horizontal de .tc-team para ir edge-to-edge */
	margin-inline: calc(-1 * clamp(1.25rem, 4vw, 3rem));
	width: calc(100% + 2 * clamp(1.25rem, 4vw, 3rem));
	overflow: hidden;
	/* Espacio vertical para que el hover-lift y la sombra no se recorten */
	padding-block: 1.5rem;
}

.tc-team__fade {
	position: absolute;
	top: 0;
	bottom: 0;
	width: clamp(32px, 6vw, 90px);
	z-index: 3;
	pointer-events: none;
}

.tc-team__fade--left {
	left: 0;
	background: linear-gradient(to right, #f1f5f9 0%, transparent 100%);
}

.tc-team__fade--right {
	right: 0;
	background: linear-gradient(to left, #f1f5f9 0%, transparent 100%);
}

/* Track: flex horizontal con marquee infinito.
   Usamos margin-right en cada card (en vez de gap) para que el set
   duplicado incluya el gap final → translateX(-50%) es exacto y sin saltos. */
.tc-team__track {
	display: flex;
	align-items: stretch;
	width: max-content;
	animation: tc-team-marquee 48s linear infinite;
}

/* Pausa al hover o foco por teclado */
.tc-team__track-wrapper:hover .tc-team__track,
.tc-team__track:focus-within {
	animation-play-state: paused;
}

@keyframes tc-team-marquee {
	0%   { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

/* En modo slider las cards tienen ancho fijo, no encogen, gap por margin-right */
.tc-team--slider .tc-team__card {
	width: clamp(250px, 78vw, 290px);
	flex-shrink: 0;
	margin-right: 1.25rem;
}

/* En modo slider las cards no llevan scroll-reveal (siempre visibles) */
.tc-team--slider .tc-team__card {
	opacity: 1 !important;
	transform: none !important;
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
				box-shadow 0.3s ease,
				border-color 0.3s ease;
}

.tc-team--slider .tc-team__card:hover {
	transform: translateY(-6px) !important;
}

/* Reduced motion: detener marquee y mostrar solo el primer set en grid */
@media (prefers-reduced-motion: reduce) {
	.tc-team__track {
		animation: none;
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
	}
	.tc-team--slider .tc-team__card[aria-hidden="true"] {
		display: none;
	}
	.tc-team__fade {
		display: none;
	}
}

/* Card */
.tc-team__card {
	position: relative;
	background: #ffffff;
	border: 1px solid rgba(12, 74, 110, 0.08);
	border-radius: 16px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
				box-shadow 0.3s ease,
				border-color 0.3s ease;
	box-shadow: 0 2px 6px rgba(12, 26, 46, 0.04);
}

.tc-team__card:hover {
	transform: translateY(-6px);
	border-color: rgba(0, 165, 255, 0.4);
	box-shadow: 0 24px 50px -20px rgba(12, 26, 46, 0.25),
				0 0 0 1px rgba(0, 165, 255, 0.15);
}

/* Foto cuadrada con overlay azul→naranja en hover */
.tc-team__photo {
	display: block;
	position: relative;
	aspect-ratio: 1;
	overflow: hidden;
	background: linear-gradient(135deg, #0c4a6e 0%, #0c1a2e 100%);
}

.tc-team__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1),
				filter 0.4s ease;
	filter: grayscale(15%) brightness(0.98);
}

.tc-team__photo-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 50%, rgba(12, 26, 46, 0.55) 100%);
	transition: opacity 0.3s ease;
	pointer-events: none;
}

.tc-team__card:hover .tc-team__photo img {
	transform: scale(1.05);
	filter: grayscale(0%) brightness(1.02);
}

/* Body */
.tc-team__body {
	padding: 1.15rem 1.25rem 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	flex: 1;
}

.tc-team__name {
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.25;
	margin: 0;
	letter-spacing: -0.01em;
}

.tc-team__name a {
	color: #0c1a2e;
	text-decoration: none;
	transition: color 0.2s ease;
}

.tc-team__name a:hover {
	color: #0c4a6e;
}

.tc-team__role {
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #0c4a6e;
	margin: 0;
}

.tc-team__short {
	font-size: 0.875rem;
	line-height: 1.5;
	color: rgba(28, 25, 23, 0.7);
	margin: 0;
	flex: 1;
}

.tc-team__actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 0.6rem;
	padding-top: 0.9rem;
	border-top: 1px solid rgba(12, 74, 110, 0.08);
}

.tc-team__link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.85rem;
	font-weight: 600;
	color: #0c4a6e;
	text-decoration: none;
	transition: color 0.2s ease, gap 0.2s ease;
}

.tc-team__link svg {
	width: 16px;
	height: 16px;
	transition: transform 0.2s ease;
}

.tc-team__link:hover {
	color: #ed4700;
	gap: 0.55rem;
}

.tc-team__link:hover svg {
	transform: translateX(3px);
}

.tc-team__linkedin {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 8px;
	background: rgba(0, 119, 181, 0.08);
	color: #0077b5;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.tc-team__linkedin svg {
	width: 18px;
	height: 18px;
}

.tc-team__linkedin:hover {
	background: #0077b5;
	color: #ffffff;
	transform: translateY(-2px);
}

/* Scroll animation */
.tc-team__header,
.tc-team__card {
	opacity: 0;
	transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
				transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.tc-team__header { transform: translateY(30px); }
.tc-team__card { transform: translateY(40px); }

.tc-team.is-visible .tc-team__header {
	opacity: 1;
	transform: translateY(0);
}

.tc-team.is-visible .tc-team__card {
	opacity: 1;
	transform: translateY(0);
	transition-delay: calc(0.2s + var(--card-index, 0) * 0.08s);
}

.tc-team__accent {
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.3s;
}

.tc-team.is-visible .tc-team__accent {
	transform: scaleX(1);
}

@media (max-width: 600px) {
	.tc-team {
		padding: 2rem 1rem;
	}
	.tc-team__grid {
		grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
		gap: 1rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tc-team__header,
	.tc-team__card,
	.tc-team__accent {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
	.tc-team__card:hover { transform: none; }
}

/* =============================================
   Profile pages (página individual de cada miembro)
   ============================================= */
.tc-profile-wrap {
	padding: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	position: relative !important;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	box-sizing: border-box;
	overflow: hidden;
}

.tc-profile {
	position: relative;
	width: 100%;
	background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
	color: #0c1a2e;
	padding: clamp(3rem, 7vh, 5.5rem) clamp(1.25rem, 4vw, 3rem);
	font-family: var(--wp--preset--font-family--fontprimary, 'Poppins', sans-serif);
	box-sizing: border-box;
}

.tc-profile::before {
	content: '';
	position: absolute;
	top: 0; left: 0;
	width: 100%;
	height: 50%;
	background: radial-gradient(ellipse 60% 80% at 80% 30%, rgba(0, 165, 255, 0.08) 0%, transparent 60%);
	pointer-events: none;
}

.tc-profile__inner {
	position: relative;
	max-width: 1100px;
	width: 100%;
	margin-inline: auto;
	display: grid;
	grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
	gap: clamp(2rem, 5vw, 4rem);
	align-items: start;
	box-sizing: border-box;
}

.tc-profile__media {
	position: sticky;
	top: 2rem;
	border-radius: 20px;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	background: linear-gradient(135deg, #0c4a6e 0%, #0c1a2e 100%);
	box-shadow: 0 30px 60px -25px rgba(12, 26, 46, 0.3);
}

.tc-profile__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.tc-profile__content {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.tc-profile__eyebrow {
	font-size: clamp(0.75rem, 0.3vw + 0.7rem, 0.9rem);
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #0c4a6e;
	margin: 0;
}

.tc-profile__name {
	font-size: clamp(2rem, 3.5vw + 0.5rem, 3.5rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.03em;
	color: #0c1a2e;
	margin: 0;
	text-wrap: balance;
}

.tc-profile__role {
	font-size: clamp(1rem, 0.5vw + 0.9rem, 1.2rem);
	font-weight: 500;
	color: #0c4a6e;
	margin: 0;
	letter-spacing: -0.01em;
}

.tc-profile__accent {
	width: 56px;
	height: 4px;
	border-radius: 2px;
	background: linear-gradient(90deg, #00a5ff, #ed4700);
	margin: 0.5rem 0 1rem;
}

.tc-profile__bio {
	font-size: clamp(0.95rem, 0.4vw + 0.85rem, 1.05rem);
	line-height: 1.65;
	color: rgba(28, 25, 23, 0.78);
}

.tc-profile__bio p {
	margin: 0 0 1rem;
}

.tc-profile__bio strong {
	color: #0c1a2e;
}

.tc-profile__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(12, 74, 110, 0.1);
}

.tc-profile__btn {
	display: inline-flex !important;
	align-items: center;
	gap: 0.5rem;
	padding: 0.8rem 1.4rem !important;
	border-radius: 10px;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	letter-spacing: 0.01em;
	background: #0077b5 !important;
	color: #ffffff !important;
	border: 1px solid #0077b5;
	transition: background 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease, border-color 0.25s ease;
	box-shadow: 0 8px 22px -8px rgba(0, 119, 181, 0.55), 0 2px 4px rgba(0, 119, 181, 0.15);
	opacity: 1 !important;
}

.tc-profile__btn:hover {
	background: #005e8c !important;
	color: #ffffff !important;
	border-color: #005e8c;
	transform: translateY(-2px);
	box-shadow: 0 12px 30px -8px rgba(0, 119, 181, 0.65), 0 3px 8px rgba(0, 119, 181, 0.25);
	text-decoration: none !important;
}

/* El SVG dentro del botón debe ser blanco sólido — algunos temas
   le bajan opacidad o cambian fill via reglas globales en a > svg */
.tc-profile__btn svg {
	width: 19px;
	height: 19px;
	fill: #ffffff !important;
	color: #ffffff !important;
	opacity: 1 !important;
	flex-shrink: 0;
}

.tc-profile__btn span {
	color: #ffffff !important;
	text-decoration: none !important;
}

.tc-profile__btn--ghost {
	background: transparent !important;
	color: #0c4a6e !important;
	box-shadow: none !important;
	border: 1px solid rgba(12, 74, 110, 0.25);
}

.tc-profile__btn--ghost:hover {
	background: rgba(0, 165, 255, 0.08) !important;
	color: #0c1a2e !important;
	border-color: #00a5ff;
	box-shadow: none !important;
	text-decoration: none !important;
}

@media (max-width: 768px) {
	.tc-profile__inner {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
	.tc-profile__media {
		position: static;
		max-width: 280px;
		margin: 0 auto;
		aspect-ratio: 1;
	}
}

/* Icono de contacto en el menú (envelope -> /#contact) */
.tc-contact-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	color: currentColor;
	text-decoration: none;
	border-radius: 10px;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
	line-height: 0;
}

.tc-contact-icon svg {
	width: 28px;
	height: 28px;
	fill: currentColor;
	display: block;
}

.tc-contact-icon:hover,
.tc-contact-icon:focus-visible {
	background: rgba(255, 255, 255, 0.18);
	color: #ffffff;
	transform: translateY(-1px);
	outline: none;
}

/* =============================================
   Careers — HR director quote (Juan Pablo Guerrero)
   Estilo testimonio / declaración de visión
   ============================================= */
/* Wrap full-bleed que anula el padding global del tema (evita franjas naranjas) */
.tc-hr-contact-wrap {
	padding: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	position: relative !important;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	box-sizing: border-box;
	overflow: hidden;
	background: #ffffff;
}

.tc-hr-contact {
	width: 100%;
	background: #ffffff;
	color: #0c1a2e;
	font-family: var(--wp--preset--font-family--fontprimary, 'Poppins', sans-serif);
	padding: clamp(2.5rem, 6vh, 4.5rem) clamp(1.25rem, 4vw, 3rem);
	box-sizing: border-box;
}

.tc-hr-contact__inner {
	max-width: 1080px;
	margin-inline: auto;
	display: grid;
	grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
	gap: clamp(1.75rem, 4vw, 3rem);
	align-items: center;
	background: linear-gradient(135deg, #f8fafc 0%, #ffffff 60%);
	border: 1px solid rgba(12, 74, 110, 0.1);
	border-radius: 22px;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	box-shadow: 0 20px 50px -25px rgba(12, 26, 46, 0.22);
	position: relative;
	overflow: hidden;
}

/* Glow decorativo cyan arriba-derecha + naranja abajo-izquierda */
.tc-hr-contact__inner::before {
	content: '';
	position: absolute;
	top: -140px;
	right: -140px;
	width: 380px;
	height: 380px;
	background: radial-gradient(circle, rgba(0, 165, 255, 0.14) 0%, transparent 60%);
	pointer-events: none;
}

.tc-hr-contact__inner::after {
	content: '';
	position: absolute;
	bottom: -140px;
	left: -140px;
	width: 320px;
	height: 320px;
	background: radial-gradient(circle, rgba(237, 71, 0, 0.1) 0%, transparent 60%);
	pointer-events: none;
}

/* Foto — vertical, redondeada, sin tratamiento de "team card" */
.tc-hr-contact__media {
	position: relative;
	display: block;
	aspect-ratio: 4 / 5;
	border-radius: 18px;
	overflow: hidden;
	background: linear-gradient(135deg, #0c4a6e 0%, #0c1a2e 100%);
	box-shadow: 0 18px 38px -16px rgba(12, 26, 46, 0.35);
	text-decoration: none;
	align-self: stretch;
}

.tc-hr-contact__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.tc-hr-contact__media-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 60%, rgba(12, 26, 46, 0.35) 100%);
	pointer-events: none;
}

.tc-hr-contact__media:hover img {
	transform: scale(1.04);
}

/* Body — formato testimonial */
.tc-hr-contact__body {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	position: relative;
}

.tc-hr-contact__eyebrow {
	font-size: clamp(0.7rem, 0.3vw + 0.6rem, 0.82rem);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #0c4a6e;
	margin: 0;
	display: inline-flex;
	width: fit-content;
	padding: 0.35rem 0.85rem;
	border-radius: 999px;
	background: rgba(0, 165, 255, 0.1);
	border: 1px solid rgba(0, 165, 255, 0.25);
}

/* Quote mark grande arriba del bloque */
.tc-hr-contact__quote-mark {
	width: 44px;
	height: 44px;
	color: rgba(0, 165, 255, 0.22);
	margin: 0;
	display: block;
}

.tc-hr-contact__quote {
	margin: 0;
	padding: 0;
	border: none;
	font-size: clamp(1.05rem, 0.5vw + 0.95rem, 1.25rem);
	line-height: 1.55;
	color: rgba(12, 26, 46, 0.86);
	font-weight: 400;
	letter-spacing: -0.005em;
	font-style: normal;
	max-width: 62ch;
}

.tc-hr-contact__quote p {
	margin: 0;
}

.tc-hr-contact__quote strong {
	color: #0c1a2e;
	background: linear-gradient(135deg, #00a5ff 0%, #ed4700 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	font-weight: 700;
}

/* Firma con línea cyan + nombre + cargo + LinkedIn */
.tc-hr-contact__signature {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-top: 1rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(12, 74, 110, 0.12);
}

.tc-hr-contact__signature-line {
	display: block;
	width: 36px;
	height: 3px;
	border-radius: 2px;
	background: linear-gradient(90deg, #00a5ff, #ed4700);
	flex-shrink: 0;
}

.tc-hr-contact__signature-text {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	flex: 1;
	min-width: 0;
}

.tc-hr-contact__name {
	font-size: 1rem;
	font-weight: 700;
	color: #0c1a2e;
	letter-spacing: -0.01em;
	line-height: 1.2;
}

.tc-hr-contact__role {
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #0c4a6e;
}

/* Botón LinkedIn — cuadrado pequeño */
.tc-hr-contact__linkedin {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: rgba(0, 119, 181, 0.1);
	color: #0077b5;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
	text-decoration: none;
	flex-shrink: 0;
}

.tc-hr-contact__linkedin svg {
	width: 19px;
	height: 19px;
}

.tc-hr-contact__linkedin:hover {
	background: #0077b5;
	color: #ffffff;
	transform: translateY(-2px);
}

/* Móvil — stack vertical, foto centrada */
@media (max-width: 720px) {
	.tc-hr-contact__inner {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
	.tc-hr-contact__media {
		max-width: 220px;
		width: 220px;
		margin: 0 auto;
		aspect-ratio: 4 / 5;
	}
	.tc-hr-contact__quote-mark {
		width: 36px;
		height: 36px;
		margin: 0 auto;
	}
	.tc-hr-contact__body {
		text-align: center;
	}
	.tc-hr-contact__eyebrow {
		margin-left: auto;
		margin-right: auto;
	}
	.tc-hr-contact__quote {
		margin-left: auto;
		margin-right: auto;
	}
	.tc-hr-contact__signature {
		justify-content: center;
		flex-wrap: wrap;
	}
	.tc-hr-contact__signature-text {
		text-align: left;
		flex: 0 1 auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tc-hr-contact__media img,
	.tc-hr-contact__linkedin {
		transition: none;
	}
	.tc-hr-contact__media:hover img,
	.tc-hr-contact__linkedin:hover {
		transform: none;
	}
}

/* =============================================
   Careers — listado de vacantes (shortcode [tc_jobs])
   ============================================= */
/* Wrap full-bleed que anula el padding global del tema */
.tc-jobs-wrap {
	padding: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	position: relative !important;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	box-sizing: border-box;
	overflow: hidden;
	background: #f1f5f9;
}

.tc-jobs {
	background: #f1f5f9;
	color: #0c1a2e;
	padding: clamp(2.75rem, 6vh, 4.5rem) clamp(1.25rem, 4vw, 3rem);
	font-family: var(--wp--preset--font-family--fontprimary, 'Poppins', sans-serif);
}

.tc-jobs__inner {
	max-width: 1180px;
	margin-inline: auto;
}

.tc-jobs__header {
	text-align: center;
	max-width: 640px;
	margin: 0 auto clamp(2rem, 4vh, 3rem);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.6rem;
}

.tc-jobs__eyebrow {
	font-size: clamp(0.75rem, 0.3vw + 0.7rem, 0.9rem);
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #0c4a6e;
	margin: 0;
}

.tc-jobs__title {
	font-size: clamp(1.75rem, 3vw + 0.5rem, 3rem);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.03em;
	color: #0c1a2e;
	margin: 0;
	text-wrap: balance;
}

.tc-jobs__title-accent {
	background: linear-gradient(135deg, #00a5ff 0%, #ed4700 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}

.tc-jobs__lead {
	font-size: clamp(0.9rem, 0.4vw + 0.8rem, 1.05rem);
	line-height: 1.55;
	color: rgba(28, 25, 23, 0.7);
	margin: 0;
	max-width: 52ch;
	text-wrap: pretty;
}

.tc-jobs__accent {
	width: 56px;
	height: 4px;
	border-radius: 2px;
	background: linear-gradient(90deg, #00a5ff, #ed4700);
	margin-top: 0.5rem;
}

.tc-jobs__empty {
	text-align: center;
	color: rgba(28, 25, 23, 0.6);
	font-size: 1.05rem;
	padding: 2rem 0;
}

.tc-jobs__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
	gap: 1.25rem;
}

/* Card de vacante */
.tc-job-card {
	background: #ffffff;
	border: 1px solid rgba(12, 74, 110, 0.08);
	border-left: 4px solid #00a5ff;
	border-radius: 14px;
	padding: 1.5rem 1.5rem 1.35rem;
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
				box-shadow 0.3s ease,
				border-left-color 0.3s ease;
	box-shadow: 0 2px 6px rgba(12, 26, 46, 0.04);
}

.tc-job-card:hover {
	transform: translateY(-4px);
	border-left-color: #ed4700;
	box-shadow: 0 20px 44px -18px rgba(12, 26, 46, 0.25);
}

.tc-job-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.tc-job-card__chip {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: #0c4a6e;
	background: rgba(0, 165, 255, 0.1);
	border-radius: 999px;
	padding: 0.3rem 0.7rem;
}

.tc-job-card__chip svg {
	width: 13px;
	height: 13px;
}

.tc-job-card__chip--type {
	color: #b8430a;
	background: rgba(237, 71, 0, 0.1);
}

.tc-job-card__title {
	font-size: clamp(1.15rem, 0.6vw + 1rem, 1.4rem);
	font-weight: 700;
	line-height: 1.25;
	margin: 0;
	letter-spacing: -0.01em;
}

.tc-job-card__title a {
	color: #0c1a2e;
	text-decoration: none;
	transition: color 0.2s ease;
}

.tc-job-card__title a:hover {
	color: #0c4a6e;
}

.tc-job-card__excerpt {
	font-size: 0.9rem;
	line-height: 1.55;
	color: rgba(28, 25, 23, 0.7);
	margin: 0;
	flex: 1;
}

.tc-job-card__link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.88rem;
	font-weight: 600;
	color: #0c4a6e;
	text-decoration: none;
	margin-top: 0.3rem;
	transition: color 0.2s ease, gap 0.2s ease;
}

.tc-job-card__link svg {
	width: 16px;
	height: 16px;
	transition: transform 0.2s ease;
}

.tc-job-card__link:hover {
	color: #ed4700;
	gap: 0.6rem;
}

.tc-job-card__link:hover svg {
	transform: translateX(3px);
}

/* Scroll reveal */
.tc-job-card {
	opacity: 0;
	transform: translateY(30px);
	animation: tc-services-card-in 0.7s cubic-bezier(0.22, 1, 0.36, 1) var(--delay, 0ms) forwards;
}

@media (prefers-reduced-motion: reduce) {
	.tc-job-card { opacity: 1; transform: none; animation: none; }
	.tc-job-card:hover { transform: none; }
}

/* =============================================
   Careers — página individual de vacante (single-job)
   ============================================= */
.tc-job-single-wrap {
	background: linear-gradient(180deg, #f8fafc 0%, #ffffff 35%);
}

.tc-job-single {
	padding: clamp(2.5rem, 6vh, 4.5rem) clamp(1.25rem, 4vw, 2rem) clamp(3rem, 7vh, 5rem);
	font-family: var(--wp--preset--font-family--fontprimary, 'Poppins', sans-serif);
}

.tc-job-single__eyebrow {
	font-size: clamp(0.75rem, 0.3vw + 0.7rem, 0.9rem) !important;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #0c4a6e !important;
	margin: 0 0 0.5rem !important;
}

.tc-job-single__title {
	font-size: clamp(1.9rem, 3.5vw + 0.5rem, 3rem) !important;
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.03em;
	color: #0c1a2e !important;
	margin: 0 0 1rem !important;
	text-wrap: balance;
}

.tc-job-single__title::after {
	content: '';
	display: block;
	width: 60px;
	height: 4px;
	border-radius: 2px;
	margin-top: 1rem;
	background: linear-gradient(90deg, #00a5ff, #ed4700);
}

.tc-job-single__meta {
	gap: 0.5rem !important;
	margin: 0 0 1.75rem !important;
}

.tc-job-single__chip {
	display: inline-flex !important;
	align-items: center;
	font-size: 0.78rem !important;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #0c4a6e;
	background: rgba(0, 165, 255, 0.1);
	border-radius: 999px;
	padding: 0.4rem 0.9rem;
	margin: 0 !important;
}

.tc-job-single__chip a {
	color: inherit;
	text-decoration: none;
}

.tc-job-single__chip--type {
	color: #b8430a;
	background: rgba(237, 71, 0, 0.1);
}

.tc-job-single__content {
	font-size: clamp(0.98rem, 0.4vw + 0.9rem, 1.1rem);
	line-height: 1.7;
	color: rgba(28, 25, 23, 0.82);
}

.tc-job-single__content h2,
.tc-job-single__content h3 {
	color: #0c1a2e;
	font-weight: 700;
	letter-spacing: -0.01em;
	margin: 1.8rem 0 0.6rem;
}

.tc-job-single__content h2 { font-size: 1.4rem; }
.tc-job-single__content h3 { font-size: 1.15rem; }

.tc-job-single__content ul,
.tc-job-single__content ol {
	padding-left: 1.3rem;
	margin: 0.5rem 0 1.2rem;
}

.tc-job-single__content li {
	margin-bottom: 0.4rem;
}

.tc-job-single__content strong {
	color: #0c1a2e;
}

.tc-job-single__cta {
	align-items: center !important;
	gap: 1.25rem !important;
	margin-top: 2.5rem !important;
	padding-top: 1.75rem !important;
	border-top: 1px solid rgba(12, 74, 110, 0.12);
}

.tc-job-single__apply .wp-block-button__link {
	background: #ed4700 !important;
	color: #ffffff !important;
	border-radius: 8px !important;
	padding: 0.85rem 2rem !important;
	font-size: 0.98rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em;
	box-shadow: 0 6px 18px -6px rgba(237, 71, 0, 0.45);
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.tc-job-single__apply .wp-block-button__link:hover {
	background: #d63d00 !important;
	transform: translateY(-2px);
	box-shadow: 0 10px 26px -8px rgba(237, 71, 0, 0.55);
}

.tc-job-single__back {
	margin: 0 !important;
	font-size: 0.92rem;
}

.tc-job-single__back a {
	color: #0c4a6e;
	text-decoration: none;
	font-weight: 600;
	transition: color 0.2s ease;
}

.tc-job-single__back a:hover {
	color: #ed4700;
}

@media (max-width: 600px) {
	.tc-jobs__grid {
		grid-template-columns: 1fr;
	}
}

/* =============================================
   Anti-spam: honeypot oculto (Job Application Form)
   El campo debe ser INVISIBLE para humanos pero accesible al DOM
   para que los bots lo encuentren y lo llenen.
   No usar display:none ni hidden — algunos bots los detectan y omiten.
   ============================================= */
.tc-honeypot,
input.tc-honeypot,
.wpcf7 input.tc-honeypot,
.tc-job-form__wrap input.tc-honeypot,
p:has(> .tc-honeypot),
.wpcf7-form-control-wrap:has(> .tc-honeypot),
label:has(> .tc-honeypot) {
	position: absolute !important;
	left: -9999px !important;
	top: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	pointer-events: none !important;
	tab-index: -1;
}

/* =============================================
   Job Application Form (Contact Form 7)
   ============================================= */
.tc-job-form {
	background: #ffffff !important;
	color: #1c1917;
	font-family: var(--wp--preset--font-family--fontprimary, 'Poppins', sans-serif);
	/* Padding vertical más compacto que el preset large del tema */
	padding-top: clamp(2rem, 4vh, 3.5rem) !important;
	padding-bottom: clamp(2rem, 4vh, 3.5rem) !important;
	/* Padding horizontal: deja marco blanco a los lados de la caja azul */
	padding-left: clamp(1.5rem, 5vw, 3rem) !important;
	padding-right: clamp(1.5rem, 5vw, 3rem) !important;
}

.tc-job-form * {
	font-family: inherit;
}

/* Eyebrow como badge/pill cyan centrado arriba del título */
.tc-job-form__eyebrow {
	display: block;
	width: fit-content;
	font-size: clamp(0.7rem, 0.3vw + 0.62rem, 0.8rem) !important;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #0077b5 !important;
	margin: 0 auto 0.9rem !important;
	padding: 0.4rem 0.95rem;
	border-radius: 999px;
	background: rgba(0, 165, 255, 0.1);
	border: 1px solid rgba(0, 165, 255, 0.28);
}

.tc-job-form__eyebrow:empty {
	display: none !important;
}

/* Título con degradado sutil navy→azul + línea de acento debajo */
.tc-job-form__title {
	background: linear-gradient(115deg, #0c1a2e 0%, #0c4a6e 55%, #0077b5 110%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.tc-job-form__title::after {
	content: '';
	display: block;
	width: 64px;
	height: 4px;
	border-radius: 2px;
	margin: 1rem auto 0;
	background: linear-gradient(90deg, #00a5ff, #ed4700);
	box-shadow: 0 0 16px rgba(0, 165, 255, 0.4);
	-webkit-text-fill-color: initial;
}

.tc-job-form__title {
	font-size: clamp(1.5rem, 2.5vw + 0.4rem, 2.4rem) !important;
	font-weight: 800;
	color: #0c1a2e !important;
	margin: 0 0 0.5rem !important;
	letter-spacing: -0.02em;
	line-height: 1.15;
	text-wrap: balance;
}

.tc-job-form__intro {
	font-size: clamp(0.9rem, 0.4vw + 0.8rem, 1.05rem) !important;
	color: rgba(28, 25, 23, 0.7) !important;
	margin: 0 0 1.5rem !important;
	max-width: 48ch;
	margin-inline: auto !important;
	line-height: 1.45;
}

/* ----- Fix robusto: centrar todo el encabezado del form aunque el bloque
   haya sido editado y perdido las clases/alineación originales ----- */
.tc-job-form > .wp-block-group > p,
.tc-job-form > .wp-block-group > h1,
.tc-job-form > .wp-block-group > h2,
.tc-job-form > .wp-block-group > h3 {
	text-align: center !important;
}

/* El párrafo intro (cualquier <p> directo del grupo, fuera del formulario)
   recupera su estilo aunque haya quedado con clases mono-2 / left-align */
.tc-job-form > .wp-block-group > p:not(.tc-job-form__eyebrow) {
	font-size: clamp(0.9rem, 0.4vw + 0.8rem, 1.05rem) !important;
	color: rgba(28, 25, 23, 0.7) !important;
	max-width: 48ch;
	margin: 0 auto 1.5rem !important;
	line-height: 1.45;
	text-wrap: pretty;
}

/* Eyebrow vacío: no ocupar espacio (gap fantasma) */
.tc-job-form__eyebrow:empty {
	display: none !important;
}

/* Título: equilibrar el wrap para que no quede desordenado en móvil */
.tc-job-form__title {
	text-wrap: balance;
	margin-inline: auto !important;
}

/* El formulario centrado y con ancho máximo legible */
.tc-job-form__wrap {
	max-width: 640px;
	margin-inline: auto;
	width: 100%;
}

/* La caja del form sí mantiene el azul de la marca — flota como card sobre blanco */
.tc-job-form__wrap .wpcf7 {
	background: #0c4a6e;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 18px;
	padding: clamp(1.25rem, 3vw, 2rem);
	box-shadow: 0 18px 50px -16px rgba(12, 74, 110, 0.45),
				0 4px 14px -8px rgba(12, 26, 46, 0.2);
}

/* Fila de 2 columnas para nombre y apellido (desktop) */
.tc-job-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.75rem;
}

@media (max-width: 600px) {
	.tc-job-form__row {
		grid-template-columns: 1fr;
		gap: 0;
	}
}

/* Reset de párrafos de CF7 — espaciado más compacto */
.tc-job-form__field,
.tc-job-form__wrap .wpcf7 p {
	margin: 0 0 0.85rem !important;
}

.tc-job-form__submit {
	margin-top: 0.25rem !important;
}

/* Labels */
.tc-job-form__wrap label {
	display: block;
	font-size: 0.825rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.95);
	letter-spacing: 0.02em;
	margin-bottom: 0.3rem;
}

.tc-job-form__wrap .required {
	color: #ed4700;
	font-weight: 700;
	margin-left: 0.15em;
}

/* Inputs */
.tc-job-form__wrap input[type="text"],
.tc-job-form__wrap input[type="email"],
.tc-job-form__wrap input[type="file"],
.tc-job-form__wrap textarea {
	width: 100%;
	box-sizing: border-box;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 6px;
	padding: 0.6rem 0.85rem;
	color: #ffffff;
	font-size: 0.95rem;
	font-family: inherit;
	line-height: 1.35;
	transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.tc-job-form__wrap input[type="text"]:focus,
.tc-job-form__wrap input[type="email"]:focus,
.tc-job-form__wrap textarea:focus {
	outline: none;
	border-color: #00a5ff;
	background: rgba(0, 165, 255, 0.05);
	box-shadow: 0 0 0 3px rgba(0, 165, 255, 0.18);
}

.tc-job-form__wrap input::placeholder,
.tc-job-form__wrap textarea::placeholder {
	color: rgba(255, 255, 255, 0.4);
}

.tc-job-form__wrap textarea {
	resize: vertical;
	min-height: 4.5rem;
}

/* File upload — restyle del input nativo */
.tc-job-form__wrap input[type="file"] {
	padding: 0.45rem 0.85rem;
	cursor: pointer;
}

.tc-job-form__wrap input[type="file"]::file-selector-button {
	background: #00a5ff;
	color: #ffffff;
	border: none;
	padding: 0.4rem 0.85rem;
	border-radius: 5px;
	margin-right: 0.85rem;
	font-weight: 600;
	font-size: 0.85rem;
	cursor: pointer;
	font-family: inherit;
	transition: background 0.2s ease;
}

.tc-job-form__wrap input[type="file"]::file-selector-button:hover {
	background: #008cd4;
}

/* Submit button */
.tc-job-form__wrap .wpcf7-submit,
.tc-job-form__wrap input[type="submit"] {
	background: #ed4700;
	color: #ffffff;
	border: none;
	border-radius: 6px;
	padding: 0.75rem 2rem;
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
	box-shadow: 0 4px 14px rgba(237, 71, 0, 0.3);
	width: auto;
	display: inline-block;
}

.tc-job-form__wrap .wpcf7-submit:hover,
.tc-job-form__wrap input[type="submit"]:hover {
	background: #e85f00;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(237, 71, 0, 0.4);
}

.tc-job-form__wrap .wpcf7-submit:active,
.tc-job-form__wrap input[type="submit"]:active {
	transform: translateY(0);
}

.tc-job-form__submit {
	text-align: center;
}

/* Validation errors */
.tc-job-form__wrap .wpcf7-not-valid {
	border-color: #ff4444 !important;
	background: rgba(255, 68, 68, 0.05) !important;
}

.tc-job-form__wrap .wpcf7-not-valid-tip {
	color: #ff8888;
	font-size: 0.85rem;
	margin-top: 0.35rem;
	display: block;
}

/* Response messages */
.tc-job-form__wrap .wpcf7 form .wpcf7-response-output {
	margin: 1.5rem 0 0;
	padding: 1rem 1.25rem;
	border-radius: 8px;
	border: 1px solid rgba(255, 255, 255, 0.15);
	font-size: 0.95rem;
	color: #ffffff;
}

.tc-job-form__wrap .wpcf7 form.sent .wpcf7-response-output {
	background: rgba(34, 197, 94, 0.12);
	border-color: rgba(34, 197, 94, 0.4);
	color: #86efac;
}

.tc-job-form__wrap .wpcf7 form.invalid .wpcf7-response-output,
.tc-job-form__wrap .wpcf7 form.unaccepted .wpcf7-response-output {
	background: rgba(255, 68, 68, 0.1);
	border-color: rgba(255, 68, 68, 0.4);
	color: #fca5a5;
}

/* Spinner */
.tc-job-form__wrap .wpcf7-spinner {
	background-color: #ffffff;
}