/*
* Text selection: fondo visible (verde secundario) para evitar negro sobre negro
*/
html.demo-business-consulting ::-moz-selection {
		color: var(--dark) !important;
		background: var(--secondary) !important;
}
html.demo-business-consulting ::selection {
		color: var(--dark) !important;
		background: var(--secondary) !important;
}

/*
* Tipografía corporativa Gemafi — Inter (equivalente web a Neue Haas Grotesk)
*/
@font-face {
		font-family: "Helvetica Project";
		src: url("/cd-project/fonts/helvetica/Helvetica.ttf") format("truetype");
		font-weight: 400;
		font-style: normal;
		font-display: swap;
}

@font-face {
		font-family: "Helvetica Project";
		src: url("/cd-project/fonts/helvetica/Helvetica-Oblique.ttf") format("truetype");
		font-weight: 400;
		font-style: italic;
		font-display: swap;
}

@font-face {
		font-family: "Helvetica Project";
		src: url("/cd-project/fonts/helvetica/Helvetica-Bold.ttf") format("truetype");
		font-weight: 700;
		font-style: normal;
		font-display: swap;
}

@font-face {
		font-family: "Helvetica Project";
		src: url("/cd-project/fonts/helvetica/Helvetica-BoldOblique.ttf") format("truetype");
		font-weight: 700;
		font-style: italic;
		font-display: swap;
}

/*
* Typography: scoped under demo class.
* font-family is controlled by system CSS variables (--font-family-primary, --font-family-secondary)
* configurable from /admin/site-data > Apariencia > Tipografía.
* Only font-weight and letter-spacing are set here.
*/
html.demo-business-consulting h1,
html.demo-business-consulting h2,
html.demo-business-consulting h3,
html.demo-business-consulting h4,
html.demo-business-consulting h5,
html.demo-business-consulting h6 {
		letter-spacing: -0.02em;
}

html.demo-business-consulting body {
		font-weight: 400;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
}

html.demo-business-consulting h1 { font-weight: 800; letter-spacing: -0.03em; }
html.demo-business-consulting h2 { font-weight: 700; letter-spacing: -0.025em; margin: 0 0 15px 0; }
html.demo-business-consulting h3 { font-weight: 700; }
html.demo-business-consulting h4 { font-weight: 600; }
html.demo-business-consulting h5 { font-weight: 600; letter-spacing: -0.01em; }
html.demo-business-consulting h6 { font-weight: 500; letter-spacing: 0; }

@media (max-width: 991px) {
		.custom-sm-margin-top {
				margin-top: 20px;
		}
}

html.demo-business-consulting .custom-primary-font {
		font-weight: 400;
}

html.demo-business-consulting .custom-secondary-font {
		font-weight: 800;
		letter-spacing: -0.03em;
}

.custom-section-padding {
		padding: 60px 0px;
}

.custom-section-padding-2 {
		padding-top: 60px;
}

.custom-section-padding-3 {
		padding-left: 110px !important;
}

.custom-opacity-font {
		opacity: 0.6;
		transition: ease all 300ms;
}

.custom-opacity-font:hover {
		opacity: 1;
}

.custom-border-radius {
		border-radius: 35px !important;
		padding: 11px 30px !important;
}

.custom-border-radius.custom-border-radius-small {
		padding: 7px 17px !important;
		font-size: 12px;
}

.btn-outline.custom-border-width {
		border-width: 2px;
}

@media (min-width: 991px) {
		.custom-md-border-top {
				border-top: 1px solid rgba(255, 255, 255, 0.12);
		}
}

.custom-position-1 {
		position: relative;
		margin-top: -177px;
}

@media (max-width: 991px) {
		.custom-position-1 {
				margin-top: 0;
				background: #101019;
		}
}

.custom-color-red {
		color: #fa4141;
}

.custom-nav-arrows-1 .owl-nav .owl-prev,
.custom-nav-arrows-1 .owl-nav .owl-next {
		width: 45px !important;
		height: 120px !important;
		background: rgba(16, 16, 25, 0.5);
}

.custom-nav-arrows-1 .owl-nav .owl-prev:hover,
.custom-nav-arrows-1 .owl-nav .owl-next:hover {
		background: #101019;
}

.custom-nav-arrows-1 .owl-nav .owl-prev:before,
.custom-nav-arrows-1 .owl-nav .owl-next:before {
		content: '' !important;
		position: absolute !important;
		top: 50% !important;
		left: 70% !important;
		width: 30px;
		height: 30px;
		border-top: 1px solid #FFF;
		border-left: 1px solid #FFF;
		transform: translate3d(-50%, -50%, 0) rotate(-45deg);
}

.custom-nav-arrows-1 .owl-nav .owl-prev:after,
.custom-nav-arrows-1 .owl-nav .owl-next:after {
		content: '';
		display: block;
		position: absolute;
		left: 106%;
		top: 50%;
		width: 70px;
		border-top: 1px solid #FFF;
		transform: translate3d(-50%, -50%, 0);
}

.custom-nav-arrows-1 .owl-nav .owl-next {
		right: 0 !important;
}

.custom-nav-arrows-1 .owl-nav .owl-prev {
		left: 0 !important;
}

@media (max-width: 767px) {
		.custom-nav-arrows-1 .owl-nav .owl-prev,
		.custom-nav-arrows-1 .owl-nav .owl-next {
				width: 30px;
				height: 90px;
		}
		.custom-nav-arrows-1 .owl-nav .owl-prev:before,
		.custom-nav-arrows-1 .owl-nav .owl-next:before {
				width: 20px;
				height: 20px;
		}
		.custom-nav-arrows-1 .owl-nav .owl-prev:after,
		.custom-nav-arrows-1 .owl-nav .owl-next:after {
				width: 50px;
		}
}

.custom-nav-arrows-1 .owl-nav .owl-next {
		backface-visibility: hidden;
		transform: rotate(180deg) !important;
		transform-origin: 50% 28%;
}

.tp-leftarrow.custom-arrows-style-1, .tp-rightarrow.custom-arrows-style-1 {
		width: 45px;
		height: 120px;
		background: rgba(16, 16, 25, 0.5);
}

.tp-leftarrow.custom-arrows-style-1:hover, .tp-rightarrow.custom-arrows-style-1:hover {
		background: #101019;
}

.tp-leftarrow.custom-arrows-style-1:before, .tp-rightarrow.custom-arrows-style-1:before {
		content: '';
		position: absolute;
		top: 50%;
		left: 70%;
		width: 30px;
		height: 30px;
		border-top: 1px solid #FFF;
		border-left: 1px solid #FFF;
		transform: translate3d(-50%, -50%, 0) rotate(-45deg);
}

.tp-leftarrow.custom-arrows-style-1:after, .tp-rightarrow.custom-arrows-style-1:after {
		content: '';
		display: block;
		position: absolute;
		left: 106%;
		top: 50%;
		width: 70px;
		border-top: 1px solid #FFF;
		transform: translate3d(-50%, -50%, 0);
}

@media (max-width: 767px) {
		.tp-leftarrow.custom-arrows-style-1, .tp-rightarrow.custom-arrows-style-1 {
				width: 30px;
				height: 90px;
		}
		.tp-leftarrow.custom-arrows-style-1:before, .tp-rightarrow.custom-arrows-style-1:before {
				width: 20px;
				height: 20px;
		}
		.tp-leftarrow.custom-arrows-style-1:after, .tp-rightarrow.custom-arrows-style-1:after {
				width: 50px;
		}
}

.tp-rightarrow.custom-arrows-style-1 {
		transform: rotate(180deg);
}

.owl-carousel .owl-item > div {
		width: calc(100% + 2px);
}

.owl-carousel.custom-dots-position .owl-dots, .owl-carousel.custom-dots-position-2 .owl-dots {
		position: absolute;
		top: 0;
		right: 0;
		margin-top: -45px !important;
		width: auto;
}

.owl-carousel.custom-dots-position-2 .owl-dots {
		width: 100%;
		max-width: 1140px;
		right: 50%;
		margin: 0 15px;
		text-align: right;
		transform: translateX(50%);
}

@media (min-width: 768px) {
		.owl-carousel.custom-dots-position-2 .owl-dots {
				max-width: 750px;
		}
}

@media (min-width: 992px) {
		.owl-carousel.custom-dots-position-2 .owl-dots {
				max-width: 970px;
		}
}

@media (min-width: 1200px) {
		.owl-carousel.custom-dots-position-2 .owl-dots {
				max-width: 1140px;
		}
}

.owl-carousel.custom-arrows-style-2 .owl-nav button.owl-prev, .owl-carousel.custom-arrows-style-2 .owl-nav button.owl-next, .owl-carousel.custom-xs-arrows-style-2 .owl-nav button.owl-prev, .owl-carousel.custom-xs-arrows-style-2 .owl-nav button.owl-next {
		position: absolute;
		width: 30px;
		transition: ease all 300ms;
}

.owl-carousel.custom-arrows-style-2 .owl-nav button.owl-prev:before, .owl-carousel.custom-arrows-style-2 .owl-nav button.owl-next:before, .owl-carousel.custom-xs-arrows-style-2 .owl-nav button.owl-prev:before, .owl-carousel.custom-xs-arrows-style-2 .owl-nav button.owl-next:before {
		content: '';
		display: block;
		position: absolute;
		top: 50%;
		right: -2px;
		left: auto;
		width: 100%;
		border-top: 1px solid #4dbb6d;
		transform: translateY(-50%);
}

.owl-carousel.custom-arrows-style-2 .owl-nav button.owl-prev:after, .owl-carousel.custom-arrows-style-2 .owl-nav button.owl-next:after, .owl-carousel.custom-xs-arrows-style-2 .owl-nav button.owl-prev:after, .owl-carousel.custom-xs-arrows-style-2 .owl-nav button.owl-next:after {
		content: '';
		display: block;
		position: absolute;
		top: 50%;
		right: 0;
		width: 15px;
		height: 15px;
		border-top: 1px solid #4dbb6d;
		border-right: 1px solid #4dbb6d;
		transform: translateY(-50%) rotate(45deg);
}

.owl-carousel.custom-arrows-style-2 .owl-nav button.owl-prev.disabled:before, .owl-carousel.custom-arrows-style-2 .owl-nav button.owl-next.disabled:before, .owl-carousel.custom-xs-arrows-style-2 .owl-nav button.owl-prev.disabled:before, .owl-carousel.custom-xs-arrows-style-2 .owl-nav button.owl-next.disabled:before {
		border-top: 1px solid #646466;
}

.owl-carousel.custom-arrows-style-2 .owl-nav button.owl-prev.disabled:after, .owl-carousel.custom-arrows-style-2 .owl-nav button.owl-next.disabled:after, .owl-carousel.custom-xs-arrows-style-2 .owl-nav button.owl-prev.disabled:after, .owl-carousel.custom-xs-arrows-style-2 .owl-nav button.owl-next.disabled:after {
		border-top: 1px solid #646466;
		border-right: 1px solid #646466;
}

.owl-carousel.custom-arrows-style-2 .owl-nav button.owl-prev, .owl-carousel.custom-xs-arrows-style-2 .owl-nav button.owl-prev {
		left: -95px;
		transform: rotate(-180deg);
}

.owl-carousel.custom-arrows-style-2 .owl-nav button.owl-next, .owl-carousel.custom-xs-arrows-style-2 .owl-nav button.owl-next {
		right: 10px;
}

.owl-carousel.custom-arrows-style-2.show-nav-title .owl-nav, .owl-carousel.custom-xs-arrows-style-2.show-nav-title .owl-nav {
		margin-top: -52px;
}

.owl-carousel.custom-arrows-style-2.show-nav-title .owl-nav button[class*="owl-"], .owl-carousel.custom-arrows-style-2.show-nav-title .owl-nav button[class*="owl-"]:hover, .owl-carousel.custom-arrows-style-2.show-nav-title .owl-nav button[class*="owl-"]:active, .owl-carousel.custom-xs-arrows-style-2.show-nav-title .owl-nav button[class*="owl-"], .owl-carousel.custom-xs-arrows-style-2.show-nav-title .owl-nav button[class*="owl-"]:hover, .owl-carousel.custom-xs-arrows-style-2.show-nav-title .owl-nav button[class*="owl-"]:active {
		width: 30px;
}

@media (max-width: 767px) {
		.owl-carousel.custom-xs-arrows-style-2 .owl-nav {
				display: block;
		}
		.owl-carousel.custom-xs-arrows-style-2 .owl-dots {
				display: none;
		}
}

@media (min-width: 767px) {
		.owl-carousel.custom-xs-arrows-style-2 .owl-nav {
				display: none;
		}
}

/*
* Header
*/
html:not(.sticky-header-active) #header.header-transparent-dark-bottom-border .header-body {
		border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

html.sticky-header-active #header.header-effect-shrink .header-body {
		box-shadow: none !important;
}

/*
* Rev Slider
*/
@media (min-width: 991px) {
		.slider-container {
				height: 100vh !important;
		}
		.slider-container .slider {
				height: 100vh !important;
		}
}

@media (max-width: 767px) {
		.slider-container .btn {
				font-size: 12px !important;
		}
}

.custom-page-header {
		padding: 120px 0 35px !important;
}

.custom-page-header h1 {
		font-size: 2em;
}

/*
* Looking For
*/
.looking-for .container {
		padding: 30px;
}

.looking-for .looking-for-box h2 {
		color: var(--light);
		line-height: 1.2;
		margin-bottom: 0;
}

@media (max-width: 991px) {
		.looking-for .looking-for-box h2 {
				font-size: 2em;
		}
}

.custom-call-to-action {
		display: block;
		border-left: 2px solid #4a8961;
		padding-left: 10px;
}

.custom-call-to-action span:nth-child(2) {
		display: block;
		font-size: 17.6px;
		font-size: 1.1rem;
}

.custom-call-to-action.white-border {
		border-color: var(--light) !important;
}

@media (max-width: 991px) {
		.custom-call-to-action span:nth-child(2) {
				font-size: 1rem;
		}
}

@media (max-width: 767px) {
		.custom-call-to-action span:nth-child(2) {
				font-size: 1.2rem;
		}
}

.custom-content-grid:before {
		content: '';
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		box-shadow: 0px 0px 97px 70px rgba(152, 152, 152, 0.1);
		transform: translate(-50%, -50%);
}

.custom-content-grid .content-grid-item:before {
		left: 0px;
}

.custom-content-grid .content-grid-item:after {
		z-index: 1;
}

.custom-content-grid .counters .counter {
		margin-left: 80px;
		text-align: left;
}

.custom-content-grid .counters .counter.margin-style-2 {
		margin-left: 55px;
}

.custom-content-grid .counters .counter .counter-icon {
		float: left;
		margin-left: -50px;
		margin-top: 8px;
}

.custom-content-grid .counters .counter label {
		font-weight: normal;
		letter-spacing: -1px;
		color: #1e1e24;
}

.custom-content-grid .counters strong {
		font-size: 45px;
}

@media (max-width: 991px) {
		.custom-content-grid:before {
				content: none;
		}
		.custom-content-grid .counters .counter.custom-sm-counter-style {
				margin-left: 0;
				text-align: center;
				padding-left: 40px;
		}
		.custom-content-grid .counters .counter.custom-sm-counter-style.margin-style-2 {
				margin-left: 0;
		}
		.custom-content-grid .counters .counter.custom-sm-counter-style .counter-icon {
				float: none;
				margin-left: 0;
				position: absolute;
				top: 50px;
				left: 17%;
		}
}

.list.list-icons.list-icons-style-3 li > .fa:first-child,
.list.list-icons.list-icons-style-3 li > .icons:first-child,
.list.list-icons.list-icons-style-3 li a:first-child > .fa:first-child,
.list.list-icons.list-icons-style-3 li a:first-child > .icons:first-child {
		font-size: 0.7em;
		padding: 10px;
		padding-top: 8px;
}

/*
* Expertise
*/
.feature-box.custom-feature-box {
		margin-bottom: 19.2px;
		margin-bottom: 1.2rem;
}

.feature-box.custom-feature-box.custom-feature-box-active .feature-box-icon, .feature-box.custom-feature-box:hover .feature-box-icon {
		box-shadow: 0px 0px 40px 4px rgba(200, 200, 200, 0.5);
}

.feature-box.custom-feature-box.custom-feature-box-active .feature-box-icon img, .feature-box.custom-feature-box:hover .feature-box-icon img {
		transform: translate3d(-50%, -50%, 0) scale(1.1);
}

.feature-box.custom-feature-box .feature-box-icon {
		flex: 0 0 auto;
		background: transparent;
		width: 100px;
		position: relative;
		height: 100px;
		border: 6px solid #FFF;
		border-radius: 100%;
		padding: 5px;
		margin-top: 0;
		overflow: hidden;
		z-index: 1;
		transition: ease box-shadow 300ms;
}

.feature-box.custom-feature-box .feature-box-icon img {
		position: absolute;
		width: 113%;
		top: 50%;
		left: 50%;
		z-index: 0;
		transform: translate3d(-50%, -50%, 0) scale(1);
		transition: ease transform 300ms;
}

@media (max-width: 991px) {
		.col-md-12 .feature-box.feature-box-style-2.custom-feature-box .feature-box-info {
				padding-left: 115px;
		}
}

/*
* Our Strategy
*/
.custom-step-item .step {
		position: relative;
		text-align: center;
		clear: both;
		position: absolute;
		top: 0;
		left: 0;
		font-weight: 600;
}

.custom-step-item .step:before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		right: -20px;
		height: 63px;
		border-left: 1px solid #e4e4e4;
}

.custom-step-item .step .step-number {
		display: block;
		font-size: 3em;
		font-weight: 700;
		letter-spacing: -4px;
		line-height: 1;
}

.custom-step-item .step-content {
		margin-left: 80px;
}

.owl-carousel.numbered-dots .owl-dots {
		display: inline-block;
		counter-reset: dots;
		margin-left: 70px;
}

.owl-carousel.numbered-dots button.owl-dot span {
		width: 30px;
		height: 30px;
}

.owl-carousel.numbered-dots button.owl-dot span:before {
		counter-increment: dots;
		content: counter(dots);
		color: #245432;
		font-weight: bold;
		line-height: 2.2;
}

.owl-carousel.numbered-dots button.owl-dot.active span:before, .owl-carousel.numbered-dots button.owl-dot:hover span:before {
		color: var(--light);
}

.owl-carousel.numbered-dots button.owl-dot:hover {
		opacity: 0.5;
}

.owl-carousel.owl-theme button.owl-dot span {
		background: #eef4f2;
}

/*
* Frequently Asked Questions
*/
.custom-accordion-style-1 .card {
		position: relative;
		margin-top: 0 !important;
		border-right: 0;
		border-bottom: 0;
		border-top: 0;
		box-shadow: none;
		border-radius: 0 !important;
}

.custom-accordion-style-1 .card:last-child {
		border-bottom: 1px solid #e4e4e4;
}

.custom-accordion-style-1 .card .card-header {
		margin: 0;
}

.custom-accordion-style-1 .card .card-title > a {
		font-size: 14px !important;
}

.custom-accordion-style-1 .card .card-title > a.accordion-toggle {
		color: #4dbb6d;
		border-bottom: 1px solid #e4e4e4;
}

.custom-accordion-style-1 .card .card-title > a.accordion-toggle:before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		height: 100%;
		border-left: 1px solid #4dbb6d;
}

.custom-accordion-style-1 .card .card-title > a.accordion-toggle .custom-accordion-plus:after {
		border-top: 2px solid #4dbb6d;
		transform: translate(-50%, -50%) rotate(0deg);
}

.custom-accordion-style-1 .card .card-title > a.collapsed {
		color: #1e1e24 !important;
		border-bottom: 0;
}

.custom-accordion-style-1 .card .card-title > a.collapsed:before {
		content: none;
}

.custom-accordion-style-1 .card .card-title > a.collapsed .custom-accordion-plus:after {
		border-top: 2px solid #1e1e24;
		transform: translate(-50%, -50%) rotate(90deg);
}

.custom-accordion-style-1 .card .card-title > a .custom-accordion-plus {
		position: absolute;
		top: 23px;
		right: 15px;
		width: 15px;
}

.custom-accordion-style-1 .card .card-title > a .custom-accordion-plus:before, .custom-accordion-style-1 .card .card-title > a .custom-accordion-plus:after {
		content: '';
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		width: 100%;
		border-top: 2px solid #1e1e24;
		transform: translate(-50%, -50%);
		transition: ease all 300ms;
}

.custom-accordion-style-1 .card .card-body {
		padding: 15px 15px 35px;
}

/*
* Our Cases
*/
.thumb-info.custom-thumb-info-style-1 {
		border: none;
}

.thumb-info.custom-thumb-info-style-1:hover .thumb-info-caption {
		background: #4dbb6d !important;
}

.thumb-info.custom-thumb-info-style-1:hover .thumb-info-caption .custom-thumb-info-title span {
		color: var(--light) !important;
}

.thumb-info.custom-thumb-info-style-1:hover .thumb-info-caption .custom-arrow {
		width: 55px;
}

.thumb-info.custom-thumb-info-style-1:hover .thumb-info-caption .custom-arrow:before {
		border-top: 1px solid #FFF;
}

.thumb-info.custom-thumb-info-style-1:hover .thumb-info-caption .custom-arrow:after {
		border-top: 1px solid #FFF;
		border-right: 1px solid #FFF;
}

.thumb-info.custom-thumb-info-style-1 .thumb-info-caption {
		position: relative;
		padding: 25px;
		display: block;
		transition: ease background 300ms, ease width 300ms;
}

.thumb-info.custom-thumb-info-style-1 .thumb-info-caption .custom-thumb-info-title span {
		color: var(--default);
}

.thumb-info.custom-thumb-info-style-1 .thumb-info-caption .custom-thumb-info-title .custom-thumb-info-name {
		display: block;
}

.thumb-info.custom-thumb-info-style-1 .thumb-info-caption .custom-arrow {
		position: absolute;
		top: 50%;
		right: 25px;
		width: 40px;
		transform: translateY(-50%);
		transition: ease all 300ms;
}

.thumb-info.custom-thumb-info-style-1 .thumb-info-caption .custom-arrow:before {
		content: '';
		display: block;
		position: absolute;
		top: 50%;
		right: -2px;
		width: 100%;
		border-top: 1px solid #1e1e24;
		transform: translateY(-50%);
}

.thumb-info.custom-thumb-info-style-1 .thumb-info-caption .custom-arrow:after {
		content: '';
		display: block;
		position: absolute;
		top: 50%;
		right: 0;
		width: 15px;
		height: 15px;
		border-top: 1px solid #1e1e24;
		border-right: 1px solid #1e1e24;
		transform: translateY(-50%) rotate(45deg);
}

.owl-carousel.custom-both-sides-shadow .owl-stage-outer:before, .owl-carousel.custom-both-sides-shadow .owl-stage-outer:after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		height: 100%;
		box-shadow: 0px 0px 140px 220px rgba(255, 255, 255, 0.8);
		z-index: 1;
		transition: ease opacity 300ms;
}

.owl-carousel.custom-both-sides-shadow .owl-stage-outer:after {
		left: auto;
		right: 0;
}

.owl-carousel.custom-both-sides-shadow .owl-stage-outer:hover:before, .owl-carousel.custom-both-sides-shadow .owl-stage-outer:hover:after {
		opacity: 0;
}

.owl-carousel.custom-dots-style-1 .owl-dots {
		margin-top: 30px;
}

.owl-carousel.custom-dots-style-1 button.owl-dot span {
		width: 12px;
		height: 12px;
		border: 2px solid black;
		background: transparent !important;
}

.owl-carousel.custom-dots-style-1 button.owl-dot.active span, .owl-carousel.custom-dots-style-1 button.owl-dot:hover span {
		position: relative;
		border: 2px solid #4dbb6d;
		background: transparent;
}

.owl-carousel.custom-dots-style-1 button.owl-dot.active span:before, .owl-carousel.custom-dots-style-1 button.owl-dot:hover span:before {
		content: '';
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		width: 3px;
		height: 3px;
		border-radius: 100%;
		background: #4dbb6d;
		transform: translate3d(-50%, -50%, 0);
}

.owl-carousel.custom-dots-style-1 button.owl-dot:hover {
		opacity: 0.5;
}

@media (max-width: 991px) {
		.owl-carousel.custom-both-sides-shadow .owl-stage-outer:before, .owl-carousel.custom-both-sides-shadow .owl-stage-outer:after {
				box-shadow: none;
		}
}

/*
* Testimonials
*/
.custom-rounded-image {
		border-radius: 100%;
}

.testimonial.custom-testimonial-style-1 blockquote {
		background: transparent;
		padding: 40px 20px 40px 0px;
}

.testimonial.custom-testimonial-style-1 blockquote:before {
		left: 0;
		font-size: 60px;
		color: #1e1e24;
}

.testimonial.custom-testimonial-style-1 blockquote:after {
		font-size: 60px;
		color: #1e1e24;
}

.testimonial.custom-testimonial-style-1 blockquote p {
		color: var(--default);
		font-family: "Sintony", sans-serif;
		font-style: normal;
		font-size: 1em;
		line-height: 1.8;
		padding: 0px;
}

.testimonial.custom-testimonial-style-1 .testimonial-author p {
		position: relative;
		margin: 0;
}

.testimonial.custom-testimonial-style-1 .testimonial-author p:before {
		content: '';
		display: block;
		position: absolute;
		top: -10px;
		left: 0;
		width: 18px;
		border-top: 2px solid #1e1e24;
}

/*
* Our Team
*/
.team-item {
		padding: 0px 10px;
}

.team-item:hover .image-wrapper img {
		transform: scale(1.1);
}

.team-item .image-wrapper {
		display: block;
		overflow: hidden;
}

.team-item .image-wrapper img {
		transition: ease transform 300ms;
}

.team-item .team-infos {
		position: relative;
		background: var(--light);
		padding: 25px;
}

.team-item .team-infos .share {
		position: absolute;
		bottom: calc(100% - 22px);
		right: 15px;
		width: 42px;
		overflow: hidden;
		z-index: 1;
		transition: ease height 300ms;
}

.team-item .team-infos .share:hover .share-icons {
		transform: translateY(0);
}

.team-item .team-infos .share:hover i.fa-share-alt {
		background: #4dbb6d;
}

.team-item .team-infos .share:after {
		content: '';
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		background: var(--light);
		width: 100%;
		height: 22px;
}

.team-item .team-infos .share .share-icons {
		text-align: center;
		padding-bottom: 42px;
		border-radius: 50px;
		transform: translateY(100%);
		transition: ease transform 300ms;
}

.team-item .team-infos .share i {
		display: block;
		color: var(--light);
		padding: 15px;
		opacity: 0.5;
		transition: ease opacity 300ms;
}

.team-item .team-infos .share i.fa-share-alt {
		position: absolute;
		background: #58605a;
		bottom: 0;
		left: 0;
		border-radius: 50px;
		opacity: 1;
		z-index: 1;
}

.team-item .team-infos .share i.fa-facebook-f {
		color: #4d70a8;
}

.team-item .team-infos .share i.fa-instagram {
		color: #964b00;
}

.team-item .team-infos .share i.fa-linkedin-in {
		color: #0077b5;
}

.team-item .team-infos .share i:hover {
		opacity: 1;
}

.team-item .team-infos .team-member-desc {
		display: block;
		color: var(--default);
}

/*
* Our Blog
*/
article.blog-post .blog-post-image-wrapper img {
		max-width: 95%;
}

article.blog-post .blog-post-image-wrapper .blog-post-date {
		position: absolute;
		top: 65%;
		right: 10px;
		font-size: 3em;
		text-align: center;
		line-height: 1;
		padding: 25px 15px;
		transform: translateY(-50%);
}

article.blog-post .blog-post-image-wrapper .blog-post-date .month-year {
		display: block;
		font-size: 0.4em;
}

/*
* Contact Us
*/
.custom-call-to-action-2 .info {
		display: block;
}

.custom-social-icons-style-1 li {
		border: 2px solid #FFF;
}

.custom-social-icons-style-1 li a {
		background: transparent;
		color: var(--light) !important;
}

.custom-contact-form-style-1 .custom-input-box {
		position: relative;
}

.custom-contact-form-style-1 .custom-input-box .icons {
		position: absolute;
		top: 16px;
		left: 16px;
		font-size: 1.3em;
}

.custom-contact-form-style-1 .custom-input-box .form-control {
		border-radius: 2px;
		height: 50px;
		padding-left: 50px;
}

.custom-contact-form-style-1 .custom-input-box textarea.form-control {
		padding-top: 14px;
		height: 0;
		min-height: 130px;
}

/*
* Footer
*/
#footer {
		background: #1A1E2A;
		border-top: 1px solid #3c3e49;
		margin-top: 0;
		padding: 20px 0 0;
}

#footer p {
		color: #a8b1b8;
		margin-bottom: 0;
}

/* Skin */
.dropdown-menu > li > a i {
		color: var(--primary);
}

html #header.header-semi-transparent .header-body:before, html #header.header-semi-transparent-light .header-body:before {
		background: var(--quaternary);
}

@media (min-width: 992px) {
		/* Nav activo en color secondary (visible sobre header oscuro; primary es demasiado oscuro) */
		#header .header-nav-main.header-nav-main-square nav > ul > li.active > a {
				color: var(--secondary, #07f2b0) !important;
		}
		#header .header-nav-main.header-nav-main-square nav > ul > li.active > a.dropdown-toggle::after {
				border-color: var(--secondary, #07f2b0) transparent transparent !important;
		}
		#header .header-nav-main.header-nav-main-square nav > ul > li:hover > a {
				color: var(--primary) !important;
		}
		#header .header-nav-main.header-nav-main-square nav > ul > li:hover > a.dropdown-toggle::after {
				border-color: var(--primary) transparent transparent !important;
		}
}

.btn-primary.active:not([disabled]):not(.disabled),
.btn-primary:active:not([disabled]):not(.disabled),
.show > .btn-primary.dropdown-toggle {
		background-color: var(--primary);
		border-color: var(--primary);
		box-shadow: 0 0 0 0.2rem var(--primary-rgba-50);
}

.tp-leftarrow.custom-arrows-style-1, .tp-rightarrow.custom-arrows-style-1 {
		background: var(--quaternary-rgba-50);
}

.tp-leftarrow.custom-arrows-style-1:hover, .tp-rightarrow.custom-arrows-style-1:hover {
		background: var(--quaternary-rgba-90);
}

.custom-call-to-action {
		border-color: var(--primary);
}

@media (max-width: 991px) {
		.custom-position-1 {
				background-color: var(--quaternary);
		}
}

.custom-accordion-style-1 .card .card-title > a.accordion-toggle:not(.collapsed) {
		color: var(--primary);
}

.custom-accordion-style-1 .card .card-title > a.accordion-toggle:not(.collapsed):before {
		border-color: var(--primary);
}

.custom-accordion-style-1 .card .card-title > a.accordion-toggle:not(.collapsed) .custom-accordion-plus:after {
		border-color: var(--primary);
}

.custom-accordion-style-1 .card .card-title > a .custom-accordion-plus:after {
		border-color: var(--primary);
}

.thumb-info.custom-thumb-info-style-1:hover .thumb-info-caption {
		background-color: var(--primary) !important;
}

.owl-carousel.custom-dots-style-1 button.owl-dot.active span, .owl-carousel.custom-dots-style-1 button.owl-dot:hover span {
		border-color: var(--primary);
}

.owl-carousel.custom-dots-style-1 button.owl-dot.active span:before, .owl-carousel.custom-dots-style-1 button.owl-dot:hover span:before {
		background-color: var(--primary);
}

.team-item .team-infos .share:hover i.fa-share-alt {
		background-color: var(--primary);
}

.owl-carousel.custom-arrows-style-2 .owl-nav button.owl-prev:before, .owl-carousel.custom-arrows-style-2 .owl-nav button.owl-next:before, .owl-carousel.custom-xs-arrows-style-2 .owl-nav button.owl-prev:before, .owl-carousel.custom-xs-arrows-style-2 .owl-nav button.owl-next:before {
		border-color: var(--primary);
}

.owl-carousel.custom-arrows-style-2 .owl-nav button.owl-prev:after, .owl-carousel.custom-arrows-style-2 .owl-nav button.owl-next:after, .owl-carousel.custom-xs-arrows-style-2 .owl-nav button.owl-prev:after, .owl-carousel.custom-xs-arrows-style-2 .owl-nav button.owl-next:after {
	border-color: var(--primary);
}

/*
* About Us Section (barber-style layout)
*/
@media (max-width: 575px) {
	.custom-mobile-scale-1 {
		transform: scale(0.6);
	}
}

@keyframes lineProgressAndFill {
	0% {
		stroke-dasharray: 1440;
		stroke-dashoffset: 1440;
		fill-opacity: 0;
	}
	75% {
		fill-opacity: 0.5;
	}
	90% {
		stroke-dasharray: 1440;
		stroke-dashoffset: 0;
		fill-opacity: 0.5;
	}
	100% {
		stroke-dasharray: 1440;
		stroke-dashoffset: 0;
		fill-opacity: 1;
	}
}

.lineProgressAndFill {
	animation-name: lineProgressAndFill;
}

.custom-side-dots {
	position: relative;
	padding-left: 19.2px;
	padding-left: 1.2rem;
	padding-right: 19.2px;
	padding-right: 1.2rem;
}

.custom-side-dots:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	background-color: var(--primary);
	width: 8px;
	height: 8px;
	border-radius: 100%;
	transform: translate3d(0, -50%, 0);
}

.custom-side-dots:after {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	background-color: var(--primary);
	width: 8px;
	height: 8px;
	border-radius: 100%;
	transform: translate3d(0, -50%, 0);
}

.custom-side-dots.custom-side-dots-rm-right {
	padding-right: 0;
}

.custom-side-dots.custom-side-dots-rm-right:after {
	content: none;
}

.custom-images-position-1 div:nth-child(2) {
	transform: translate3d(-50%, -30%, 0);
}

.custom-images-position-1 div:nth-child(3) {
	transform: translate3d(76%, 30%, 0);
}

.custom-images-position-1 div:nth-child(4) {
	transform: translate3d(-13%, 147%, 0);
}

.custom-blockquote-style-1 {
	position: relative;
	border: 0;
	padding: 0.5rem 2.8rem;
}

.custom-blockquote-style-1:before {
	content: "\201C";
	position: absolute;
	left: -2px;
	top: -24px;
	font-size: 75px;
	font-style: normal;
	font-family: 'Playfair Display', sans-serif;
	line-height: 1;
	color: var(--default);
}

.custom-blockquote-style-1 p {
	font-family: 'Playfair Display', sans-serif;
	font-size: 1.3rem;
	line-height: 1.6;
}

.svg-primary circle {
	stroke: var(--primary);
	fill: var(--primary);
}

/*
* About Page - Finance-style sections
*/
.custom-overlay-opacity-95:before {
	opacity: 0.95 !important;
}

.process.custom-process .process-step .process-step-circle {
	width: 115px;
	height: 115px;
}

.process.custom-process .process-step:hover .process-step-circle .process-step-circle-content svg path,
.process.custom-process .process-step:hover .process-step-circle .process-step-circle-content svg polyline,
.process.custom-process .process-step:hover .process-step-circle .process-step-circle-content svg line {
	stroke: #FFF !important;
}

.process.custom-process .process-step:hover .process-step-circle .process-step-circle-content svg[data-filename="people.svg"] path,
.process.custom-process .process-step:hover .process-step-circle .process-step-circle-content svg[data-filename="people.svg"] polyline,
.process.custom-process .process-step:hover .process-step-circle .process-step-circle-content svg[data-filename="people.svg"] line {
	stroke: inherit !important;
	fill: #FFF !important;
}

@media (min-width: 992px) {
	.process .process-step:before {
		background-color: #d6dde5;
	}
}

/* Progress bars: track background + initial width 0 for appear animation */
.custom-progress-bars-style-1 .progress {
	background-color: rgba(255, 255, 255, 0.3);
}
.custom-progress-bars-style-1 .progress-bar[data-appear-progress-animation] {
	width: 0;
	min-width: 0;
	transition: none;
}

#footer p, #footer span, #footer li, #footer a:not(.btn):not(.no-footer-css) {
	color: #888888;
}

#footer p:hover, #footer span:hover, #footer li:hover, #footer a:not(.btn):not(.no-footer-css):hover {
	color: var(--primary);
}

#footer .footer-copyright p {
	color: #888888;
}

/* Hero principal: ritmo vertical y escala tipográfica unificados */
:root {
	--hero-space-unit: 1rem;
	--hero-space-sm: calc(var(--hero-space-unit) * 0.5);   /* 0.5rem */
	--hero-space-md: var(--hero-space-unit);               /* 1rem */
	--hero-space-lg: calc(var(--hero-space-unit) * 1.5);   /* 1.5rem */
	--hero-space-xl: calc(var(--hero-space-unit) * 2);     /* 2rem */
	--hero-text-sm: 0.875rem;   /* texto secundario y labels */
	--hero-text-md: 1rem;       /* nombres partners */
	--hero-text-lg: 1.125rem;   /* opcional: partners un poco más grande */
}
.hero-main {
	height: 100vh;
	min-height: 560px;
	position: relative;
	overflow: hidden;
}
/* Radial green glow — identidad de marca Gemafi */
.hero-main::after {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 70% 60% at 85% 110%, rgba(7, 242, 176, 0.18) 0%, rgba(7, 242, 176, 0.06) 40%, transparent 70%);
	pointer-events: none;
	z-index: 1;
}
.hero-main > * { position: relative; z-index: 2; }
.hero-main .hero-headline {
	font-weight: 300;
	line-height: 1.1;
	letter-spacing: -0.035em;
	font-size: clamp(2.5rem, 4.5vw + 1rem, 4rem);
	margin-bottom: var(--hero-space-lg);
}
.hero-main .hero-headline strong {
	font-weight: 800;
	display: block;
}
.hero-main .hero-cta-block {
	margin-bottom: var(--hero-space-md);
}
.hero-main .hero-subpoints-wrap {
	margin-bottom: var(--hero-space-lg);
}
.hero-main .hero-subpoints {
	font-size: var(--hero-text-sm);
	line-height: 1.4;
}
.hero-main .hero-subpoints .hero-subpoints-item + .hero-subpoints-item {
	margin-top: var(--hero-space-sm);
}
.hero-main .hero-partners-label {
	font-size: var(--hero-text-sm);
	letter-spacing: 0.15em;
	margin-bottom: var(--hero-space-sm);
}
.hero-main .hero-partners-logos {
	display: flex;
	align-items: center;
	gap: var(--hero-space-lg);
	flex-wrap: wrap;
}
.hero-main .hero-partner-logo {
	height: 2rem;
	width: auto;
	max-width: 120px;
	object-fit: contain;
	opacity: 0.9;
}
.hero-main .hero-partner-logo.hero-partner-logo--large {
	height: 2.75rem;
	max-width: 160px;
}
/* Si el logo es SVG de un color y debe verse blanco en el hero: añadir clase hero-partner-logo-light */
.hero-main .hero-partner-logo.hero-partner-logo-light {
	filter: brightness(0) invert(1);
}
.hero-main .hero-symbol-col {
	padding-top: 0;
}
.hero-main .hero-symbol-img {
	max-width: 85%;
	max-height: 55vh;
	object-fit: contain;
}
.hero-main .hero-partners-block {
	margin-top: var(--hero-space-xl);
	padding-top: var(--hero-space-lg);
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}
/* Legacy — ya no se usa en el nuevo layout */
.hero-main .hero-foot-wrap {
	padding-top: var(--hero-space-xl);
	padding-bottom: var(--hero-space-xl);
}
.hero-main .hero-foot-note {
	font-size: var(--hero-text-sm);
	line-height: 1.5;
	max-width: 42em;
}
@media (min-width: 992px) {
	.hero-main .hero-content-col {
		padding-top: var(--hero-space-sm);
		padding-bottom: var(--hero-space-sm);
	}
}
@media (max-width: 991px) {
	.hero-main {
		min-height: 100vh;
	}
	.hero-main .hero-headline {
		font-size: clamp(2rem, 8vw, 2.75rem);
	}
}

/*
* Welcome: 4 secciones a altura completa de viewport
*/
/*
 * Aboutus (Section 2): piedra siempre abajo/derecha usando position,
 * independiente del responsive.
 */
.welcome-aboutus-stone {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 2;
	background-repeat: no-repeat;
	background-position: left bottom;
	/* La altura depende del ancho (aspect-ratio). En mobile, reducimos este width. */
	width: 110%;
	aspect-ratio: 4 / 3;
	background-size: 100% 100%;
	pointer-events: none;
}

.welcome-aboutus-gradient-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(90deg, rgba(131, 134, 135, 1) 0%, rgba(97, 97, 97, 1) 50%, rgba(20, 20, 20, 1) 99%);
}

@media (max-width: 991px) {
	.welcome-aboutus-stone {
		/* En tablet/celular grande: 120% de ancho y 120% de alto (cuadrado) */
		width: 120%;
		aspect-ratio: 1 / 1;
	}
}

@media (max-width: 480px) {
	.welcome-aboutus-stone {
		/* Dispositivos muy pequeños: un "exagero" controlado */
		/* 150% por 150% (cuadrado proporcional) */
		width: 150%;
		aspect-ratio: 1 / 1;
		height: auto;
	}
}
.welcome-section-fullheight {
	min-height: 100vh;
}
.welcome-section-fullheight .container-fluid.h-100 {
	min-height: 100%;
}

/*
* Sección Finanzas: gradiente verde fluor → negro con efecto blur
* !important para sobrescribir section.section { background: var(--grey-100) }
*/
section.section.welcome-section-finanzas {
	position: relative;
	background: linear-gradient(to top, var(--secondary) 0%, #069970 20%, #034d38 40%, #022a1f 60%, #011510 80%, #000 100%) !important;
	border-top-color: transparent !important;
	overflow: hidden;
}
section.section.welcome-section-finanzas::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 120% 80% at 50% 100%, var(--secondary-rgba-20) 0%, transparent 50%);
	pointer-events: none;
}
section.section.welcome-section-finanzas .welcome-finanzas-steps li {
	color: var(--light);
	font-size: 1.1rem;
	padding: 0.75rem 1.25rem;
	border: 1.5px solid var(--secondary);
	border-radius: 8px;
	transition: background-color 0.3s ease, border-color 0.3s ease;
}
section.section.welcome-section-finanzas .welcome-finanzas-steps li:hover {
	background-color: var(--secondary-rgba-20);
	border-color: var(--secondary);
}

/*
* Sección evolución + contacto: sin franjas/gaps entre secciones
* Main oscuro en welcome para que cualquier espacio residual no se vea como franja clara
*/
html.demo-business-consulting .main:has(.welcome-section-contact) {
	background-color: var(--dark) !important;
}
section.section.welcome-section-evolution {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
	border-bottom: none !important;
}
.welcome-section-contact {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	/* padding-top: 90px !important; */
	padding-bottom: 0 !important;
	background-color: var(--dark) !important;
	scroll-margin-top: 90px;
}
.welcome-section-contact .section.section {
	margin: 0 !important;
	padding: 0 !important;
	border-top: none !important;
}
@media (max-width: 1199px) {
	.welcome-section-contact {
		margin-top: 0 !important;
		/* padding-top: 80px !important; */
		scroll-margin-top: 80px;
	}
}
@media (max-width: 767px) {
	.welcome-section-contact {
		/* padding-top: 100px !important; */
		scroll-margin-top: 100px;
	}
}
/* Footer pegado a contacto, sin franja */
html.demo-business-consulting #footer .container:first-of-type {
	margin-top: 0 !important;
	padding-top: 1.5rem !important;
}

/*
* About Hero / Contact Hero
*/
.about-hero {
	min-height: 55vh;
}

.contact-hero {
	min-height: 45vh;
}

/*
* About: process steps en dark bg
*/
@media (min-width: 992px) {
	.about-pillars-dark .process-step:before {
		background-color: var(--secondary-rgba-20);
	}
}

.about-pillars-dark .process-step-circle {
	background-color: var(--primary) !important;
	border-color: var(--secondary) !important;
}

.about-pillars-dark .process-step:hover .process-step-circle {
	background-color: var(--secondary) !important;
}

.about-pillars-dark .process-step:hover .process-step-circle .process-step-circle-content img {
	filter: brightness(0);
}

/*
* About: team cards hover zoom
*/
.about-team-card {
	transition: box-shadow 0.3s ease;
}

.about-team-card:hover {
	box-shadow: 0 0 30px var(--secondary-rgba-20);
}

.about-team-card-overflow {
	overflow: hidden;
}

.about-team-card-overflow .about-team-card-img {
	transition: transform 0.4s ease;
	width: 100%;
	display: block;
}

.about-team-card:hover .about-team-card-overflow .about-team-card-img {
	transform: scale(1.05);
}

/*
* SVG secondary color (process icons en dark sections)
*/
.svg-stroke-color-secondary svg path,
.svg-stroke-color-secondary svg polyline,
.svg-stroke-color-secondary svg line,
.svg-stroke-color-secondary svg rect,
.svg-stroke-color-secondary svg circle {
	stroke: var(--secondary) !important;
}

.svg-fill-color-secondary svg path,
.svg-fill-color-secondary svg circle {
	fill: var(--secondary) !important;
}

/*
* Contact page: dark form + info columns
*/
.contact-form-dark-col {
	padding: 80px 70px 80px 80px;
	min-height: 100%;
	background: var(--primary--100);
}

.contact-info-dark-col {
	padding: 80px 60px 80px 70px;
	min-height: 100%;
	background: var(--dark);
	border-left: 1px solid var(--secondary-rgba-10);
}

@media (max-width: 1199px) {
	.contact-form-dark-col,
	.contact-info-dark-col {
		padding: 60px 50px;
	}
}

@media (max-width: 991px) {
	.contact-form-dark-col,
	.contact-info-dark-col {
		padding: 50px 30px;
	}

	.contact-info-dark-col {
		border-left: none;
		border-top: 1px solid var(--secondary-rgba-20);
	}
}

/*
* ─────────────────────────────────────────────────────────
* GEMAFI UI SYSTEM — Robinhood × Gemafi Brand
* Tipografía Inter, paleta #060d0c / #07f2b0, degradados de marca
* ─────────────────────────────────────────────────────────
*/

/*
* Eyebrow labels — uppercase, verde menta, tracking amplio
* Uso: <span class="gf-eyebrow">NUESTROS SERVICIOS</span>
*/
.gf-eyebrow {
	display: inline-block;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--secondary);
	line-height: 1;
}

/*
* Separador de acento — línea corta verde menta alineada a la izquierda
*/
.gf-divider {
	display: block;
	width: 2.5rem;
	height: 2px;
	background: var(--secondary);
	border: none;
	margin: 0.75rem 0 0;
}
.gf-divider--center {
	margin-left: auto;
	margin-right: auto;
}

/*
* Sección Servicios — fondo blanco puro, ritmo limpio
*/
.gf-services-section {
	background: #ffffff;
	padding: 7rem 0;
}

.gf-services-section .gf-service-card {
	background: #ffffff;
	border-radius: 4px;
	border: 1px solid #f0f0f0;
	border-left: 3px solid transparent;
	padding: 2.5rem 2rem;
	height: 100%;
	transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.gf-services-section .gf-service-card:hover {
	border-left-color: var(--secondary);
	box-shadow: 0 4px 32px rgba(7, 242, 176, 0.08);
	transform: translateY(-2px);
}

.gf-services-section .gf-service-card .gf-card-eyebrow {
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--secondary);
	display: block;
	margin-bottom: 0.6rem;
}

.gf-services-section .gf-service-card h4 {
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: #060d0c;
	margin-bottom: 0.75rem;
	line-height: 1.25;
}

.gf-services-section .gf-service-card p {
	font-size: 0.9rem;
	line-height: 1.7;
	color: #555;
	margin-bottom: 1.25rem;
}

.gf-services-section .gf-service-card .gf-card-link {
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--secondary);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	transition: gap 0.2s ease;
}

.gf-services-section .gf-service-card .gf-card-link:hover {
	gap: 0.7rem;
}

.gf-services-section .gf-section-cta .btn {
	border-radius: 50px;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 0.75rem 2.5rem;
	border: 1.5px solid #060d0c;
	color: #060d0c;
	background: transparent;
	transition: background 0.25s ease, color 0.25s ease;
}

.gf-services-section .gf-section-cta .btn:hover {
	background: #060d0c;
	color: #fff;
}

/*
* Evolution section — glass cards sobre overlay oscuro
*/
.welcome-section-evolution .gf-glass-card {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 6px;
	padding: 2rem 1.75rem;
	height: 100%;
	transition: background 0.3s ease, border-color 0.3s ease;
}

.welcome-section-evolution .gf-glass-card:hover {
	background: rgba(7, 242, 176, 0.06);
	border-color: rgba(7, 242, 176, 0.3);
}

.welcome-section-evolution .gf-glass-card .gf-card-eyebrow {
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--secondary);
	display: block;
	margin-bottom: 0.5rem;
	opacity: 0.85;
}

.welcome-section-evolution .gf-glass-card h5 {
	font-size: 1.1rem;
	font-weight: 700;
	color: #fff;
	margin-bottom: 0.75rem;
	letter-spacing: -0.01em;
}

.welcome-section-evolution .gf-glass-card p {
	font-size: 0.875rem;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.65);
	margin-bottom: 0;
}

/*
* CTA buttons globales — estilo pill Gemafi
*/
.btn-gemafi-primary {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: var(--secondary);
	color: #060d0c;
	border: none;
	border-radius: 50px;
	font-family: Arial, Helvetica, sans-serif !important;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 0.75rem 2rem;
	text-decoration: none;
	transition: background 0.25s ease, transform 0.2s ease;
}

.btn-gemafi-primary:hover {
	background: var(--secondary--100);
	color: #060d0c;
	transform: translateY(-1px);
}

.btn-gemafi-outline {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: transparent;
	color: var(--secondary);
	border: 1.5px solid var(--secondary);
	border-radius: 50px;
	font-family: Arial, Helvetica, sans-serif !important;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 0.75rem 2rem;
	text-decoration: none;
	transition: background 0.25s ease, color 0.25s ease;
}

.btn-gemafi-outline:hover {
	background: var(--secondary);
	color: #060d0c;
}

/*
* Sección con radial green glow de marca (reutilizable)
*/
.gf-dark-glow {
	position: relative;
	background: #060d0c;
	overflow: hidden;
}

.gf-dark-glow::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 80% 70% at 90% 110%, rgba(7, 242, 176, 0.12) 0%, rgba(7, 242, 176, 0.04) 40%, transparent 65%);
	pointer-events: none;
	z-index: 0;
}

.gf-dark-glow > * {
	position: relative;
	z-index: 1;
}

/*
* Finanzas section: glow adicional más pronunciado
*/
section.section.welcome-section-finanzas.gf-dark-glow::before {
	background: radial-gradient(ellipse 100% 80% at 50% 100%, rgba(7, 242, 176, 0.22) 0%, rgba(7, 242, 176, 0.08) 35%, transparent 60%);
}

/*
* Sección "Nuestros Ejes Centrales" — título y separador
*/
.welcome-section-evolution .gf-section-header h4 {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--secondary);
}

/*
* Mobile hero adjustments
*/
@media (max-width: 991px) {
	.hero-main .hero-headline {
		font-size: clamp(2.25rem, 9vw, 3rem);
		letter-spacing: -0.025em;
	}
	.gf-services-section {
		padding: 5rem 0;
	}
	.gf-services-section .gf-service-card {
		padding: 1.75rem 1.5rem;
	}
}

/*
* ─────────────────────────────────────────────────────────
* STICKY STACK CARDS — Instrumentos de inversión
* Inspirado en Cocos Capital × adaptado a identidad Gemafi
* ─────────────────────────────────────────────────────────
*/

/* Header de la sección */
.sc-section {
	background: #060d0c;
}

.sc-header {
	padding: 7rem 0 5rem;
	text-align: center;
	position: relative;
}
.sc-header::after {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 60% 80% at 50% 0%, rgba(7,242,176,0.08) 0%, transparent 60%);
	pointer-events: none;
}

.sc-title {
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 700;
	color: #fff;
	letter-spacing: -0.03em;
	line-height: 1.1;
	margin-bottom: 1.25rem;
}

.sc-title-accent {
	color: var(--secondary);
	font-weight: 700;
}

.sc-subtitle {
	font-size: 1rem;
	color: rgba(255,255,255,0.6);
	line-height: 1.7;
	max-width: 36rem;
	margin: 0 auto;
}

/* Track: contenedor de las cards */
.sc-track {
	position: relative;
}

/* Wrapper sticky de cada card: ocupa 100vh y se clava en top:0 */
.sc-item {
	height: 100vh;
	position: sticky;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 80px 1.5rem 1.5rem;
	will-change: transform;
}

/* Card visual */
.sc-card {
	border-radius: 24px;
	max-width: 1140px;
	width: 100%;
	margin: 0 auto;
	padding: 4.5rem 4rem;
	min-height: 520px;
	display: flex;
	align-items: center;
}

.sc-card--1 { background: linear-gradient(135deg, #094036 0%, #052218 100%); }
.sc-card--2 { background: linear-gradient(135deg, #0a1a28 0%, #060d0c 100%); }
.sc-card--3 { background: linear-gradient(135deg, #0c1626 0%, #060d0c 100%); }
.sc-card--4 { background: linear-gradient(135deg, #060d14 0%, #030608 100%); }

/* Número de card */
.sc-card-num {
	display: block;
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.25em;
	color: var(--secondary);
	opacity: 0.8;
	margin-bottom: 1.25rem;
}

/* Título de card */
.sc-card-title {
	font-size: clamp(2rem, 3.5vw, 3rem);
	font-weight: 800;
	color: #fff;
	letter-spacing: -0.04em;
	line-height: 1.05;
	margin-bottom: 1.25rem;
}

/* Descripción */
.sc-card-desc {
	font-size: 1rem;
	color: rgba(255,255,255,0.6);
	line-height: 1.65;
	margin-bottom: 2rem;
}

/* Checklist */
.sc-checklist {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.sc-checklist li {
	color: rgba(255,255,255,0.85);
	font-size: 0.95rem;
	padding-left: 1.75rem;
	position: relative;
	line-height: 1.4;
}
.sc-checklist li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2.5 8l4 4L13.5 4' stroke='%2307f2b0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
}

/* ── UI Mockups (right column) ── */
.sc-ui-wrap {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.sc-ui-card {
	background: rgba(255,255,255,0.97);
	border-radius: 16px;
	padding: 1.5rem 1.75rem;
	box-shadow: 0 4px 24px rgba(0,0,0,0.12);
}

.sc-ui-pill {
	display: inline-flex;
	align-items: center;
	background: rgba(255,255,255,0.08);
	color: rgba(255,255,255,0.5);
	font-size: 0.6rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	padding: 0.4rem 1rem;
	border-radius: 50px;
	border: 1px solid rgba(255,255,255,0.12);
	margin-bottom: 0.25rem;
	text-transform: uppercase;
}

.sc-ui-price {
	font-size: 2.25rem;
	font-weight: 800;
	color: var(--secondary);
	letter-spacing: -0.03em;
	line-height: 1;
	margin-bottom: 0.25rem;
}

.sc-ui-hr {
	border-color: rgba(0,0,0,0.07);
	margin: 1rem 0;
}

.sc-ui-label {
	font-size: 0.7rem;
	color: #999;
	margin-bottom: 0.3rem;
	font-weight: 500;
}

.sc-ui-amount {
	font-size: 1.5rem;
	font-weight: 700;
	color: #1a1a2e;
	letter-spacing: -0.02em;
	margin-bottom: 0.25rem;
}

.sc-ui-conversion {
	font-size: 0.95rem;
	font-weight: 600;
	color: #333;
}

.sc-ui-success {
	background: rgba(255,255,255,0.97);
	color: #059669;
	font-size: 0.9rem;
	font-weight: 600;
	border-radius: 50px;
	padding: 0.75rem 1.5rem;
	display: flex;
	align-items: center;
	box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}

/* FCI Table */
.sc-ui-table-header {
	display: grid;
	grid-template-columns: 1fr auto auto;
	gap: 1rem;
	font-size: 0.6rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #bbb;
	margin-bottom: 0.5rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid rgba(0,0,0,0.08);
}

.sc-ui-table-row {
	display: grid;
	grid-template-columns: 1fr auto auto;
	gap: 1rem;
	align-items: center;
	padding: 0.85rem 0;
	border-bottom: 1px solid rgba(0,0,0,0.06);
}

.sc-ui-fund-name {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}
.sc-ui-fund-name strong { font-size: 0.9rem; color: #1a1a2e; font-weight: 700; }
.sc-ui-fund-name small  { font-size: 0.72rem; color: #999; }

.sc-ui-badge {
	font-size: 0.72rem;
	font-weight: 700;
	border-radius: 8px;
	padding: 0.3rem 0.65rem;
	white-space: nowrap;
}
.sc-ui-badge--green { background: #dcfce7; color: #15803d; }

/* Stocks */
.sc-ui-stock-row {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 0.85rem 0;
	border-bottom: 1px solid rgba(0,0,0,0.06);
	font-size: 0.85rem;
}
.sc-ui-stock-row strong { display: block; color: #1a1a2e; font-size: 0.9rem; font-weight: 700; }
.sc-ui-stock-row small  { display: block; color: #999; font-size: 0.72rem; }

.sc-ui-stock-logo {
	width: 38px; height: 38px;
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	font-size: 0.85rem; font-weight: 800; color: #fff; flex-shrink: 0;
}
.sc-ui-stock-logo--g { background: #4285f4; }
.sc-ui-stock-logo--a { background: #1a1a2e; }
.sc-ui-stock-logo--m { background: #da291c; }

.sc-ui-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.sc-ui-dot--green { background: #22c55e; }

.sc-text-red   { color: #ef4444 !important; }
.sc-text-green { color: #22c55e !important; }
.sc-text-accent{ color: var(--secondary) !important; }

/* Chart */
.sc-ui-chart { border-top: 1px solid rgba(0,0,0,0.06); padding-top: 0.75rem; }
.sc-ui-chart-tabs {
	display: flex; gap: 0.5rem; margin-top: 0.5rem;
	font-size: 0.7rem; color: #999;
}
.sc-ui-chart-tabs .active {
	background: #1a1a2e; color: #fff;
	border-radius: 50px; padding: 0.15rem 0.5rem; font-weight: 600;
}

/* Bond cards */
.sc-ui-bond-card {}
.sc-ui-bond-header {
	display: flex; align-items: center; gap: 1rem;
	margin-bottom: 1rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid rgba(0,0,0,0.08);
}
.sc-ui-bond-tag {
	background: #e0f2fe; color: #0369a1;
	font-size: 0.75rem; font-weight: 800;
	padding: 0.3rem 0.6rem; border-radius: 6px;
	flex-shrink: 0;
}
.sc-ui-bond-header strong { font-size: 0.9rem; color: #1a1a2e; }
.sc-ui-bond-header small  { font-size: 0.75rem; color: #888; }

.sc-ui-bond-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.75rem;
}
.sc-ui-bond-grid > div {
	display: flex; flex-direction: column; gap: 0.15rem;
}
.sc-ui-bond-grid strong { font-size: 0.85rem; color: #1a1a2e; }

/* Mobile: items sin sticky, scroll normal */
@media (max-width: 991px) {
	.sc-item {
		height: auto !important;
		position: relative !important;
		padding: 0 1rem 1.25rem;
	}
	.sc-card {
		border-radius: 18px;
		padding: 2.5rem 1.75rem;
		min-height: auto;
	}
	.sc-header {
		padding: 5rem 0 3.5rem;
	}
}

/*
* ─────────────────────────────────────────────────────────
* MODULE OVERRIDES — Services listing page (/services)
* Fixes readability: skin uses light primary + bright secondary,
* so the shared module view needs color corrections.
* ─────────────────────────────────────────────────────────
*/
.section .service-card {
	background: #ffffff !important;
	border: 1px solid #f0f0f0;
	border-left: 3px solid transparent;
	border-radius: 4px;
	transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}
.section .service-card:hover {
	border-left-color: var(--secondary);
	box-shadow: 0 4px 32px rgba(7, 242, 176, 0.08);
	transform: translateY(-2px);
}
/* Title: dark instead of var(--light) white */
.section .service-card .card-body h3 {
	color: #060d0c !important;
}
/* Subtitle */
.section .service-card .card-body p[style*="--primary"] {
	color: var(--secondary-200) !important;
}
/* Description */
.section .service-card .card-body p[style*="--quaternary"] {
	color: #555 !important;
}
/* CTA link */
.section .service-card .custom-view-more {
	color: var(--secondary) !important;
}
/* Category badge on white card */
.section .service-card .service-badge {
	background-color: rgba(7, 242, 176, 0.12) !important;
	color: #060d0c !important;
}
/* Icon circle */
.section .service-card .rounded-circle {
	background: rgba(7, 242, 176, 0.08) !important;
	border-color: rgba(7, 242, 176, 0.2) !important;
}
/* Section background: neutral instead of bright mint */
.section[style*="--secondary"] {
	background-color: #f8f9fa !important;
}
/* Filter buttons */
.section .btn-outline-secondary {
	border-color: #dee2e6;
	color: #555;
}
.section .btn-outline-secondary:hover {
	background-color: var(--secondary);
	border-color: var(--secondary);
	color: #060d0c;
}

/* ========================================================
   MODULE THEME OVERRIDES — Light Business Consulting
   --------------------------------------------------------
   skin-business-consulting defines:
     --primary: #060d0c (near black)
     --secondary: #07f2b0 (mint green) → too bright for section bg
     --quaternary: #101019 (dark) → invisible as muted text on light

   These rules convert the dark module theme to a clean,
   light aesthetic consistent with the business-consulting palette.
   ======================================================== */

/* === 1. Section Backgrounds → Light neutral === */
html.demo-business-consulting .main section[style*="--secondary"]:not(.page-header) {
	background-color: #f8f9fa !important;
}

/* === 2. Card/Panel Backgrounds → White with subtle border === */
html.demo-business-consulting .main section div[style*="background-color: var(--dark)"],
html.demo-business-consulting .main section aside [style*="background-color: var(--dark)"] {
	background-color: #fff !important;
	border: 1px solid #e8ebe9 !important;
	box-shadow: 0 2px 15px rgba(0, 0, 0, 0.05);
}

/* === 3. Cards por clase → White with hover === */
html.demo-business-consulting .main section[style*="--secondary"] .blog-card,
html.demo-business-consulting .main section[style*="--secondary"] .project-card {
	background-color: #fff !important;
	border: 1px solid #e8ebe9 !important;
	box-shadow: 0 2px 15px rgba(0, 0, 0, 0.05);
}

html.demo-business-consulting .main section[style*="--secondary"] .blog-card:hover,
html.demo-business-consulting .main section[style*="--secondary"] .project-card:hover {
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1) !important;
}

/* === 4. Text colors: revert light→dark === */
html.demo-business-consulting .main section[style*="--secondary"] [style*="color: var(--light)"] {
	color: #212529 !important;
}

html.demo-business-consulting .main section[style*="--secondary"] [style*="color: var(--quaternary)"] {
	color: #777 !important;
}

html.demo-business-consulting .main section[style*="--secondary"] strong[style*="--light"] {
	color: #212529 !important;
}

/* === 5. Cyan borders → Subtle green-grey === */
html.demo-business-consulting .main [style*="rgba(0, 240, 255"] {
	border-color: #e8ebe9 !important;
}

html.demo-business-consulting .main [style*="border: 1px solid rgba(0, 240, 255"] {
	border: 1px solid #e8ebe9 !important;
}

html.demo-business-consulting .main [style*="background-color: rgba(0, 240, 255"] {
	background-color: #f8f9fa !important;
	border-color: #ddd !important;
}

/* === 6. Gallery module — filter pills === */
html.demo-business-consulting .main .btn-outline-light {
	color: #555 !important;
	border-color: #ccc !important;
	background: #fff !important;
}

html.demo-business-consulting .main .btn-outline-light:hover {
	color: #060d0c !important;
	border-color: var(--secondary) !important;
	background: rgba(7, 242, 176, 0.08) !important;
}

html.demo-business-consulting .main .text-muted {
	color: #777 !important;
}

html.demo-business-consulting .main .portfolio-grid-item {
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

/* === 7. FAQs MODULE — Light Theme === */
html.demo-business-consulting .faq-category-section {
	background: #fff !important;
	border: 1px solid #e8ebe9 !important;
}

html.demo-business-consulting .faq-item {
	background: #fff !important;
	border: 1px solid #e8ebe9 !important;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important;
}

html.demo-business-consulting .faq-item:hover {
	background: #fff !important;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08) !important;
	border-color: #ddd !important;
}

html.demo-business-consulting .faq-question {
	background: #f8f9fa !important;
	border-bottom: 1px solid #e8ebe9 !important;
}

html.demo-business-consulting .faq-question h5 {
	color: #212529 !important;
}

html.demo-business-consulting .faq-question:hover h5 {
	color: #060d0c !important;
}

html.demo-business-consulting .faq-answer {
	background: #fff !important;
	border-top: 1px solid #e8ebe9 !important;
}

html.demo-business-consulting .faq-content {
	color: #555 !important;
}

html.demo-business-consulting .category-header h4 {
	color: #212529 !important;
}

/* === 8. Sidebar card === */
html.demo-business-consulting .main aside.card {
	background-color: #fff !important;
	border: 1px solid #e8ebe9 !important;
	box-shadow: 0 2px 15px rgba(0, 0, 0, 0.05);
}

html.demo-business-consulting .main aside .card-header {
	background-color: #f8f9fa !important;
	border-bottom: 1px solid #e8ebe9 !important;
}

html.demo-business-consulting .main aside .card-header h5 {
	color: #212529 !important;
}

/* === 9. Category navigation === */
html.demo-business-consulting .category-nav-item {
	color: #555 !important;
	border: 1px solid #e8ebe9 !important;
}

html.demo-business-consulting .category-nav-item:hover {
	background: rgba(7, 242, 176, 0.08) !important;
	color: #060d0c !important;
	border-color: rgba(7, 242, 176, 0.2) !important;
}

html.demo-business-consulting .category-nav-item.active {
	background: var(--secondary) !important;
	color: #060d0c !important;
	border-color: var(--secondary) !important;
}

html.demo-business-consulting .category-nav-item.active .badge-count {
	background: rgba(6, 13, 12, 0.15) !important;
	color: #060d0c !important;
}

html.demo-business-consulting .badge-count {
	background: #f0f2f1 !important;
	color: #777 !important;
}

/* === 10. Quick actions === */
html.demo-business-consulting .quick-actions {
	background: #f8f9fa !important;
	border: 1px solid #e8ebe9 !important;
}

html.demo-business-consulting .quick-actions h6 {
	color: #212529 !important;
}
