:root {
    --header-height: 0px;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--header-height) + 20px);
}

/* Desactivar temporalmente la animación */
html.scroll-instant {
    scroll-behavior: auto;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}
.hero{
	overflow: hidden;
}
.hero > svg{
	top: 50%;
	right: 0;
	width: 45%;
	transform: translateY(-50%);
	opacity: .2;
}
.hero > div{
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	background: linear-gradient(to right,  rgba(0,0,0,0.7) 0%,rgba(0,0,0,0.93) 1%,rgba(0,0,0,0) 100%);
}
.hero img{
	object-fit: cover;
}
.hero-title-1{
	font-size: clamp(35px,8vw,90px);
	line-height: 1.2;
}
.hero-title-2{
	font-size: clamp(25px,5vw,40px);
	line-height: 1;
}
.hero-subtitle{
	font-size: clamp(12px,2vw,20px);
	line-height: 1;
	letter-spacing: 1px;
}

.logo-sponsor{
	box-shadow: 0 0px 13px -2px rgba(0,0,0,0.075);
	overflow: hidden;
	display: block;
}
.logo-sponsor a{
	display: block;
}
.logo-sponsor img{
	filter: grayscale(1);
	opacity: .8;
	transition: filter .2s linear, opacity .2s linear;
}
.logo-sponsor :is(a,div):hover img{
	filter: grayscale(0);
}
.modal{
	max-width: 1024px;
	display: none;
	border-radius: 1rem;
}
.modal2{
	max-width: 1200px;
	display: none;
	border-radius: 1rem;
	width: 100%;
}
.f-html{
	max-width: 1200px;
	border-radius: 1rem;
	width: 100%;
}
.item-member{
	height: 100%;
}
.item-member figure{
	overflow: hidden;
	position: relative;
}
.item-member > figure > img{
	transition: filter .2s linear, transform .2s linear;
}
.item-member:hover > figure > img{
	filter: contrast(130%);
	transform: rotate(2deg) scale(1.1);
}

.flag-member{
	position: absolute;
	right: 1rem;
	top: 1rem;
	z-index: 1;
}
.company-member{
	color: var(--white);
	line-height: 1;
	padding: .25rem .5rem;
	border-radius: 2rem;
}
.banner{
	aspect-ratio: 16/6;
	border-radius: 1.5rem;
    isolation: isolate;
	min-height: 500px;
	overflow: hidden;
    position: relative;
}
.banner > div{
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to right, rgba(0,0,0,0.8) 0%,rgba(0,0,0,0) 70%);
}
.banner :is(figure, img){
	left: 0;
    isolation: isolate;
	width: 100%;
	height: 100%;
	top: 0;
	z-index: -1;
}

.banner img{
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.video-bg {
    background: #111;
}

/* Imagen de portada */
.video-bg__poster {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -3;
}

/* Contenedor del video */
.video-bg__media {
    position: absolute;
    inset: 0;
    z-index: -2;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.8s ease;
    pointer-events: none;
}

/* Video cargado */
.video-bg.is-playing .video-bg__media {
    opacity: 1;
}
/* MP4 */
.video-bg__media video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* YouTube / Vimeo */
.video-bg__media iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 0;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

[data-fancybox]{
	cursor: pointer;
}

.testimonials figure{
	max-width: 80px;
	min-width: 80px;
}
.testimonials .light.c-gray{
	font-size: 85%;
}
.swiper-wrapper {
	align-items: stretch;
}

.swiper-slide {
	height: auto;
	display: flex;
	flex-direction: column;
}

.swiper-slide > .testimonial-card {
	height: 100%;
	width: 100%;
}
.swp-nav-testimonials :is(.swiper-pagination,.swiper-arrows){
	position: relative;	
	width: auto;
	top: 0;
}
.testimonials .swiper-arrows {
	height: 40px;
	min-width: 40px;
	font-size: 14px;
	top: 0;
	transform: translateY(0);
	left: 0;
	right: 0;
}
.testimonials.swp-nav:not(.swp-pagination-external):not(.swp-nav-external) .swiper-pagination-bullet-active {
    background: var(--quinary);
}
.swp-arrow-white .swiper-arrows:hover {
    color: inherit;
}
.swp-arrow-white .swiper-arrows:hover:before {
    background-color: var(--quinary);
}
.item-member-modal>article>div>p,
.item-member p{
	font-size: 14px;
}
@keyframes fancyboxShow {
	from {
		opacity: 0;
		transform: translateY(-100%);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes fancyboxHide {
	from {
		opacity: 1;
		transform: translateY(0);
	}
	to {
		opacity: 0;
		transform: translateY(-100%);
	}
}

.f-slideDown {
	animation: fancyboxShow .5s ease both;
}

.f-slideUp {
	animation: fancyboxHide .35s ease both;
}
.f- {
	animation: fancyboxShow .5s ease both;
}

.f-slideUp {
	animation: fancyboxHide .35s ease both;
}

.item-descubre{
	overflow: hidden;
}
.item-descubre svg.decoration {
	fill: var(--tertiary);
	max-width: 50px;
}
.item-descubre .title-sm-1{
	font-size: 22px;
}
.item-descubre figure.icon-descubre{
	background-color: var(--tertiary);
	border-radius: .5rem;
	align-items: center;
	display: flex;
	justify-content: center;
	height: 60px;
	transition: background-color .3s linear;
	width: 60px;
}
.item-descubre:nth-child(even) figure.icon-descubre{
	background-color: var(--quinary);
}
.item-descubre:nth-child(even) svg.decoration {
	fill: var(--quinary);
	max-width: 50px;
}
.item-descubre figure.icon-descubre img{
	max-width: 45px;
}
.item-descubre .img-descubre,
.item-descubre .img-descubre:after,
.item-descubre .img-descubre img{
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}
.item-descubre .bg-descubre{
	height: 100%;
	overflow: hidden;
	position: relative;
}
.item-descubre .img-descubre:before{
	aspect-ratio: 1/1;
	background-color: var(--white);
	border-radius: 50%;
	content: '';
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%,-50%);
	transition: transform .3s linear;
	width: 200%;
	z-index: 2;
	
}
.item-descubre .img-descubre img{
	object-fit: cover;
}
.bg-descubre :is(div,h3,svg){
	transition: color .2s linear, fill .3s linear;
}
.item-descubre .img-descubre{
	z-index: -1;
}
.item-descubre .img-descubre:after{
	background: linear-gradient(45deg,  rgba(0,0,0,1) 0%,rgba(0,0,0,0) 100%);
	content: '';
}

.bg-descubre:hover .img-descubre:before{
	transform: translate(-125%,-15%);
}
.bg-descubre:hover :is(div,h3,svg) {
	color: var(--white);
}
.bg-descubre:hover figure.icon-descubre {
	background-color: transparent;
}

.item-home-contact a{
	font-size: 35px;
	min-width: 80px;
	max-width: 80px;
	height: 80px;
}
.item-home-contact a{
	transition: transform .2s linear;
}
.item-home-contact a:hover{
	transform: translateY(-.5rem);
}
.btn.has-icon i{
	transform: rotate(-45deg);
	transition: transform .2s linear;
}
.btn.has-icon:hover i{
	transform: rotate(0deg);
}

.img-panama{
	overflow: hidden;
	position: relative;
}
.img-panama img{
	transition: filter .2s linear;
}

.item-panama > div:hover .img-panama img{
	filter: contrast(130%);
}
.item-panama h3{
	font-size: 20px;
}
.item-panama p{
	font-size: 14px;
}
.item-panama div span{
	font-size: 12px;
}
.item-panama>div{
	height: 100%;
}












@media screen and (max-width:767px) {
	.hero img{
		height: 80vh;
		max-height: 680px;
	}
	.hero > div{
		left: 0;
		top: 0;
		height: 100%;
		width: 100%;
		background: linear-gradient(to top,  rgba(0,0,0,0.7) 0%,rgba(0,0,0,0.93) 1%,rgba(0,0,0,0) 100%);
	}
	.hero > svg{
		top: 0;
		right: initial;
		left: 50%;
		width: 120%;
		transform: translateX(-50%);
		opacity: .2;
	}
	.banner > div{
		background: linear-gradient(to top,  rgba(0,0,0,0.5) 0%,rgba(0,0,0,0.93) 1%,rgba(0,0,0,0) 100%);
	}
	.item-member h3{
		font-size: 16px;
	}
	.item-member p{
		font-size: 13px;
	}
	

	.video-bg {
        min-height: 450px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .video-bg__media {
        transition: none;
    }
}













/* MARQUEE */
.marquee {
    --marquee-gap: 20px;
    --marquee-items: 7;
    --marquee-width: 100%;

    width: 100%;
    overflow: hidden;
    position: relative;
}

.marquee__track {
    display: flex;
    width: max-content;
    animation: none;
    will-change: transform;
}

.marquee.is-ready .marquee__track {
    animation: marquee-scroll
        var(--marquee-duration, 20s)
        linear infinite;
}

.marquee__group {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: var(--marquee-gap);

    /* Mantiene la distancia entre ambas copias */
    padding-right: var(--marquee-gap);
}

.marquee__item {
    flex: 0 0 auto;
    width: calc(
        (
            var(--marquee-width) -
            (var(--marquee-items) - 1) * var(--marquee-gap)
        ) / var(--marquee-items)
    );

    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.marquee__item img {
    display: block;
    max-width: 100%;
    width: auto;
    height: auto;
}

/* Dirección */

.marquee[data-direction="right"] .marquee__track {
    animation-direction: reverse;
}

/* Pausa */

@media (hover: hover) {
    .marquee[data-pause-hover="true"]:hover .marquee__track {
        animation-play-state: paused;
    }
}

.marquee:focus-within .marquee__track {
    animation-play-state: paused;
}

/* Movimiento continuo */

@keyframes marquee-scroll {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(-50%, 0, 0);
    }
}

/* Responsive */

@media (max-width: 1024px) {
    .marquee {
        --marquee-items: 4;
    }
}

@media (max-width: 767px) {
    .marquee {
        --marquee-items: 2;
    }
}

/* Accesibilidad */

@media (prefers-reduced-motion: reduce) {
    .marquee__track {
        animation: none !important;
        transform: none !important;
    }

    .marquee {
        overflow-x: auto;
    }
}