:root{
    --col-1: ((1640px / 12) - 24px);
    --color-white: #FFFFFF;
    --color-black: #000000;
    --color-dark-green: #005d55;
    --color-light-green: #85DBC2;
    --color-gray: #D9D9D9;
    --font-a: 'Montserrat', Helvetica, Arial, Lucida, sans-serif;
}
.an-full-w {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}

.an-full-w > .et_pb_column {
	padding: 0 !important;
}

.an-text-bg-green.an-text-bg-green.an-text-bg-green.an-text-bg-green{
    padding: 130px 0px;
    background-color: var(--color-dark-green);
    color: var(--color-white);
    margin: 0px;
}
.an-text-bg-green.an-text-bg-green.an-text-bg-green.an-text-bg-green .et_pb_text_inner{
    width: calc(80% / 12 * 10);
    margin: 0 auto;
    text-align: center;

    font-family: var(--font-a);
    font-weight: 300;
    font-size: 28px;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: center;

}


.an-text-bg-green.an-text-bg-green.an-text-bg-green.an-text-bg-green h1,
.an-text-bg-green.an-text-bg-green.an-text-bg-green.an-text-bg-green h2,
.an-text-bg-green.an-text-bg-green.an-text-bg-green.an-text-bg-green h3,
.an-text-bg-green.an-text-bg-green.an-text-bg-green.an-text-bg-green h4,
.an-text-bg-green.an-text-bg-green.an-text-bg-green.an-text-bg-green h5,
.an-text-bg-green.an-text-bg-green.an-text-bg-green.an-text-bg-green h6
{
    color: var(--color-light-green);
    padding-bottom: 25px;
    font-family: var(--font-a);
    font-weight: 600;
    font-size: 55px;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: center;
}


.an-text-bg-white.an-text-bg-white.an-text-bg-white.an-text-bg-white{
    padding: 130px 0px;
    background-color: var(--color-white);
    color: var(--color-black);
    margin: 0px;
}
.an-text-bg-white.an-text-bg-white.an-text-bg-white.an-text-bg-white .et_pb_text_inner{
    width: calc(80% / 12 * 10);
    margin: 0 auto;
    text-align: center;

    font-family: var(--font-a);
    font-weight: 300;
    font-size: 28px;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: center;

}


.an-text-bg-white.an-text-bg-white.an-text-bg-white.an-text-bg-white h1,
.an-text-bg-white.an-text-bg-white.an-text-bg-white.an-text-bg-white h2,
.an-text-bg-white.an-text-bg-white.an-text-bg-white.an-text-bg-white h3,
.an-text-bg-white.an-text-bg-white.an-text-bg-white.an-text-bg-white h4,
.an-text-bg-white.an-text-bg-white.an-text-bg-white.an-text-bg-white h5,
.an-text-bg-white.an-text-bg-white.an-text-bg-white.an-text-bg-white h6
{
    color: var(--color-dark-green);
    padding-bottom: 25px;
    font-family: var(--font-a);
    font-weight: 600;
    font-size: 55px;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: center;
}

.an-3-cards{
    display: flex;
    width: 100%;
}
.an-3-cards__card{
    width: calc(100% / 3);
    padding: 50px;
}
.an-3-cards__card:nth-child(1){
    background-color: var(--color-light-green);
}
.an-3-cards__card:nth-child(2){
    background-color: var(--color-gray);
}
.an-3-cards__card:nth-child(3){
    background-color: var(--color-white);
}
.an-3-cards__wrapper-icon{
    padding-bottom: 114px;
}
.an-3-cards__icon{
    width: 99px;
    height: auto;
    display: flex;
}
.an-3-cards__text{
    color: var(--color-dark-green);
    font-family: var(--font-a);
    font-weight: 400;
    font-size: 20px;
    line-height: 100%;
    letter-spacing: 0%;
}
.an-video-cover {
	width: 100%;
	max-height: 100vh;
	overflow: hidden;
	display: flex; /* para centrar si el vídeo no llena perfecto */
}

.an-video-cover__video {
	width: 100%;
	height: auto;
	max-height: 100vh;
	object-fit: cover; /* si prefieres que SIEMPRE llene el contenedor sin barras, recortando lo que sobre */
	display: block;
}

.an-hero {
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.an-hero__bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 1;
}

.page-template-template-about #page-container {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

.an_hero.an_hero.an_hero.an_hero {
	margin: 0px;
}

/* Con admin bar activa, en escritorio (32px) */
body.admin-bar .an-hero {
	height: calc(100vh - 32px);
	max-height: calc(100vh - 32px);
}

/* Con admin bar activa, en móvil/tablet (<= 782px, la barra pasa a 46px) */
@media (max-width: 782px) {
	body.admin-bar .an-hero {
		height: calc(100vh - 46px);
		max-height: calc(100vh - 46px);
	}
}

/* ── Slider de títulos ── */

.an-hero__slider {
	position: absolute;
	inset: 0;
	z-index: 2;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
    opacity: 0;                        /* ← invisible al inicio */
    transition: opacity 0.4s ease;    /* ← fade suave al aparecer */
}

.an-hero__slide {
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	text-align: center;
	color: #fff;
	font-family: var(--font-a);
	font-weight: 600;
	font-size: 120px;
	line-height: 90px;
	letter-spacing: 0%;
	text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	transition: transform 0.4s ease, opacity 0.4s ease, scale 0.4s ease;
	pointer-events: none;
	user-select: none;
}

.an-hero__slide[data-state="active"] {
	transform: translateY(-50%);
	scale: 1;
	opacity: 1;
	pointer-events: auto;
}

.an-hero__slide[data-state="prev"] {
	transform: translateY(calc(-50% - 160px));
	scale: 0.65;
	opacity: 0.3;
}

.an-hero__slide[data-state="next"] {
	transform: translateY(calc(-50% + 160px));
	scale: 0.65;
	opacity: 0.3;
}

.an-hero__slide[data-state="hidden-top"] {
	transform: translateY(calc(-50% - 320px));  /* se va por arriba */
	scale: 0.5;
	opacity: 0;
}

.an-hero__slide[data-state="hidden-bottom"] {
	transform: translateY(calc(-50% + 320px));  /* se va por abajo */
	scale: 0.5;
	opacity: 0;
}

/* Neutralizar el wrapper que Divi mete entre el slider y los slides */
.an-hero__slider .et_pb_module {
    position: absolute !important;
    inset: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}
.an-hero__slider .et_pb_module_inner {
    height: 100%;
}
.an-hero__slider .et_pb_module {
    position: absolute !important;
    inset: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    height: 100% !important;  /* ← esto es lo que faltaba */
}

/* DIVI CLASS */
.an_custom_1.an_custom_1.an_custom_1.an_custom_1{
    margin-bottom: 0px;
}


.an-custom-1 {
	position: relative;
	display: flex;
	gap: 24px;
	overflow: hidden; /* para que el icono de fondo no sobresalga si lo posicionas fuera */
    background-color: var(--color-gray);
    padding-top: 180px;
    padding-bottom: 180px;
}

.an-custom-1--reverse {
	flex-direction: row-reverse;
}

.an-custom-1__col {
	width: 50%;
}
.an-custom-1__col--content{

}
.an-custom-1__box-media{
    /* width: calc(6 * var(--col-1) + 24px); */
    /* padding-left: var(--col-1);
    padding-right: var(--col-1); */
}
.an-custom-1__box-content{
    width: calc(7 * var(--col-1) + 24px);
    padding-left: calc(1 * var(--col-1));
    /* padding-left: var(--col-1);
    padding-right: var(--col-1); */
}

.an-custom-1--reverse .an-custom-1__col--media{
    width: 45%;
}

.an-custom-1--reverse .an-custom-1__col--content{
    width: 55%;
}


.an-custom-1--reverse .an-custom-1__box-content{
    width: 100%;
    padding-left: calc(1 * var(--col-1));
    padding-right: calc(1 * var(--col-1));
}

.an-custom-1__bg-icon {
	position: absolute;
	z-index: 0;
	width: 14vw; /* ajusta a tu gusto */
    right: 0px;
    top: 250px;
}

.an-custom-1__image {
    width: 100%;
}

.an-custom-1--reverse .an-custom-1__bg-icon{
    right: auto;
    left: -5%;
}

.an-custom-1__title{
    font-family: var(--font-a);
    font-weight: 500;
    font-size: 100px;
    line-height: 0.9;
    color: var(--color-dark-green);
    padding-bottom: 35px;
    padding-right: calc(1 * var(--col-1));
    position: relative;
    z-index: 1;
}

.an-custom-1__description{
    font-family: var(--font-a);
    font-weight: 400;
    font-size: 28px;
    line-height: 100%;
    letter-spacing: 0%;
    color: var(--color-black);
    padding-right: calc(1 * var(--col-1));
    position: relative;
    z-index: 1;
}

.an-custom-1__items {
	display: flex;
	flex-direction: column;
	gap: 16px;
    padding-top: 75px;
}

.an-custom-1-item {
	display: flex;
	gap: 32px;
	align-items: flex-start;
}

.an-custom-1-item__icon{
	width: 40px;
    height: auto;
}
.an-custom-1-item__text{
    padding-top: 6px;
    font-family: var(--font-a);
    font-weight: 400;
    font-size: 16px;
    line-height: 25px;
    letter-spacing: 0%;
    color: var(--color-black);

}
.an-custom-1-item__text h1,
.an-custom-1-item__text h2,
.an-custom-1-item__text h3,
.an-custom-1-item__text h4,
.an-custom-1-item__text h5,
.an-custom-1-item__text h6{
    font-family: var(--font-a);
    font-weight: 500;
    font-size: 20px;
    line-height: 100%;
    letter-spacing: 0%;
    color: var(--color-dark-green);
}

.an-custom-1-item__text p:empty{
    display: none;
}

.an-cards-grid {
	display: block;
    width: 100%;
    background-color: var(--color-dark-green);
    padding-bottom: 119px;
}
.an-cards-grid__inner{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
    width: calc(80% / 12 * 10);
    margin: 0 auto;
}
.an-cards-grid__card {
	position: relative;
	overflow: hidden;
	/* tu border, border-radius, fondo, min-height, etc */
	min-height: 240px;
    border-radius: 16px;
    border: 1px solid var(--color-light-green);
}

/* Title: centrado absoluto por defecto */
.an-cards-grid__title {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: top 0.4s ease, transform 0.4s ease;
	width: 100%;
	text-align: center;
	padding: 0 24px;
    color: var(--color-light-green);
}
.an_cards_grid_item.an_cards_grid_item.an_cards_grid_item.an_cards_grid_item{
    margin-bottom: 0px;
}

/* Text: siempre abajo a 10px, solo cambia opacidad */
.an-cards-grid__text {
	position: absolute;
	bottom: 10px;
	left: 0;
	right: 0;
	padding: 0 24px;
	text-align: center;
	opacity: 0;
	transition: opacity 0.4s ease;
    color: var(--color-white);
}

/* Hover: title sube a su sitio natural arriba */
.an-cards-grid__card:hover .an-cards-grid__title {
	top: 32px; /* ajusta al padding que quieras arriba */
	transform: translate(-50%, 0);
}

.an-cards-grid__card:hover .an-cards-grid__text {
	opacity: 1;
}