/*
Theme Name: Bulnes Lihn
Description: Tema para WordPress
Version: 1.0
Author: Bulnes Lihn
*/

:root{
    --fs-12: 0.75rem;
    --fs-13: 0.8125rem;
    --fs-14: 0.875rem;
    --fs-15: 0.9375rem;
    --fs-22: 1.375rem;
    --fs-25: 1.5625rem;
    --fs-30: 1.875rem;
    --fs-18: 1.125rem;
    --fs-40: 2.5rem;
    --fs-60: 3.75rem;
    --fs-70: 4.375rem;
    --fs-80: 5rem;
    --fs-90: 5.625rem;
}
#wpadminbar{
    z-index: 0;
}

html {
    scroll-padding-top: 70px;
}

html, body{
    overscroll-behavior: none;
}
body{
    font-family: Helvetica, Arial, sans-serif;
    /*background-color: #f4f4f4;*/
    margin: 0;
    padding: 0;
}

/* CONTAINERS */
.container-narrow{
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-right: auto;
    margin-left: auto;
}
@media (min-width: 1400px) {
    .container-narrow {
        width: 100%;
        max-width: 1140px;
        padding-right: 12px;
        padding-left: 12px;
        margin-right: auto;
        margin-left: auto;
    }
    .container{
        max-width: 1280px;
    }
}
header nav{
    background-color: rgba(45, 44, 44, 1);
    transition: background-color 0.3s ease;
    color: #fff;
    padding: 10px 0 !important;
}
body.home header nav,
body.page-id-130 header nav{
	background-color: transparent;
}
header nav .container{
    max-width: 1358px;
}
.scrolled header nav{
    background-color: rgba(45, 44, 44, 0.8);
    transition: background-color 0.3s ease;
}
body header nav .navbar-brand{
    width: 80px;
    opacity: 0;
    transition: opacity 0.5s ease;
}
body:not(.home, .page-id-130) header nav .navbar-brand{
    opacity: 1;
}
.scrolled header nav .navbar-brand{
    opacity: 1;
    transition: opacity 0.5s ease;
}
.navbar-nav{
    gap: 0px;
}
.navbar-toggler{
    border: none;
    padding: 8px 10px;
    transition: all 0.3s ease;
}
.navbar-toggler:focus{
    box-shadow: none;
}
.navbar-toggler:hover {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 6px;
}
.navbar-toggler-icon{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(236, 236, 235, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
    width: 20px;
    height: 16px;
    transition: transform 0.3s ease;
}
.navbar-toggler:hover .navbar-toggler-icon {
    transform: scale(1.1);
}
@media (max-width: 991px){
    header nav .navbar-collapse{
        background: rgba(45, 44, 44, 0.8);
        padding: 10px;
        border-radius: 14px;
        backdrop-filter: blur(10px);
        margin-top: 10px
    }
}
header nav .nav-item .nav-link{
    color: #fff;
    font-size: var(--fs-14);
    font-weight: 300;
    padding: 6px 25px !important;
}

@media (min-width: 992px) {
    header nav .nav-item .nav-link {
        animation: fadeInDown 0.5s ease-in-out;
        animation-delay: 1s;
        opacity: 0;
        transform: translateY(-20px);
        animation-fill-mode: forwards;
    }
    header nav .nav-item:nth-child(2) .nav-link{
        animation-delay: 1.2s;
    }
    header nav .nav-item:nth-child(3) .nav-link{
        animation-delay: 1.4s;
    }
    header nav .nav-item:nth-child(4) .nav-link{
        animation-delay: 1.6s;
    }
    header nav .nav-item:nth-child(5) .nav-link{
        animation-delay: 1.8s;
    }
}
@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
} 

/* Estilos para el selector de idioma */
.language-switcher .language-link,
.language-switcher-mobile .language-link {
    color: #ffffff;
    text-decoration: none;
    font-weight: 500;
    font-size: 14px;
    text-transform: uppercase;
    transition: color 0.3s ease;
}

.language-switcher .language-link:hover,
.language-switcher-mobile .language-link:hover {
    color: #ffffff;
}
.language-switcher-mobile {
    text-align: center;
    padding: 20px 0;
}

.language-switcher-mobile .language-link {
    font-size: 18px;
    padding: 10px 20px;
    border: 1px solid #ddd;
    border-radius: 5px;
    display: inline-block;
}

/* === OFFCANVAS FULLSCREEN === */
.offcanvas-fullscreen {
    width: 100vw !important;
    height: 100vh !important;
    max-width: 100vw !important;
    border: none !important;
    border-radius: 0 !important;
    background: rgba(45, 44, 44, 0.95);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    transform: translateY(-100%);
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.offcanvas-fullscreen.showing,
.offcanvas-fullscreen.show {
    transform: translateY(0);
}

.offcanvas-header {
    padding: 20px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 80px;
}

/* Botón de cerrar personalizado */
.btn-close-custom {
    position: relative;
    width: 30px;
    height: 30px;
    border: none;
    background: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    opacity: 0.8;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.btn-close-custom:hover {
    opacity: 1;
    transform: scale(1.1);
}

.btn-close-custom span {
    display: block;
    width: 25px;
    height: 2px;
    background: #fff;
    transition: all 0.3s ease;
    transform-origin: center;
}

.btn-close-custom span:first-child {
    transform: rotate(45deg);
    position: absolute;
}

.btn-close-custom span:last-child {
    transform: rotate(-45deg);
    position: absolute;
}

.offcanvas-body {
    padding: 0;
    display: flex;
    align-items: top;
    justify-content: center;
    min-height: calc(100vh - 80px);
	padding-top: 50px;
}

.offcanvas-menu-container {
    text-align: center;
    width: 100%;
    padding: 0 30px;
}

/* Estilos del menú offcanvas */
.offcanvas-nav {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.offcanvas-nav .nav-item {
    opacity: 0;
    transform: translateY(30px);
    animation: slideInUp 0.6s ease forwards;
}

.offcanvas-nav .nav-item:nth-child(1) { animation-delay: 0.1s; }
.offcanvas-nav .nav-item:nth-child(2) { animation-delay: 0.2s; }
.offcanvas-nav .nav-item:nth-child(3) { animation-delay: 0.3s; }
.offcanvas-nav .nav-item:nth-child(4) { animation-delay: 0.4s; }
.offcanvas-nav .nav-item:nth-child(5) { animation-delay: 0.5s; }

.offcanvas-nav .nav-link {
    color: #fff !important;
    text-decoration: none;
    font-size: 34px;
    font-weight: 300;
    padding: 0;
    width: 100%;
    display: block;
    transition: all 0.3s ease;
    border-radius: 10px;
    position: relative;
    overflow: hidden;
    text-align: left;
}

/* .offcanvas-nav .nav-link:hover {
    color: #FF2100 !important;
    transform: translateX(10px);
    background: rgba(255, 255, 255, 0.05);
} */

/* .offcanvas-nav .nav-link:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 100%;
    background: linear-gradient(90deg, rgba(255, 33, 0, 0.1), rgba(255, 33, 0, 0.05));
    transition: width 0.3s ease;
    z-index: -1;
} */

/* .offcanvas-nav .nav-link:hover:before {
    width: 100%;
} */

@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Solo mostrar navbar-toggler en pantallas pequeñas */
@media (min-width: 992px) {
    .navbar-toggler {
        display: none !important;
    }
}

/* Mostrar menú desktop solo en pantallas grandes */
@media (min-width: 992px) {
    .d-none.d-lg-flex {
        display: flex !important;
    }
    
    /* Asegurar que el menú desktop se muestre correctamente */
    .d-none.d-lg-flex .navbar-nav {
        display: flex !important;
        flex-direction: row;
    }
    
    .d-none.d-lg-flex .nav-item {
        margin: 0;
    }
    
    .d-none.d-lg-flex .nav-link {
        color: #fff !important;
        font-size: var(--fs-14);
        font-weight: 300;
        padding: 6px 18px !important;
        border-radius: 7px;
    }
}

.hero{
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: flex-start;
    overflow: hidden;
}
@media (min-width: 992px){
    .hero {
        align-items: center;
    }
}

/* Video de fondo del hero */
.hero-video-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
}

.hero-video-background video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Video Desktop - se muestra en pantallas grandes */
.hero-video-desktop {
    display: block;
}

/* Video Mobile - se oculta por defecto */
.hero-video-mobile {
    display: none;
}

/* Media query para dispositivos móviles */
@media (max-width: 768px) {
    /* Ocultar video desktop en móviles */
    .hero-video-desktop {
        display: none;
    }
    
    /* Mostrar video mobile en móviles (si existe) */
    .hero-video-mobile {
        display: block;
    }
}

.hero-video-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    z-index: -1;
}

/* Overlays específicos para desktop y mobile */
.hero-video-overlay-desktop {
    display: block;
}

.hero-video-overlay-mobile {
    display: none;
}

@media (max-width: 768px) {
    .hero-video-overlay-desktop {
        display: none;
    }
    
    .hero-video-overlay-mobile {
        display: block;
    }
}

.hero-content {
    position: relative;
    z-index: 1;
    color: white;
}

.hero .custom-logo {
    max-height: 200px;
    width: auto;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
}

.hero h1 {
    font-size: 3rem;
    font-weight: bold;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    margin: 0;
}
/*@media (max-width: 768px) {
    .hero .custom-logo {
        max-height: 150px;
    }
    
    .hero h1 {
        font-size: 2rem;
    }
}*/

@media (max-width: 991px) {
    .hero .custom-logo {
        max-height: 60px;
        margin-top: 25px;
        margin-left: 14px;
    }
    
    .hero h1 {
        font-size: 1.5rem;
    }
}

/* Sección Manifesto */
.manifesto {
    padding: 85px 0 0;
    background-color: #ffffff;
}
@media (min-width: 1400px){
    .manifesto {
        padding: 130px 0 50px;
    }
}
.manifesto h3{
    font-family: 'Cardo', serif;
    font-size: var(--fs-40);
    line-height: 120%;
    font-weight: 400;
    margin-bottom: 34px;
}
@media (min-width: 1400px){
    .manifesto h3{
        font-size: var(--fs-70);
        width: 50%;
    }
}
.manifesto p{
    font-family: 'Inter', sans-serif;
    font-size: var(--fs-15);
    line-height: 180%;
    text-align: justify;
    margin-bottom: 0;
    font-weight: 300;
}
.manifesto p strong{
    font-weight: 700;
}
.manifesto img{
    width: 82px;
}
@media (min-width: 992px){
    .manifesto img{
        width: 219px;
    }
}
@media (min-width: 1400px){
    .manifesto img{
        /*transform: translate(18px, -41px);*/
    }
}
/* Sección Equipo */
.equipo {
    padding: 56px 0;
}
@media (min-width: 1400px){
    .equipo {
        padding: 110px 0;
    }
}
.equipo h2 {
    font-family: 'helvetica-neue-lt-pro', sans-serif;
    font-size: var(--fs-60);
    line-height: 90%;
    letter-spacing: -2px;
    text-transform: uppercase;
    font-weight: 300;
    margin-bottom: 40px;
}
@media (min-width: 1400px){
    .equipo h2{
        font-size: var(--fs-80);
    }
}

.team-member-link {
    display: block;
    text-decoration: none;
    color: inherit;   
    height: 100%;
}

.team-member-image {
    width: 100%;
    aspect-ratio: 1 / 1.1;
    object-fit: cover;
    object-position: center;
    margin-bottom: 26px;
    opacity: 1;
    transition: opacity 0.3s ease;
}
.team-member-link:hover .team-member-image {
    opacity: 1;
    transition: opacity 0.3s ease;
}

.team-member-link h3 {
    font-family: 'Inter', sans-serif;
    font-size: var(--fs-15);
    font-weight: 700;
    color: #2D2C2C;
    margin: 0;
}

.team-member-link p {
    font-family: 'Inter', sans-serif;
    font-size: var(--fs-15);
    font-weight: 300;
    color: #2D2C2C;
    margin-bottom: 0;
}



/* Modal de integrantes del equipo */
.btn-close{
    background-image: url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M28 1.59999L26.4001 0L14 12.4L1.59999 0L0 1.59999L12.4 14L0 26.4001L1.59999 28L14 15.6L26.4001 28L28 26.4001L15.6 14L28 1.59999Z' fill='%23DADBCE'/%3E%3C/svg%3E%0A") !important;
    position: absolute;
    top: 49px;
    right: 38px;
    width: 28px;
    height: 28px;
    background-size: cover;
    opacity: 1;
    z-index: 5;
}
#teamMemberModal .modal-content {
    border: none;
    border-radius: 0;
    background-color: #2D2C2C;
    color: #DADBCE;
}

#teamMemberModal .modal-content .container-fluid{
    max-width: 1250px;
}

.team-member-info {
    padding-right: 2rem;
}

.member-name {
    font-family: 'helvetica-neue-lt-pro', sans-serif;
    font-size: var(--fs-60);
    line-height: 1;
    font-weight: 300;
    text-transform: uppercase;
}

.member-position {
    font-size: 1.3rem;
    font-style: italic;
}

.member-bio {
    font-size: var(--fs-13);
    line-height: 130%;
    text-align: justify;
    text-justify: inter-word;
    padding: 10px 30px 10px 0px;
	overflow-Y: auto;
	position:relative;
	height: 500px;
}
.member-bio::-webkit-scrollbar {
    width: 4px; /* ancho del scrollbar */
}

.member-bio::-webkit-scrollbar-track {
    background: #3e3c3c; /* color del riel/track */
    border-radius: 10px;
}

.member-bio::-webkit-scrollbar-thumb {
    background: #dadbcd; /* color del thumb/pulgar */
    border-radius: 10px;
}

.member-bio::-webkit-scrollbar-thumb:hover {
    background: #ffffff; /* color al hacer hover */
}
.member-bio:after{
	content: '';
	height: 100px;
	width: 100%;
	display: none;
	position: sticky;
	bottom: -10px;
	background: linear-gradient(0deg, #2d2c2c, transparent);
	z-index: 1
}
.member-modal-image {
    width: 100%;
    height: 75.1vh;
    object-fit: scale-down;
    object-position: center;
}
.member-bio strong{
	margin-bottom: 15px;
	    display: block;
    margin-top: 10px;
}
/* Responsive para modal */
@media (max-width: 1199px) {
	.member-modal-image{
		width: 200px;
		height: auto;
		margin-bottom: 20px;
	}
    #teamMemberModal .modal-body {
        padding: 2rem;
    }
    
    .team-member-info {
        padding-right: 0;
        margin-bottom: 2rem;
    }
    
    .team-member-image-container {
        padding-left: 0;
    }
    
    .member-name {
        font-size: 2rem;
        width: 80%;
    }
}
@media (min-width: 992px){
	.member-modal-image{
		width: 300px !important;
		height: auto !important;
		margin-bottom: 20px;
	}
}
@media (min-width: 1200px){
	.member-modal-image{
		width: 100% !important;
		height: auto !important;
		margin-bottom: 0px;
	}
}

/* Navegación del modal */
.modal-nav-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    
    border: none;
    color: white;
    
    width: 25px;
    height: 25px;

    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 1060;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent
}

.modal-nav-arrow:hover {
    transform: translateY(-50%) scale(1.1);
}
.modal-nav-prev {
	left: 10px;
}

.modal-nav-next {
	right: 20px;
}
@media (min-width: 1400px){
	.modal-nav-prev {
		left: 30px;
	}

	.modal-nav-next {
		right: 50px;
	}
}
@media (min-width: 1600px){
	.modal-nav-prev {
		left: 100px;
	}

	.modal-nav-next {
		right: 100px;
	}
}

/* Flechas CSS */
.arrow-left, .arrow-right {
    width: 25px;
    height: 25px;
    display: inline-block;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.arrow-left {
   background-image: url("data:image/svg+xml,%3Csvg width='12' height='25' viewBox='0 0 12 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.937 25C11.0761 25.0008 11.214 24.9745 11.3428 24.9227C11.4715 24.8708 11.5886 24.7945 11.6874 24.698C11.7864 24.6011 11.8651 24.4859 11.9187 24.359C11.9724 24.2321 12 24.096 12 23.9585C12 23.821 11.9724 23.6849 11.9187 23.558C11.8651 23.431 11.7864 23.3159 11.6874 23.219L3.05311 14.7101C2.45938 14.1242 2.12589 13.3301 2.12589 12.5021C2.12589 11.6741 2.45938 10.88 3.05311 10.2942L11.6874 1.78521C11.8864 1.58909 11.9982 1.3231 11.9982 1.04575C11.9982 0.7684 11.8864 0.502409 11.6874 0.306293C11.4884 0.110177 11.2185 0 10.937 0C10.6556 0 10.3857 0.110177 10.1867 0.306293L1.55241 8.81525C1.06032 9.29898 0.6699 9.87363 0.403511 10.5063C0.137122 11.1389 9.53674e-07 11.8172 9.53674e-07 12.5021C9.53674e-07 13.1871 0.137122 13.8653 0.403511 14.498C0.6699 15.1306 1.06032 15.7053 1.55241 16.189L10.1867 24.698C10.2854 24.7945 10.4026 24.8708 10.5313 24.9227C10.6601 24.9745 10.798 25.0008 10.937 25Z' fill='%23EDEDEB'/%3E%3C/svg%3E%0A");
}

.arrow-right {
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='25' viewBox='0 0 12 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.06296 25C0.92387 25.0008 0.785994 24.9745 0.657233 24.9227C0.528471 24.8708 0.411358 24.7945 0.312608 24.698C0.213553 24.6011 0.134931 24.4859 0.0812776 24.359C0.0276239 24.2321 0 24.096 0 23.9585C0 23.821 0.0276239 23.6849 0.0812776 23.558C0.134931 23.431 0.213553 23.3159 0.312608 23.219L8.94689 14.7101C9.54062 14.1242 9.87411 13.3301 9.87411 12.5021C9.87411 11.6741 9.54062 10.88 8.94689 10.2942L0.312608 1.78521C0.113603 1.58909 0.00180358 1.3231 0.00180358 1.04575C0.00180358 0.7684 0.113603 0.502409 0.312608 0.306293C0.511612 0.110177 0.781521 0 1.06296 0C1.34439 0 1.6143 0.110177 1.8133 0.306293L10.4476 8.81525C10.9397 9.29898 11.3301 9.87363 11.5965 10.5063C11.8629 11.1389 12 11.8172 12 12.5021C12 13.1871 11.8629 13.8653 11.5965 14.498C11.3301 15.1306 10.9397 15.7053 10.4476 16.189L1.8133 24.698C1.71455 24.7945 1.59744 24.8708 1.46868 24.9227C1.33992 24.9745 1.20204 25.0008 1.06296 25Z' fill='%23EDEDEB'/%3E%3C/svg%3E%0A");
}

/* Dots de navegación */
.modal-navigation-dots {
    display: flex;
    gap: 10px;
    justify-content: flex-start;
    align-items: center;
    display: none;
}

.modal-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid #EDEDEB;
    background: transparent;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0;
}

.modal-dot:hover {
    border-color: #EDEDEB;
    transform: scale(1.2);
}

.modal-dot.active {
    background: #FF2100;
    border-color: #FF2100;
}

@media (max-width: 768px) {
    .modal-nav-arrow {
        width: 40px;
        height: 40px;
    }
    
    .modal-nav-prev {
        left: 10px;
    }
    
    .modal-nav-next {
        right: 10px;
    }
}

/* SOCIOS */
.socios {
    background-color: #ffffff;
}
@media (min-width: 992px){
	.socios {
		border-left: 3px solid #FF2100;
		padding-left: 50px;
	}
    .socios .socios-text{
        position: relative;
        top: 25px;
    }
}
.socios p {
    font-size: 1.35rem;
    font-family: 'Cardo', serif;
    line-height: 150%;
    position: relative;
}
@media (min-width: 992px){
    .socios p {
        font-size: var(--fs-25);
        border-top: none;
        /*border-left: 3px solid #FF2100;
        padding-left: 49px;*/
        padding-top: 0;
    }
}

@media (max-width: 991px){
	.socios p:before{
		content: '';
		width: 90px;
		height: 2px;
		display: inline-block;
		background: #FF2100;
		position: absolute;
		top: -20px;
		left: 0;
	}
    .row-logos{
        position: relative;
    }
    
}

.row-logos .col-5{
    padding-top: 16px;
    padding-bottom: 16px;
    display: flex;
    align-items: center;
}

.row-logos .col-5 img{
    width: 100%;
    min-width: 110px;
    max-width: 110px;
    align-self: center;
}

@media (min-width: 992px){
    .row-logos .col-5{
        padding-top: 36px;
        padding-bottom: 36px;
    }
    .row-logos .col-5 img{
        min-width: 155px;
        max-width: 155px;
    }
}



/* AREAS */
.areas-list-mobile {}


.areas{
    padding: 76.5px 0 40px;
    background: #fff;
}
@media (min-width: 1200px){
    .areas{
        padding: 110px 0 226px;
    }
    .areas .container{
        padding-right: 20px;
    }
}
.areas h2{
    font-family: 'helvetica-neue-lt-pro', sans-serif;
    font-size: var(--fs-60);
    line-height: 90%;
    letter-spacing: -2.5px;
    text-transform: uppercase;
    font-weight: 300;
    margin: 0;
}
@media (min-width: 1200px){
    .areas h2{
        width: 80%;
        font-size: var(--fs-80);
    }

 }
/* .areas h2 span{
    width: 29px;
    height: 4px;
    background-color: #FF2100;
    display: inline-block;
    margin-left: 20px;
} */
.areas-content{
    margin-top: 50px;
}
.areas h3{
    font-family: 'helvetica-neue-lt-pro', sans-serif;
    font-size: var(--fs-30);
    line-height: 90%;
    text-transform: uppercase;
    letter-spacing: -1px;
    font-weight: 300;
    margin: 0;
    height: 52px;
    margin-bottom: 27px;
    position: relative;
}
.areas h3::after{
	content: '';
    position: relative;
    width: 17px;
    height: 2px;
    background-color: #FF2100;
    bottom: 0;
    left: 0;
    display: inline-block;
    margin-left: 5px;
}
.areas-content .col-12:nth-child(1) h3{
    width: 50%;
}
.areas-content .col-12:nth-child(3) h3{
    width: 70%;
}
@media (min-width: 1400px){
    .areas-content .col-12:nth-child(1){
        padding-right: 40px;
    }
    .areas-content .col-12:nth-child(2){
        padding-right: 25px;
        padding-left: 27px;
    }
    .areas-content .col-12:nth-child(3){
        padding-right: 25px;
        padding-left: 40px;
    }
}
.areas p{
    font-family: 'Inter', sans-serif;
    font-size: var(--fs-15);
    line-height: 150%; 
    letter-spacing: -.03px;
    text-align: justify;

}

.area-toggle-btn{
    background: transparent;
    padding: 0;
    border: none;
    color: #2D2C2C;
    font-family: 'Inter', sans-serif;
    text-decoration: underline;
    text-underline-offset: 2px;
    font-size: var(--fs-15)
}

.areas-slider-mobile{
    margin-top: 20px;
}

/* EXPERIENCIAS */
.experiencia{
    padding: 26px 0 34px;
}
@media (min-width: 1400px){
    .experiencia{
        padding: 80px 0 68px;
    }
}
.experiencia h2{
    font-family: 'helvetica-neue-lt-pro', sans-serif;
    font-size: var(--fs-60);
    line-height: 90%;
    letter-spacing: -2.5px;
    text-transform: uppercase;
    font-weight: 300;
    margin-bottom: 15px;
}
@media (min-width: 1400px){
    .experiencia h2{
        font-size: var(--fs-80);
    }
}
/* .experiencia h2 span{
    width: 29px;
    height: 4px;
    background-color: #FF2100;
    display: inline-block;
    margin-left: 20px;
} */
.experiencia .experiencia-intro p{
    font-family: 'Inter', sans-serif;
    font-size: var(--fs-15);
    line-height: 180%;
    letter-spacing: -.03px;
    text-align: justify;
	margin-bottom: 50px;
}
@media (max-width: 767px){
	.experiencia .experiencia-intro p{
		width: 60%;
	}
}
.experiencia .experiencia-content{
    margin-top: 31px;
}
@media (min-width: 1400px) {
    .experiencia .experiencia-content .col-12:first-child{
        padding-right: 110px;
    }
}
.experiencia h3{
    font-family: 'Cardo', serif;
    font-size: var(--fs-15);
    line-height: 90%;
    font-weight: 400;
    margin-bottom: 22px;
}
.experiencia hr{
    opacity: 1;
    margin: 0 0 22px;
}
.experiencia .filter-categories{
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 66px;
}
.filter-btn{
    border: 1px solid #DADBCE;
    border-radius: 0px;
    padding: 10px 15px;
    font-size: var(--fs-14);
    line-height: 90%;
    font-weight: 400;
	color: #FF2100;
	background: transparent;
}
.filter-btn::after{
    content: '+';
    margin-left: 5px;
}
.filter-btn.active{
    border-color: #2D2C2C;
    background-color: #2D2C2C;
    color: #DADBCE;
}
.filter-btn.active::after{
    content: '–';
}

.filter-btn.disabled,
.filter-btn:disabled{
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
    background-color: #f8f9fa;
    border-color: #e9ecef;
    color: #6c757d;
}
.card-casos{
    margin-bottom: 35px;
}
.card-casos h4{
    font-family: 'Cardo', serif;
    font-size: var(--fs-22);
    line-height: 160%;
    font-weight: 400;
    margin-bottom: 20px;
    text-decoration: underline;
}
.card-casos p{
    font-family: 'Inter', sans-serif;
    font-size: var(--fs-13);
    line-height: 160%;
    text-align: justify;
    font-weight: 400;
}
.card-casos p strong{
    font-weight: 400;
    color: #FF2100;
}

/* ACCORDION CASOS */
#casosAccordion{
    background: transparent;
}
.caso-item {
    margin-bottom: 5px;
    border: none;
    border-radius: 0;
    background: transparent;
}

.caso-item .accordion-header {
    margin-bottom: 0;
}

.caso-item .accordion-button {
    font-family: 'Cardo', serif;
    font-size: var(--fs-18);
    line-height: 110%;
    font-weight: 400;
    background-color: transparent;
    border: none;
    border-bottom: 1px solid #DADBCE;
    border-radius: 0;
    box-shadow: none;
    padding: 10px 0;
    color: #2D2C2C;
    text-decoration: none;
    position: relative;
}

.caso-item .accordion-button:not(.collapsed) {
    background-color: transparent;
    color: #2D2C2C;
    box-shadow: none;
}

.caso-item .accordion-button:focus {
    border-color: #DADBCE;
    box-shadow: none;
}

.caso-item .accordion-button::after {
    content: '+';
    background-image: none;
    color: #FF2100;
    font-size: 1.5rem;
    font-weight: 300;
    transform: none;
    transition: transform 0.2s ease;
    width: 20px;
    height: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.caso-item .accordion-button:not(.collapsed)::after {
    content: '–';
    transform: none;
}

.caso-item .accordion-collapse {
    border: none;
}

.caso-item .accordion-body {
    font-family: 'Inter', sans-serif;
    font-size: var(--fs-13);
    line-height: 160%;
    text-align: justify;
    font-weight: 400;
    padding: 20px 0 30px 0;
    border: none;
}

.caso-item .accordion-body p {
    margin-bottom: 1rem;
}

.caso-item .accordion-body p:last-child {
    margin-bottom: 0;
}

.caso-item .accordion-body strong {
    font-weight: 400;
    color: #FF2100;
}

/* FOOTER */
.site-footer {
    background-color: #2D2C2C;
    color: #DADBCE;
    padding: 60px 0 30px;
    height: 500px;
    position: relative;
    display: flex;
    align-items: center;
}
@media (min-width: 1400px){
    .site-footer {
        height: 425.5px;
    }
}
.site-footer .container {
    z-index: 2;
}
.site-footer img {
    max-width: 173px;
}
@media (min-width: 1200px){
	.site-footer img {
		width: 300px !important;
		max-width: 300px !important;
	}
}
.footer-title {
    font-family: 'helvetica-neue-lt-pro', sans-serif;
    font-size: var(--fs-30);
    font-weight: 300;
    color: #DADBCE;
    margin-bottom: 30px;
    letter-spacing: -0.03em;
}
@media (max-width: 1399px){
    .footer-contact {
        margin-top: 50px;
		top: 100px;
        position: relative;
    }
}
.footer-contact p{
    font-family: 'Inter', sans-serif;
    font-size: var(--fs-18);
    line-height: 150%;
    font-weight: 400;
    color: #DADBCE;
    margin: 0;
}

.footer-contact p.footer-title{
    font-weight: 700;
}
.footer-contact p a{
    color: #DADBCE;
    text-decoration: none;
}
.copy{
    background: #2D2C2C;
    color: #6C6C69;
    font-size: var(--fs-12);
    padding: 25px 0;
}
@media (min-width: 992px) {
	.copy{
		font-size: var(--fs-15);
		padding: 37.5px 0 25px;
	}
}
@media (min-width: 1400px) {
    .copy {
        padding: 20px 0;
    }
}

.copy ul{
    list-style: none;
	margin: 0;
    padding: 0;
}
@media (min-width: 1400px) {
    .copy ul{
        display: flex;
        text-align: left;
    }
    .copy ul li:not(:last-child):after{
        content: '|';
        margin: 0 15px;
    }
}
.copy a{
    color: #EDEDEB;
    text-decoration: none;
}
/* MAPA FOOTER - VERSIÓN FINAL */
.footer-map {
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 0 !important;
    display: block !important;
    background: #000000;
    pointer-events: none;
}

.footer-map .mapboxgl-map {
    width: 100% !important;
    height: 100% !important;
}

.footer-map .mapboxgl-canvas-container {
    width: 100% !important;
    height: 100% !important;
    background: #2D2C2C;
}

.footer-map .mapboxgl-canvas {
    width: 100% !important;
    height: 100% !important;
    opacity: .5;
}
.mapboxgl-control-container{
    opacity: 0;
}
/* Marcador personalizado */
.custom-marker {
    cursor: pointer;
    transition: transform 0.3s ease;
    filter: none !important; /* El marcador mantiene sus colores originales */
}

.custom-marker:hover {
    transform: scale(1.1);
}

/* Popup de Mapbox */
.mapboxgl-popup-content {
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    filter: none !important; /* El popup mantiene sus colores originales */
}

.mapboxgl-popup-tip {
    border-top-color: #fff !important;
}

.mapboxgl-ctrl-attrib {
    font-size: 10px !important;
    background-color: rgba(255, 255, 255, 0.8) !important;
}

/* Marcador personalizado para Leaflet */
.custom-marker-leaflet {
    background: none !important;
    border: none !important;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.custom-marker-leaflet:hover {
    transform: scale(1.1);
}

/* Popup de Leaflet */
.leaflet-popup-content-wrapper {
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

.leaflet-popup-tip {
    background-color: #fff !important;
}

/* Responsive mapa */
@media (max-width: 768px) {
    .footer-map {
        height: 300px;
    }
}

/* PAGINACIÓN */
.pagination {
    margin: 0;
}

.page-link {
    color: #2D2C2C;
    border: 1px solid #DADBCE;
    background-color: transparent;
    font-family: 'Inter', sans-serif;
    font-size: var(--fs-14);
    padding: 8px 12px;
}

.page-link:hover {
    color: #2D2C2C;
    background-color: #EDEDEB;
    border-color: #2D2C2C;
}

.page-item.active .page-link {
    background-color: #2D2C2C;
    border-color: #2D2C2C;
    color: #DADBCE;
}

.page-item.disabled .page-link {
    color: #6c757d;
    background-color: transparent;
    border-color: #DADBCE;
    opacity: 0.5;
}

/* ==========================================================================
   PÁGINAS INTERIORES
   ========================================================================== */

.page-hero {
    background-color: #2D2C2C;
    color: #DADBCE;
    padding: 100px 0 60px;
    position: relative;
}

.page-hero-content {
    text-align: center;
}

.page-title {
    font-size: var(--fs-60);
    font-weight: 300;
    margin-bottom: 1rem;
    line-height: 1.2;
}

.page-excerpt {
    font-size: var(--fs-18);
    margin-bottom: 0;
    opacity: 0.9;
}

.page-excerpt p {
    margin-bottom: 0;
}

.page-main-content {
    background-color: #EDEDEB;
    padding: 80px 0;
    min-height: 60vh;
}

.page-content-text {
    font-size: var(--fs-15);
    line-height: 1.8;
    color: #2D2C2C;
}

.page-content-text h1,
.page-content-text h2,
.page-content-text h3,
.page-content-text h4,
.page-content-text h5,
.page-content-text h6 {
    color: #2D2C2C;
    margin-top: 2rem;
    margin-bottom: 1rem;
}

.page-content-text h2 {
    font-size: var(--fs-30);
    font-weight: 300;
}

.page-content-text h3 {
    font-size: var(--fs-25);
    font-weight: 400;
}

.page-content-text p {
    margin-bottom: 1.5rem;
}

.page-content-text ul,
.page-content-text ol {
    margin-bottom: 1.5rem;
    padding-left: 2rem;
}

.page-content-text li {
    margin-bottom: 0.5rem;
}

.page-featured-image {
    text-align: center;
}

.page-featured-image img {
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(45, 44, 44, 0.1);
}

.page-custom-fields {
    background-color: #f8f9fa;
    padding: 2rem;
    border-radius: 8px;
    border-left: 4px solid #2D2C2C;
}

.page-custom-fields h3 {
    color: #2D2C2C;
    font-size: var(--fs-22);
    margin-bottom: 1.5rem;
    font-weight: 500;
}

.custom-field {
    margin-bottom: 0.75rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.custom-field strong {
    color: #2D2C2C;
    min-width: 150px;
}

.custom-field span {
    color: #666;
}

.btn-back-home {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background-color: #2D2C2C;
    color: #DADBCE;
    text-decoration: none;
    padding: 12px 24px;
    border-radius: 4px;
    font-size: var(--fs-14);
    font-weight: 500;
    transition: all 0.3s ease;
}

.btn-back-home:hover {
    background-color: #1a1919;
    color: #DADBCE;
    text-decoration: none;
    transform: translateY(-1px);
}

.page-navigation {
    text-align: center;
    padding-top: 2rem;
    border-top: 1px solid #ddd;
}

/* Responsive para páginas interiores */
@media (max-width: 768px) {
    .page-hero {
        padding: 80px 0 40px;
    }
    
    .page-title {
        font-size: var(--fs-40);
    }
    
    .page-excerpt {
        font-size: var(--fs-15);
    }
    
    .page-main-content {
        padding: 60px 0;
    }
    
    .page-custom-fields {
        padding: 1.5rem;
    }
    
    .custom-field {
        flex-direction: column;
        gap: 0.25rem;
    }
    
    .custom-field strong {
        min-width: auto;
    }
}

/* ==========================================================================
   MULTILAYER PAGE REVEAL
   ========================================================================== */

.page-reveal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    pointer-events: none;
    display: none;
}

.reveal-layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: translateY(0);
    transition: transform 0.8s cubic-bezier(0.77, 0, 0.175, 1);
}

.reveal-layer-1 {
    background-color: #2D2C2C;
    z-index: 5;
}

.reveal-layer-2 {
    background-color: #3a3939;
    z-index: 4;
}

.reveal-layer-3 {
    background-color: #474646;
    z-index: 3;
}

.reveal-layer-4 {
    background-color: #545353;
    z-index: 2;
}

.reveal-layer-5 {
    background-color: #616060;
    z-index: 1;
}

.reveal-layer.reveal-animate {
    transform: translateY(-100%);
}

.main-content {
    transition: opacity 0.6s ease-in-out;
}
/*HERE*/
.main-content{
	margin-top: 50px;
}
body.home .main-content{
	margin: 0;
}
body.page-id-130 .main-content{
	margin-top: 0;
}
body .logo-link {
  margin-left: 18px; /* valor general */
}

@media (max-width: 767px) {
  body .logo-link {
    margin-left: 0px;
  }
}
body.home .navbar .logo-link,
body.page-id-130 .navbar .logo-link{
	opacity: 0;
}
.main-content.content-fade-in {
    animation: contentFadeIn 0.6s ease-out;
}

@keyframes contentFadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ==========================================================================
   GSAP ANIMATIONS
   ========================================================================== */

/* Clases base para animaciones GSAP */
.gsap-fade-up-letters {
    overflow: visible; /* Cambiar a visible para que no corte acentos */
    line-height: 1.2; /* Ajustar line-height para mejor spacing */
    padding-top: 10px; /* Espacio extra para acentos */
    padding-bottom: 5px;
}

.gsap-fade-up-letters span {
    display: inline-block;
    will-change: transform, opacity;
    position: relative; /* Para posicionamiento de acentos */
}

.gsap-fade-up-letters .word {
    display: inline-block;
    margin-right: 0.3em; /* Espacio entre palabras */
    white-space: nowrap; /* Evita que las palabras se rompan */
}

.gsap-fade-up-letters .word:last-child {
    margin-right: 0;
}

/* Asegurar que los spans de elementos decorativos (como líneas) se mantengan */
.gsap-fade-up-letters span.line {
    opacity: 1 !important;
    transform: none !important;
    display: inline-block !important;
    position: relative;
    top: auto;
    background: #FF2100;
    width: 29px;
    height: 4px;
	margin-left: 10px;
}

.gsap-fade-up,
.gsap-fade-left,
.gsap-fade-right,
.gsap-scale-up {
    will-change: transform, opacity;
}

/* Mejoras de performance para animaciones */
.team-member-link,
.card-areas {
    will-change: transform, opacity;
}

/* Smooth transitions para elementos interactivos */
.team-member-link:hover {
    transform: translateY(-2px);
    transition: transform 0.3s ease;
}


/* MOBILE SLIDER PARA ÁREAS */
.areas-swiper {
    width: 100%;
    height: auto;
    padding: 20px 0 60px 0; /* Espacio para paginación */
}

.areas-swiper .swiper-wrapper {
    align-items: stretch; /* Para que todas las slides tengan la misma altura */
}

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

.areas-swiper .card-areas {
    width: 100%;
    height: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
}

.area-read-more-btn{
    color: #000000;
    font-weight: 700;
}

/* Paginación personalizada */
.areas-pagination {
    width: 100% !important;
    transform: none !important;
    position: static !important;
    margin-top: 20px;
    text-align: center;
    overflow: visible !important;
}

.areas-pagination .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    margin: 0 6px;
    background-color: #ddd;
    border-radius: 50%;
    opacity: 1;
    transition: all 0.3s ease;
}

.areas-pagination .swiper-pagination-bullet-active {
    background-color: #FF2100;
    transform: scale(1.2);
}

/* Botones de navegación personalizados */
.areas-navigation {
    position: relative;
    margin-top: 15px;
}

.areas-button-prev,
.areas-button-next {
    position: static;
    margin: 0 10px;
    width: 40px;
    height: 40px;
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.areas-button-prev:hover,
.areas-button-next:hover {
    background-color: #0056b3;
    transform: scale(1.1);
}

.areas-button-prev.swiper-button-disabled,
.areas-button-next.swiper-button-disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.areas-button-prev.swiper-button-disabled:hover,
.areas-button-next.swiper-button-disabled:hover {
    transform: none;
    background-color: #007bff;
}

/* Ocultar elementos de navegación de Swiper por defecto */
.areas-swiper .swiper-button-prev,
.areas-swiper .swiper-button-next {
    display: none;
}

/* Responsive: Solo mostrar slider en mobile */
@media (max-width: 767.98px) {
    .areas-container-mobile {
        padding: 0 15px;
    }
    
    .areas-swiper .swiper-slide {
        padding: 0 5px; /* Pequeño espaciado entre slides */
    }
}

/* SELECTOR DE IDIOMAS - POLYLANG */
.language-switcher,
.language-switcher-mobile {
    display: flex;
    align-items: center;
    gap: 10px;
}

.language-switcher ul,
.language-switcher-mobile ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 8px;
}

.language-switcher li,
.language-switcher-mobile li {
    margin: 0;
}

.language-switcher a,
.language-switcher-mobile a {
    display: flex;
    align-items: center;
    padding: 5px 12px;
    text-decoration: none;
    border-radius: 6px;
    transition: all 0.3s ease;
    font-size: 14px;
    font-weight: 500;
    color: #f4f4f4;
}

/* Desktop language switcher */
.language-switcher a {
    background-color: rgba(255, 255, 255, 0.1);
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.language-switcher a:hover {
    background-color: rgba(255, 255, 255, 0.2);
    transform: translateY(-1px);
}

.language-switcher .lang-item-first a,
.language-switcher .current-lang a {
    background-color: rgba(0, 123, 255, 0.9);
    border-color: #007bff;
}

/* Mobile language switcher */
.language-switcher-mobile {
    justify-content: center;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.language-switcher-mobile a {
    background-color: rgba(255, 255, 255, 0.1);
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.language-switcher-mobile a:hover {
    background-color: rgba(255, 255, 255, 0.2);
}

.language-switcher-mobile .lang-item-first a,
.language-switcher-mobile .current-lang a {
    background-color: rgba(0, 123, 255, 0.9);
    border-color: #007bff;
}

/* Banderas en el selector */
.language-switcher img,
.language-switcher-mobile img {
    width: 20px;
    height: auto;
    margin-right: 6px;
    border-radius: 2px;
}

/* Responsive para el selector de idiomas */
@media (max-width: 991px) {
    .language-switcher {
        display: none;
    }
}

@media (min-width: 992px) {
    .language-switcher-mobile {
        display: none;
    }
}

.page-id-130 .site-footer{
    height: 100vh !important;
}
.page:not(.page-id-130) .site-footer{
    display: none;
}


.page-id-28,
.page-id-8{
	display: flex;
	justify-content: space-between;
    flex-direction: column;
	height: 100vh;
}
.page-id-28 .copy,
.page-id-8 .copy{
	margin-top: auto;
}
@media (min-width: 992px){
	.page-id-8 .main-content{
		margin-top: auto;
	}
}

.member-bio p strong{
	    display: block;
    margin-bottom: 10px;
	margin-top: 10px;
}