:root{
    --reveal-duration: 1.3s;
    --reveal-ease: cubic-bezier(.22,.61,.36,1);
}

body.is-loading {
    overflow-x: hidden;
}

/* Pantalla blanca inicial mientras carga: cubre todo hasta que se quite la clase is-loading */
body.is-loading::before{
    content: "";
    position: fixed;
    inset: 0;
    background: var(--color7);
    z-index: 9999;
    pointer-events: none;
}

body.is-ready .slider {
    animation: sliderRevealSoft 0.85s var(--reveal-ease) both;
}

body.is-ready .slider::after {
    content: none;
}

body.is-ready header {
    animation: headerDrop 0.8s cubic-bezier(.2,.8,.2,1) both;
}

.anim-scroll {
    opacity: 0;
    transform: translate3d(0, 42px, 0);
    transition: opacity 0.75s ease, transform 0.75s cubic-bezier(.22,.61,.36,1);
    transition-delay: var(--anim-delay, 0s);
    will-change: opacity, transform;
}

.anim-scroll.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.sub__footer .anim-scroll {
    transform: none;
    transition: opacity 0.9s ease;
}

.sub__footer .anim-scroll.is-visible {
    transform: none;
}

@keyframes sliderReveal {
    from {
        clip-path: inset(0 100% 0 0 round 25px);
        filter: brightness(0.92);
    }
    to {
        clip-path: inset(0 0 0 0 round 25px);
        filter: brightness(1);
    }
}

@keyframes sliderRevealSoft {
    from {
        opacity: 0;
        transform: translate3d(0, 12px, 0) scale(1.01);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@keyframes sliderCurtain {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(102%);
    }
}

@keyframes headerDrop {
    from {
        opacity: 0;
        transform: translate3d(0, -36px, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

:root{
    --color1: #271959;
    --color2: #44308C;
    --color3: #204473;  
    --color4: #3B8C4F;
    --color5: #F9F9F9;
    --color6: #212121;
    --color7: #FFFFFF;
    --presenter-bg: #fbf8ff; /* ligero tinte para distinguir del fondo blanco */
}

*{
    font-family: "Montserrat", sans-serif;
    padding: 0;
    margin:0;
    box-sizing: border-box;
}

.wrap{
    width: 95%;
    margin:auto;
    max-width: 1360px;
}

/* header */
header{
    position: sticky;
    top:0;
    z-index: 1000;
    background-color: var(--color7);
    transition: background-color 0.3s, opacity 0.3s ease;
}

header .wrap{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
    flex-wrap: wrap;
    gap:20px;
}

header .wrap{position:relative}

header.stick{
    background-color: var(--color1);
    opacity: 0;
    pointer-events: none;
}
header.show{
    opacity: 1;
    pointer-events: all;
}

@media(max-width:800px){
    header,
    header.stick,
    header.show{
        position: relative;
        background-color: #ffffff;
        opacity: 1;
        pointer-events: all;
    }
}


header .wrap .logo{
    width: auto;
    height: 100px;
}

header .wrap .logo img{
    width: auto;
    height: 100%;
}

header .wrap .logo img:nth-child(2),
header.stick .wrap .logo img:nth-child(1){
    display: none;
}

header.stick .wrap .logo img:nth-child(2){
    display: block;
}

/* btn-nav */
#btn-nav{
	display: none !important;
}

@media(max-width:800px){
	header label{
		position: absolute;
		display: block;
		width: 45px;
		height: 45px;
		top:40px;
		right: 20px;
		border-radius: 3px;
		cursor: pointer;
		outline: none;
		background: var(--color10);
		border-radius: 5px;
        z-index: 99;

	}

	header label span{
		width: 50%;
		height: 3px;
		background: var(--color1);
		display: block;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		transition: all .3s ease;
	}

	header label span:nth-child(1){
		top:14px;
	}

	header label span:nth-child(2){
		bottom:14px;
	}

	#btn-nav:checked ~ label span:nth-child(1){
		transform: translateX(-50%) rotate(-45deg);
		top:21px;
	}

	#btn-nav:checked ~ label span:nth-child(2){
		transform: translateX(-50%) rotate(45deg);
		top:21px;
	}
}

/* nav */
header nav.principal__nav{
    flex:3;
}
header nav.principal__nav ul{
    display: flex;
    align-items: center;
    gap: 20px;
    list-style-type: none;
}
header nav.principal__nav ul li a{
    display: block;
    text-decoration: none;
    color: var(--color6);
    opacity: .7;
}

@media(max-width:800px){
    header nav.principal__nav{
        position: fixed;
        top:0;
        right:0;
        width: 100%;
        height: 100vh;
        background-color: var(--color7);
        flex-direction: column;
        justify-content: center;
        align-items: center;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.3s ease;
    }

    #btn-nav:checked ~ nav.principal__nav{
        opacity: 1;
        pointer-events: all;
    }

    header nav.principal__nav ul{
        flex-direction: column;
        margin:100px 0 0 0;
    }

    header nav.principal__nav ul li{
        width: 100%;
    }

    header nav.principal__nav ul li a{
        padding: 20px;
        font-size: 1.5rem;
        width: 100%;
        text-align: center;
    }
}


header.stick nav.principal__nav ul li a{
    color: var(--color7);
}

/* top__cta */
.top__cta ul{
    display: flex;
    align-items: center;
    gap: 20px;
    list-style-type: none;
}

@media(max-width:800px){
    .top__cta{
        width: 100%;
    }
    .top__cta ul{
        gap: 12px;
        justify-content: center;
        width: 100%;
    }

    .top__cta ul li{
        max-width: 50%;
    }
}

.top__cta ul li a{
    display: block;
    text-decoration: none;
    color: var(--color6);
    padding: 15px 20px;
    border-radius: 25px;
    font-weight: 600;
    transition: background-color 0.2s, color 0.2s;
}

header.stick .top__cta ul li a{
    color: var(--color7);
}

.top__cta ul li:nth-last-child(1) a{
    color: var(--color5);
    background-color: var(--color1);
}

.top__cta ul li:nth-last-child(2) a{
    color: var(--color1);
}

header.stick .top__cta ul li:nth-last-child(1) a{
    color: var(--color1);
    background-color: var(--color7);
}

/* Slider principal */
.slider {
    width: calc(100vw - 40px);
    inset:0 20px;
    height: calc(100vh - 120px);
    min-height: 350px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    border-radius: 25px;
}
.slider .slider__wrap {
    width: calc(100vw - 40px);
    height: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}
@media(max-width:800px){
    .slider{
        height: 60vh;
    }
}

.slider .slider__slides {
    width: calc(100vw - 40px);
    height: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}
.slider .slider__slide {
    position: absolute;
    width: calc(100vw - 40px);
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0;
    pointer-events: none;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: none;
}
.slider .slider__slide.active {
    opacity: 1;
    pointer-events: auto;
    z-index: 2;
}

.slider .slider__slide--banner .slider__banner-link {
    position: absolute;
    inset: 0;
    display: block;
    z-index: 3;
    cursor: pointer;
}

.slider-mobile-banner {
    display: none;
}
.slider .slider__img {
    position: absolute;
    width: 100vw;
    height: 100%;
    object-fit: cover;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: 1;
    transition: none;
    will-change: transform, opacity;
    pointer-events: none;
    filter: brightness(60%);
}

.slider .slider__content {
    position: relative;
    z-index: 2;
    color: #fff;
    text-align: center;
    padding: 2rem 3vw;
    display: inline-block;
    min-width: 320px;
    max-width: 90vw;
}

.slider .slider__content h2{
    font-size: clamp(2rem, 4vw, 5rem);
}

.slider .slider__content p {
    font-size: clamp(1rem, 2.5vw, 1.5rem);
    margin-top: 0.5rem;
}

.slider .slider__content .btn__home{
    display: table;
    text-align: center;
    margin:20px auto 0 auto;
}

.slider .slider__content .btn__home a{
    text-align: center;
    margin-top: 20px;
    padding: 20px 50px;
    background-color: var(--color1);
    color: var(--color7);
    border-radius: 5px;
    text-decoration: none;
    font-weight: 600;
    margin:20px auto 0 auto;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: block;
    transition: all 0.2s, color 0.2s;
}

.slider .slider__content .btn__home:hover a{
    color: var(--color3);
    transform: translateY(-2px);
    background-color: var(--color7);
}

/* Flechas */
.slider .slider__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0,0,0,0.5);
    border-radius: 50%;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: background 0.2s;
    user-select: none;
}

@media(max-width: 600px){
    .slider .slider__arrow {
        display: none;
    }
}

@media(max-width:800px){
    .slider .slider__slide--banner {
        display: none;
    }

    .slider-mobile-banner {
        display: block;
        width: calc(100vw - 40px);
        margin: 14px 20px 0 20px;
        border-radius: 16px;
        overflow: hidden;
    }

    .slider-mobile-banner__link,
    .slider-mobile-banner__img {
        display: block;
        width: 100%;
    }

    .slider-mobile-banner__img {
        height: auto;
        object-fit: contain;
        filter: none;
    }
}


.slider .slider__arrow span.material-icons {
    color: #fff;
    font-size: 2rem;
    pointer-events: none;
}
.slider .slider__arrow:hover {
    background: rgba(0,0,0,0.8);
}
.slider .slider__arrow--left {
    left: 2vw;
}
.slider .slider__arrow--right {
    right: 2vw;
}
/* Animaciones fade y zoom */
@keyframes fadeInRight {
    from { opacity: 0; transform: translateX(60px); }
    to { opacity: 1; transform: translateX(0); }
}
@keyframes fadeOutLeft {
    from { opacity: 1; transform: translateX(0); }
    to { opacity: 0; transform: translateX(-60px); }
}
@keyframes fadeInLeft {
    from { opacity: 0; transform: translateX(-60px); }
    to { opacity: 1; transform: translateX(0); }
}
@keyframes fadeOutRight {
    from { opacity: 1; transform: translateX(0); }
    to { opacity: 0; transform: translateX(60px); }
}
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(40px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeOutDown {
    from { opacity: 1; transform: translateY(0); }
    to { opacity: 0; transform: translateY(40px); }
}
@keyframes zoomIn {
    from { transform: scale(1); }
    to { transform: scale(1.08); }
}
@keyframes zoomOut {
    from { opacity: 1; transform: scale(1.08); }
    to { opacity: 0; transform: scale(1.08); }
}
.slider .slider__slide.fadeInRight {
    animation: fadeInRight 0.8s both;
}
.slider .slider__slide.fadeOutLeft {
    animation: fadeOutLeft 0.8s both;
}
.slider .slider__slide.fadeInLeft {
    animation: fadeInLeft 0.8s both;
}
.slider .slider__slide.fadeOutRight {
    animation: fadeOutRight 0.8s both;
}
.slider .slider__content.fadeInUp {
    animation: fadeInUp 0.7s both;
}
.slider .slider__content.fadeOutDown {
    animation: fadeOutDown 0.7s both;
}
.slider .slider__img.zoomIn {
    animation: zoomIn 5s linear both;
}
.slider .slider__img.zoomOut {
    animation: zoomOut 0.8s linear both;
}



/* banner__1 */
.banner__1{
    padding: 60px 0;
}

.banner__1 h1{
    max-width: 1000px;
    line-height: 1.6;
    font-weight: 400;
    font-size: clamp(1.5rem, 3vw, 2.3rem);
    color: var(--color6);
}

.banner__1 h1 span{
    color: var(--color1);
    font-weight: 600;
    opacity: 1; 
}


@media(max-width:800px){
    .banner__1{
        padding: 40px 0;
    }

    .banner__1 h1{
        font-size: clamp(1.2rem, 4vw, 1.8rem);
        text-align: center;
    }
}


/* services__home */
.services__home{
    background-color: var(--color5);
    border-radius: 25px;
    width: calc(100% - 40px);
    inset:20px;
    margin:auto;
    padding: 100px 0 180px 0;
}

.title__section{
    padding: 40px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    flex-wrap: wrap;
    position: relative;
    z-index: 10;
}
.title__section .left{
    flex: 1;
}

@media(max-width:800px){

    .services__home{
        padding: 20px 0 20px 0;
    }

    .title__section{
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .title__section .left{
        text-align: center;
        width: 100%;
    }
}



.title__section .left h2{
    font-weight: 500;
    line-height: 1;
    font-size: clamp(2rem, 3.5vw, 3rem);
    opacity: .8;
}

.title__section .left h2 span{
    opacity: .7;
    display: block;
    font-size: clamp(2rem, 3vw, 2.7rem);
}

.title__section .cta__services{
    max-width: 400px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    line-height: 1.8;
}

.title__section .cta__services div{
    text-align: right;
    color: var(--color6);
}


.title__section .cta__services a{
    text-decoration: underline;
    color: var(--color1);
    text-decoration: none;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 15px 0;
    position: relative;
}



@media(max-width:800px){
    .title__section .cta__services{
        align-items: flex-start;
        width: 100%;
        text-align: center;
    }

    .title__section .cta__services div{
        text-align: center;
        justify-content: center;
    }

    .title__section .cta__services a{
        justify-content: center;
        width: 100%;
    }
}


.title__section .cta__services a{
    position: relative;
}

.title__section .cta__services a::after{
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    background-color: var(--color1);
    left: 0;
    bottom: 0;

    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}

.title__section .cta__services a:hover::after{
    transform: scaleX(1);
    transform-origin: left;
}

.title__section .cta__services a:not(:hover)::after{
    transform-origin: right;
}

.title__section .cta__services a span{
    font-size: 17px;
}

.services__home .gallery__service{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.services__home .gallery__service article{
    width: 22%;
    background-color: var(--color7);
    padding: 40px;
    border-radius: 20px;
    text-align: center;
}

@media(max-width:800px){
    .services__home .gallery__service article{
        width: 100%;
    }
}

.services__home .gallery__service .image{
    max-width: 140px;
    margin:auto;
}

.services__home .gallery__service .image img{
    width: 100%;
    height: auto;
    border-radius: 15px;
}

.services__home .gallery__service article h3{
    font-size: 20px;
    color: var(--color6);
    margin:20px 0 0 0;
}

/* banner__2 */
.banner__2{
    padding: 140px 0;
    background-color: var(--color1);
    color: var(--color7);
    border-radius: 25px;
    width: calc(100% - 40px);
    margin:20px;
    position: relative;
    overflow: hidden;
}

.banner__2 > img{
    position: absolute;
    width: 40%;
    z-index: 1;
    filter: grayscale(100%) brightness(0%) invert(100%) opacity(20%);
    top:50%;
    right: -15%;
    transform: translateY(-40%);
    opacity: .2;
    pointer-events: none;
}

.banner__2 .wrap{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
    flex-wrap: wrap;
    max-width: 980px;
    z-index: 2;
    position: relative;
}

.banner__2 .wrap article{
    flex: 1;
}

@media(max-width:800px){
    .banner__2{
        padding: 40px 0;
    }
    .banner__2 .wrap{
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .banner__2 .wrap article{
        width: 100%;
        padding:0 50px;
    }
}


.banner__2 .wrap article img{
    width: 100%;
    aspect-ratio: 3/4;
    border-radius: 15px 30% 10% 23%;
    object-fit: cover;
    pointer-events: none;
}

.banner__2 .wrap article h2{
    font-weight: 500;
    line-height: 1;
    font-size: clamp(2rem, 3.5vw, 3rem);
    margin:0 0 30px 0;
}

.banner__2 .wrap article ul li{
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 30px 0;
    font-size: 14px;
    line-height: 1.6;
}

.banner__2 .wrap article ul li span{
    min-width: 35px;
    height: 35px;
    font-size: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color5);
    color: var(--color1);
    border-radius: 10px;
}


/* banner__program */
.banner__program{
    padding: 60px 0; /* reducir espacio vertical para continuidad visual */
}

.banner__program .programs__intro{
    max-width: 980px;
    margin: 0 auto 18px auto;
    color: var(--color6);
    font-size: 1.05rem;
    line-height: 1.6;
    text-align: left;
}


.banner__program .gallery__programs{
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

.banner__program .gallery__programs article{
    width: 48%;
    background-color: var(--color7);
    padding: 24px; /* reducir padding para disminuir sensación de vacío */
    border-radius: 16px;
    box-shadow: 0 6px 20px rgba(33,33,33,0.05);
}

@media(max-width:800px){
    .banner__program .programs__intro{
        text-align: center;
    }
    .banner__program .gallery__programs article{
        width: 100%;
    }
}

.banner__program .gallery__programs article img{
    width: 100%;
    aspect-ratio: 3/4;
    object-fit: cover;
    border-radius: 25px;
}

.banner__program .gallery__programs article .acordeon {
    width: 100%;
    border-radius: 18px;
    overflow: hidden;
}

.banner__program .gallery__programs article .acordeon .acordeon__item {
    border-bottom: 1px solid var(--color4);
    padding: 0;
    position: relative;
}

.banner__program .gallery__programs article .acordeon .acordeon__item:last-child {
    border-bottom: none;
}

.banner__program .gallery__programs article .acordeon .acordeon__item h3 {
    margin: 0;
    padding: 18px 50px 18px 24px; /* menos espacio interno */
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--color1);
    cursor: pointer;
    position: relative;
    user-select: none;
    transition: color 0.2s;
}

.banner__program .gallery__programs article .acordeon .acordeon__item h3::after {
    content: '+';
    position: absolute;
    right: 32px;
    top: 50%;
    transform: translateY(-50%) scale(1.2);
    font-size: 20px;
    color: var(--color2);
    font-weight: 300;
    transition: transform 0.3s, color 0.2s;
}

.banner__program .gallery__programs article .acordeon .acordeon__item--open h3 {
    color: var(--color2);
}

.banner__program .gallery__programs article .acordeon .acordeon__item--open h3::after {
    content: '-';
    color: var(--color4);
    transform: translateY(-50%) scale(1.2) rotate(180deg);
}

.banner__program .gallery__programs article .acordeon .acordeon__item p {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    margin: 0 24px 0 24px; /* reducir márgenes laterales */
    transition: max-height 0.4s cubic-bezier(.4,0,.2,1), opacity 0.3s;
    color: var(--color6);
    font-size: 1rem;
    line-height: 1.7;
}

.banner__program .gallery__programs article .acordeon .acordeon__item--open p {
    max-height: 300px;
    opacity: 1;
    margin: 0 24px 18px 24px; /* ajustes de espaciado al abrir */
    transition: max-height 0.5s cubic-bezier(.4,0,.2,1), opacity 0.4s;
}

@media(max-width:800px){
    .banner__program .gallery__programs article .acordeon .acordeon__item p {
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        margin: 0 24px 0 24px;
        transition: max-height 0.35s ease, opacity 0.25s ease;
    }

    .banner__program .gallery__programs article .acordeon .acordeon__item--open p {
        max-height: var(--mw-accordion-content-height, 1200px);
        opacity: 1;
        margin: 0 24px 18px 24px;
        transition: max-height 0.4s ease, opacity 0.3s ease;
    }
}


/* gallery__teams */
.banner__teams{
    position: relative;
    overflow: hidden;
    padding: 100px  0 ;
}

.banner__teams > img{
    position: absolute;
    width: 35%;
    height: calc(100% - 275px);
    z-index: 1;
    right: 20px;
    top:275px;
    object-fit: cover;
    pointer-events: none;
    z-index: 1;
    border-radius: 25px;
}

@media(max-width:800px){
    .banner__teams{
        padding: 40px 0;
    }
    .banner__teams > img{
        display: none;
    }
}

.gallery__teams{
    display: flex;
    justify-content: center;
    gap: 20px 4%;
    flex-wrap: wrap;
    position: relative;
}

.gallery__teams article{
    width: 18%;
}

@media(max-width:800px){
    .gallery__teams article{
        width: 100%;
    }
}

.gallery__teams article .image img{
    width: 100%;
    aspect-ratio: 1/2;
    object-fit: cover;
    border-radius: 25px;
    transition: filter 0.3s ease, opacity 0.3s ease;
}

@media(max-width:800px){
    .gallery__teams article .image img{
        aspect-ratio: 3/4;
    }
}

.gallery__teams:hover article:not(:hover) .image img{
    filter: grayscale(100%) blur(3px);
    opacity: 0.5;
}

.gallery__teams article  .name{
    font-size: 24px;
    color: var(--color6);
    margin: 20px 0 0 0;
}

.gallery__teams article p{
    font-size: 14px;
    color: var(--color6);
}

/* faqs */
.faqs{
    padding: 100px 0;
    background-color: var(--color5);
    margin:20px;
    border-radius: 25px;
}

/* acordeon__faqs */
.faqs .wrap{
    max-width: 1000px;
}

.faqs .wrap h2{
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    color: var(--color6);
    margin-bottom: 40px;
    font-weight: 700;
}


.acordeon__faqs {
    width: 100%;
    margin: 40px auto;
    border-radius: 18px;
    overflow: hidden;
}
.acordeon__faqs .acordeon__faqs__item {
    border-bottom: 1px solid var(--color4);
    padding: 0;
    transition: background 0.2s;
    position: relative;
}
.acordeon__faqs .acordeon__faqs__item:last-child {
    border-bottom: none;
}
.acordeon__faqs .acordeon__faqs__item h3 {
    margin: 0;
    padding: 20px 56px 20px 28px;
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--color1);
    cursor: pointer;
    position: relative;
    user-select: none;
    transition: color 0.2s;
}
.acordeon__faqs .acordeon__faqs__item h3::after {
    content: '+';
    position: absolute;
    right: 28px;
    top: 50%;
    transform: translateY(-50%) scale(1.1);
    font-size: 20px;
    color: var(--color2);
    font-weight: 300;
    transition: transform 0.3s, color 0.2s;
}
.acordeon__faqs .acordeon__faqs__item--open h3 {
    color: var(--color2);
}
.acordeon__faqs .acordeon__faqs__item--open h3::after {
    content: '-';
    color: var(--color4);
    transform: translateY(-50%) scale(1.1) rotate(180deg);
}
.acordeon__faqs .acordeon__faqs__item p {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    margin: 0 28px 0 28px;
    transition: max-height 0.4s cubic-bezier(.4,0,.2,1), opacity 0.3s;
    color: var(--color6);
    font-size: 1rem;
    line-height: 1.7;
}
.acordeon__faqs .acordeon__faqs__item--open p {
    max-height: 200px;
    opacity: 1;
    margin: 0 28px 20px 28px;
    transition: max-height 0.5s cubic-bezier(.4,0,.2,1), opacity 0.4s;
}
.acordeon__faqs .acordeon__faqs__item:hover {
    background: var(--color5);
}

@media(max-width:800px){
    .acordeon__faqs .acordeon__faqs__item p {
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        margin: 0 28px 0 28px;
        transition: max-height 0.35s ease, opacity 0.25s ease;
    }

    .acordeon__faqs .acordeon__faqs__item--open p {
        max-height: var(--mw-accordion-content-height, 1200px);
        opacity: 1;
        margin: 0 28px 20px 28px;
        transition: max-height 0.4s ease, opacity 0.3s ease;
    }
}

/* content__page */
.content__page input[type="text"],
.content__page input[type="email"],
.content__page textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #f0f0f0;
    border-radius: 8px;
    font-size: 14px;    
    margin: 10px 0;
    transition: border-color 0.2s;
    resize: vertical;
}

.content__page input[type="text"]:focus,
.content__page input[type="email"]:focus,
.content__page textarea:focus {
    border-color: var(--color1);
    outline: none;
}

.content__page button,
.content__page input[type="submit"] {
    padding: 12px 24px;
    background-color: var(--color1);
    color: var(--color7);
    border: none;
    border-radius: 8px;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.2s, color 0.2s;
}

/* sub__footer */
.sub__footer{
    background-color: var(--color1);
    margin:20px;
    border-radius: 25px;
    
}

.sub__footer .wrap{
    position: relative;
    padding: 0 0 250px 0;
}

@media(max-width:800px){
    .sub__footer .wrap{
        padding: 0 0 70px 0;
    }
}

.sub__footer > .wrap > img{
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 180px;
    width: auto;
    pointer-events: none;
    max-width: 80%;
    object-fit: contain;
    object-position: bottom center;
}

.sub__footer section:nth-child(1){
    padding: 60px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: solid 1px rgba(255,255,255,0.5);
}

.sub__footer section:nth-child(1) h2{
    max-width: 600px;
    color: var(--color5);
    font-size: clamp(1.5rem, 2vw, 2.5rem);
    font-weight: 700;
}

.sub__footer section:nth-child(1) .btn__contact a{
    padding: 20px 50px;
    font-size: clamp(1rem, 2.5vw, 1.2rem);
    background-color: var(--color5);
    color: var(--color1);
    border-radius: 5px;
    text-decoration: none;
    font-weight: 600;
    transition: background-color 0.2s, color 0.2s;
}

@media(max-width:800px){
    .sub__footer section:nth-child(1){
        flex-direction: column;
        gap: 20px;
        text-align: center;
    }

    .sub__footer section:nth-child(1) h2{
        max-width: none;
        margin:0 0 20px 0;
    }
}

.sub__footer section:nth-child(2) {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    padding: 60px 0;
}


.sub__footer section:nth-child(2) article:nth-child(1){
    width: 30%;
}


.sub__footer section:nth-child(2) article:nth-child(2){
    width: 20%;
}


.sub__footer section:nth-child(2) article:nth-child(3){
    width: 30%;
}

@media(max-width:800px){
    .sub__footer section:nth-child(2) {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .sub__footer section:nth-child(2) article{
        width: 100%;
    }
}

.sub__footer section:nth-child(2) h3{
    color: var(--color5);
    font-size: 18px;
    margin:0 0 20px 0;
    font-weight: 700;
}

.sub__footer section:nth-child(2) ul.menu{
    gap: 20px;
    list-style-type: none;
}

.sub__footer section:nth-child(2) ul.menu li{
    margin:10px 0;
}

.sub__footer section:nth-child(2) ul.menu li a{
    color: var(--color5);
    text-decoration: none;
    font-size: 14px;
    transition: color 0.2s;
}

.sub__footer section:nth-child(2) ul.social{
    display: flex;
    gap: 20px;
    list-style-type: none;
}

@media(max-width:800px){
    .sub__footer section:nth-child(2) ul.social{
        justify-content: center;
    }
}

.sub__footer section:nth-child(2) ul.social li a{
    color: var(--color5);
    font-size: 40px;
}