/* ========================================================
   LANDING PAGE
   Este archivo NO se carga en las páginas internas
======================================================== */

.home-page{
    background:#f6fbfc;
}

.home-page .home-container{
    width:min(1180px,calc(100% - 40px));
    margin:auto;
}


/* ========================================================
   HERO
======================================================== */

.home-hero{
    min-height:620px;
    position:relative;
    display:flex;
    align-items:center;
    overflow:hidden;

    background-image:url('../images/felicidad.jpg');
    background-size:cover;
    background-position:center 43%;
    background-repeat:no-repeat;
}

.home-hero-overlay{
    position:absolute;
    inset:0;

    background:linear-gradient(
        90deg,
        rgba(10,75,90,.92) 0%,
        rgba(18,103,121,.82) 32%,
        rgba(25,120,138,.55) 58%,
        rgba(25,120,138,.20) 100%
    );

    z-index:1;
}

.home-hero-container{
    position:relative;
    z-index:2;

    display:grid;
    grid-template-columns:1fr .75fr;
    align-items:center;

    gap:70px;
}

@media(max-width:650px){

    .home-hero{
        min-height:680px;
        background-position:62% center;
    }

    .home-hero-overlay{
        background:linear-gradient(
            90deg,
            rgba(10,75,90,.92) 0%,
            rgba(18,103,121,.78) 100%
        );
    }

}

.home-hero-content{
    max-width:590px;
}

.home-eyebrow,
.home-section-label{
    display:block;

    margin-bottom:13px;

    color:#176b7e;

    font-size:9px;
    font-weight:bold;

    letter-spacing:2px;
}

.home-eyebrow{
    color:rgba(255,255,255,.78);
}

.home-hero h1{
    margin:0;

    color:#fff;

    font-size:clamp(42px,5vw,66px);
    line-height:1.08;

    font-weight:400;
}

.home-hero h1 em{
    display:block;

    color:#c5e8e4;

    font-weight:400;
}

.home-hero-description{
    max-width:520px;

    margin:22px 0 28px;

    color:rgba(255,255,255,.87);

    font-size:14px;
    line-height:1.75;
}

.home-hero-actions{
    display:flex;
    flex-wrap:wrap;

    gap:12px;
}

.home-btn-light{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:11px 22px;

    border:1px solid rgba(255,255,255,.7);
    border-radius:28px;

    color:#fff;

    font-size:12px;
    font-weight:bold;
}

.home-btn-light:hover{
    background:rgba(255,255,255,.12);
}

.home-hero-quote{
    max-width:450px;

    padding:30px 32px;

    border:1px solid rgba(255,255,255,.20);
    border-radius:12px;

    background:rgba(255,255,255,.12);

    backdrop-filter:blur(8px);
}

.home-hero-quote blockquote{
    margin:0 0 14px;

    color:#fff;

    font-size:20px;
    line-height:1.55;

    font-style:italic;
    font-weight:400;
}

.home-hero-quote span{
    color:rgba(255,255,255,.7);

    font-size:11px;
}


/* ========================================================
   SECCIONES
======================================================== */

.home-section{
    padding:90px 0;
}

.home-heading{
    max-width:650px;

    margin:0 auto 42px;

    text-align:center;
}

.home-heading h2,
.home-about-content h2,
.home-contact-info h2{
    margin:0 0 16px;

    color:#17323b;

    font-size:clamp(30px,3vw,42px);
    line-height:1.2;

    font-weight:400;
}

.home-heading h2 em,
.home-about-content h2 em,
.home-contact-info h2 em{
    color:#176b7e;

    font-weight:400;
}

.home-heading p{
    color:#718a92;

    line-height:1.7;
}


/* ========================================================
   NOSOTROS
======================================================== */

.home-about{
    background:#edf7f9;
}

.home-about-grid{
    max-width:1180px;

    display:grid;
    grid-template-columns:1.05fr 1fr;
    align-items:center;

    gap:70px;
}

.home-about-photo{
    min-height:460px;

    position:relative;

    border-radius:12px;

    background:
        #c9e0e5
        url('../images/about-home.jpg')
        center / cover no-repeat;

    box-shadow:0 15px 40px #17343d12;
}

.home-experience{
    position:absolute;

    right:-25px;
    bottom:-20px;

    min-width:150px;

    padding:18px 21px;

    border-radius:8px;

    background:#176b7e;

    color:#fff;

    box-shadow:0 12px 25px #17343d25;
}

.home-experience strong{
    display:block;

    margin-bottom:4px;

    font:24px Georgia,serif;
}

.home-experience span{
    font-size:8px;
    letter-spacing:.8px;
}

.home-about-content p{
    color:#718a92;

    line-height:1.75;
}

.home-stats{
    margin-top:27px;

    display:grid;
    grid-template-columns:1fr 1fr;

    gap:10px;
}

.home-stat{
    padding:17px;

    border-radius:8px;

    background:#dceef1;
}

.home-stat strong{
    display:block;

    margin-bottom:6px;

    color:#176b7e;

    font:22px Georgia,serif;
}

.home-stat span{
    color:#718a92;

    font-size:10px;
}


/* ========================================================
   SERVICIOS
======================================================== */

.home-services{
    background:#f9fcfd;
}

/* ========================================================
   SERVICIOS CON IMÁGENES
======================================================== */

/* ========================================================
   SERVICIOS
======================================================== */

.home-services{
    overflow:hidden;
}

.home-services-grid{
    width:100%;

    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));

    gap:18px;
}


/* CARD */

.home-service{
    width:100%;
    min-width:0;
    min-height:0;

    padding:0;

    overflow:hidden;

    border:1px solid #dce9ed;
    border-radius:14px;

    background:#fff;

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.home-service:nth-child(odd){
    background:#fff;
}

.home-service:hover{
    transform:translateY(-6px);

    box-shadow:
        0 18px 40px
        rgba(23,52,61,.13);
}


/* IMAGEN */

.home-service-image{
    position:relative;

    width:100%;
    height:260px;

    overflow:hidden;

    background:#dceef1;
}

.home-service-image img{
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;
    object-position:center;

    transition:transform .45s ease;
}

.home-service:hover .home-service-image img{
    transform:scale(1.05);
}


/* DEGRADADO SUTIL */

.home-service-image::after{
    content:"";

    position:absolute;
    inset:0;

    pointer-events:none;

    background:linear-gradient(
        180deg,
        transparent 65%,
        rgba(17,91,108,.10) 100%
    );
}


/* CONTENIDO */

.home-service-content{
    padding:22px 20px 25px;
}

.home-service h3{
    margin:0 0 10px;

    color:#17323b;

    font-size:18px;
    line-height:1.35;

    font-weight:700;
}

.home-service p{
    margin:0;

    color:#718a92;

    font-size:14px;
    line-height:1.7;
}


.home-center{
    width:100%;
    margin-top:38px;

    display:flex;
    justify-content:center;
    align-items:center;
}

/* ========================================================
   CONTENIDO
======================================================== */

.home-media{
    position:relative;

    padding:90px 0;

    color:#d7e8ec;

    background-image:url('../images/media-background.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;

    overflow:hidden;
}

.home-media::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgb(13 52 62 / 79%) 0%, rgb(17 62 73 / 84%) 45%, rgb(20 79 91 / 58%) 100%);
    z-index: 0;
}

.home-media > .home-container{
    position:relative;
    z-index:1;
}

.home-media .home-heading h2{
    color:#fff;
}

.home-media .home-heading h2 em{
    color:#b7dfdc;
}

.home-media .home-heading p{
    color:rgba(255,255,255,.55);
}

.home-media .home-section-label{
    color:#70bfd0;
}

.home-media-tabs,
.home-media-categories{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;

    gap:8px;
}

.home-media-tabs{
    margin-bottom:20px;
}

.home-media-tabs button,
.home-media-categories button{
    border:0;

    cursor:pointer;

    color:rgba(255,255,255,.6);

    background:rgba(255,255,255,.07);
}

.home-media-tabs button{
    padding:9px 18px;

    border-radius:22px;

    font-size:10px;
}

.home-media-categories button{
    padding:6px 13px;

    border-radius:18px;

    font-size:8px;
}

.home-media-tabs button.active,
.home-media-categories button.active,
.home-media-tabs button:hover,
.home-media-categories button:hover{
    background:#25869c;

    color:#fff;
}

.home-media-grid{
    margin-top:28px;

    display:grid;
    grid-template-columns:repeat(3,1fr);

    gap:15px;
}

.home-media-card{
    overflow:hidden;

    border:1px solid rgba(255,255,255,.08);
    border-radius:8px;

    background:rgba(255,255,255,.055);
}

.home-media-image{
    height:165px;

    position:relative;

    display:grid;
    place-items:center;

    background:
        linear-gradient(
            rgba(18,65,75,.2),
            rgba(18,65,75,.55)
        ),
        #315b65;
}

.home-media-image.course-one{
    background:
        linear-gradient(#17343d33,#17343d88),
        url('../images/course-1.jpg')
        center / cover;
}

.home-media-image.course-two{
    background:
        linear-gradient(#17343d33,#17343d88),
        url('../images/course-2.jpg')
        center / cover;
}

.home-media-image.course-three{
    background:
        linear-gradient(#17343d33,#17343d88),
        url('../images/course-3.jpg')
        center / cover;
}

.home-media-badge{
    position:absolute;

    top:10px;
    left:10px;

    padding:5px 8px;

    border-radius:14px;

    background:#48a997;

    color:#fff;

    font-size:8px;
}

.home-media-lock{
    color:#fff;

    text-align:center;

    font-size:9px;
}

.home-media-lock strong{
    display:block;

    margin-bottom:5px;

    font-size:18px;
}

.home-media-duration{
    position:absolute;

    right:8px;
    bottom:8px;

    padding:4px 6px;

    border-radius:3px;

    background:#000a;

    color:#fff;

    font-size:7px;
}

.home-media-body{
    padding:16px;
}

.home-media-body h3{
    margin:0 0 8px;

    color:#fff;

    font-size:14px;
    line-height:1.4;
}

.home-media-body p{
    margin:0;

    color:rgba(255,255,255,.5);

    font-size:9px;
    line-height:1.6;
}


/* ========================================================
   TESTIMONIOS - CARRUSEL
======================================================== */

.home-testimonials{
    padding:85px 0 95px;

    background:#eef8fa;

    overflow:hidden;
}


/* CONTENEDOR DEL CARRUSEL */

.testimonials-carousel{
    position:relative;

    width:100%;

    margin-top:42px;
}


/* VIEWPORT */

.testimonials-viewport{
    width:100%;

    overflow:hidden;
}


/* TRACK */

.testimonials-track{
    display:flex;

    gap:20px;

    transition:transform .55s cubic-bezier(.22,.61,.36,1);

    will-change:transform;
}


/* CARD */

.home-testimonial{
    flex:0 0 calc((100% - 40px) / 3);

    min-width:0;
    min-height:270px;

    display:flex;
    flex-direction:column;

    padding:30px 28px;

    border:1px solid #d7e5e9;
    border-radius:10px;

    background:#fff;

    box-shadow:
        0 8px 25px rgba(23,52,61,.035);
}


/* COMILLAS */

.testimonial-quote{
    margin-bottom:24px;

    color:#14758b;

    font-size:34px;
    line-height:1;

    font-weight:700;
}


/* TESTIMONIO */

.home-testimonial > p{
    margin:0 0 28px;

    color:#69848d;

    font-size:15px;
    line-height:1.8;

    font-style:italic;
}


/* USUARIO */

.home-testimonial-user{
    display:flex;
    align-items:center;

    gap:12px;

    margin-top:auto;
}

.testimonial-avatar{
    width:36px;
    height:36px;

    flex:0 0 36px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:#14758b;

    color:#fff;

    font-size:13px;
    font-weight:700;
}

.home-testimonial-user strong{
    display:block;

    margin-bottom:2px;

    color:#17323b;

    font-size:13px;
}

.home-testimonial-user small{
    display:block;

    color:#789099;

    font-size:11px;
}


/* ========================================================
   FLECHAS
======================================================== */

.testimonial-arrow{
    position:absolute;

    top:50%;

    z-index:5;

    width:44px;
    height:44px;

    display:grid;
    place-items:center;

    transform:translateY(-50%);

    border:1px solid #d4e5e9;
    border-radius:50%;

    background:#fff;

    color:#14758b;

    font-size:29px;
    line-height:1;

    cursor:pointer;

    box-shadow:
        0 7px 20px rgba(23,52,61,.10);

    transition:
        background .2s ease,
        color .2s ease,
        transform .2s ease;
}

.testimonial-arrow:hover{
    background:#14758b;
    color:#fff;

    transform:
        translateY(-50%)
        scale(1.05);
}

.testimonial-prev{
    left:-64px;
}

.testimonial-next{
    right:-64px;
}


/* ========================================================
   DOTS
======================================================== */

.testimonials-dots{
    min-height:12px;

    display:flex;
    justify-content:center;
    align-items:center;

    gap:8px;

    margin-top:28px;
}

.testimonials-dots button{
    width:8px;
    height:8px;

    padding:0;

    border:0;
    border-radius:50%;

    background:#bfd5da;

    cursor:pointer;

    transition:
        width .25s ease,
        background .25s ease;
}

.testimonials-dots button.active{
    width:25px;

    border-radius:10px;

    background:#14758b;
}


/* ========================================================
   TABLET
======================================================== */

@media(max-width:1100px){

    .testimonial-prev{
        left:10px;
    }

    .testimonial-next{
        right:10px;
    }

    .testimonial-arrow{
        top:calc(50% - 15px);
    }

}


@media(max-width:900px){

    .home-testimonial{
        flex-basis:calc((100% - 20px) / 2);
    }

}


/* ========================================================
   MÓVIL
======================================================== */

@media(max-width:650px){

    .home-testimonials{
        padding:65px 0 70px;
    }

    .testimonials-carousel{
        margin-top:32px;
    }

    .home-testimonial{
        flex-basis:100%;

        min-height:280px;

        padding:27px 24px;
    }

    .testimonial-arrow{
        width:38px;
        height:38px;

        top:auto;
        bottom:-61px;

        transform:none;

        font-size:25px;
    }

    .testimonial-arrow:hover{
        transform:none;
    }

    .testimonial-prev{
        left:0;
    }

    .testimonial-next{
        right:0;
    }

    .testimonials-dots{
        margin-top:30px;
    }
    
    .home-cta{
    min-height:430px;
}

.home-cta-video{
    object-position:center;
}

.home-cta-overlay{
    background:rgba(10,69,82,.82);
}

.home-cta-content{
    padding-top:65px;
    padding-bottom:65px;
}

.home-cta h2{
    font-size:30px;
}

.home-cta p{
    max-width:320px;
}

.home-cta-buttons{
    flex-direction:column;
}

.home-cta-buttons .btn{
    width:100%;
    max-width:260px;

    text-align:center;
}

}




/* ========================================================
   CTA CON VIDEO DE FONDO
======================================================== */

.home-cta{
    position:relative;

    min-height:480px;

    display:flex;
    align-items:center;
    justify-content:center;

    overflow:hidden;

    background:#176b7e;
}


/* VIDEO */

.home-cta-video{
    position:absolute;

    top:50%;
    left:50%;

    width:100%;
    height:100%;

    min-width:100%;
    min-height:100%;

    transform:translate(-50%,-50%);

    object-fit:cover;
    object-position:center;

    z-index:0;

    pointer-events:none;
}


/* CAPA OSCURA */

.home-cta-overlay{
    position:absolute;
    inset:0;

    z-index:1;

    background:linear-gradient(
        90deg,
        rgba(10,69,82,.88) 0%,
        rgba(20,112,132,.78) 50%,
        rgba(10,69,82,.88) 100%
    );
}


/* CONTENIDO */

.home-cta-content{
    position:relative;

    z-index:2;

    text-align:center;

    color:#fff;
}

.home-cta h2{
    margin:0 0 20px;

    color:#fff;

    font-size:38px;
    font-weight:400;
    line-height:1.25;
}

.home-cta p{
    margin:0 auto 28px;

    color:rgba(255,255,255,.88);

    font-size:15px;
    line-height:1.7;
}


/* BOTONES */

.home-cta-buttons{
    display:flex;

    justify-content:center;
    align-items:center;

    gap:12px;
}

.home-cta-primary{
    background:#fff;

    color:#176b7e;

    border:1px solid #fff;
}

.home-cta-primary:hover{
    background:#eef8fa;

    color:#176b7e;
}

.home-cta-secondary{
    background:transparent;

    color:#fff;

    border:1px solid rgba(255,255,255,.75);
}

.home-cta-secondary:hover{
    background:#fff;

    color:#176b7e;
}


/* ========================================================
   CONTACTO
======================================================== */

.home-contact{
    background:#f5fafb;
}

.home-contact-grid{
    max-width:900px;

    display:grid;
    grid-template-columns:1fr .8fr;
    align-items:center;

    gap:75px;
}

.home-contact-info>p{
    color:#718a92;

    line-height:1.75;
}

.home-contact-list{
    margin-top:28px;

    display:flex;
    flex-direction:column;

    gap:15px;
}

.home-contact-list a,
.home-contact-list div{
    display:flex;
    align-items:center;

    gap:10px;

    font-size:11px;
}

.home-contact-list span{
    width:20px;

    color:#176b7e;
}

.home-contact-form{
    padding:27px;

    border:1px solid #dce9ed;
    border-radius:12px;

    background:#e8f3f5;
}

.home-field{
    margin-bottom:16px;
}

.home-field label{
    display:block;

    margin-bottom:7px;

    font-size:9px;
    font-weight:bold;
}

.home-field input,
.home-field textarea{
    width:100%;

    padding:13px 14px;

    border:1px solid #cbdde2;
    border-radius:7px;

    background:#fff;

    outline:none;

    font:12px Arial,sans-serif;
}

.home-field textarea{
    min-height:110px;

    resize:vertical;
}

.home-field input:focus,
.home-field textarea:focus{
    border-color:#176b7e;

    box-shadow:0 0 0 3px #176b7e12;
}


/* ========================================================
   WHATSAPP
======================================================== */

.whatsapp-floating{
    position:fixed;

    right:24px;
    bottom:24px;

    z-index:5000;

    min-height:58px;

    padding:7px 16px 7px 7px;

    display:flex;
    align-items:center;

    gap:10px;

    border-radius:40px;

    background:#25d366;

    color:#fff;

    box-shadow:0 10px 30px #0003;

    transition:.25s;
}

.whatsapp-floating:hover{
    transform:translateY(-3px);

    color:#fff;
}

.whatsapp-floating-icon{
    width:44px;
    height:44px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:#ffffff20;
}

.whatsapp-floating-icon svg{
    width:27px;
    height:27px;

    fill:#fff;
}

.whatsapp-floating-text{
    display:flex;
    flex-direction:column;

    font-size:10px;
}

.whatsapp-floating-text strong{
    margin-top:2px;

    font-size:13px;
}


/* ========================================================
   RESPONSIVE
======================================================== */

@media(max-width:900px){

    .home-hero{
        min-height:680px;
    }

    .home-hero-container{
        grid-template-columns:1fr;

        gap:30px;
    }

    .home-about-grid{
        grid-template-columns:1fr;

        gap:55px;
    }

    .home-about-photo{
        max-width:500px;
        width:100%;

        margin:auto;
    }

    .home-services-grid{
        grid-template-columns:1fr 1fr;
    }

    .home-media-grid{
        grid-template-columns:1fr 1fr;
    }

    .home-testimonial-grid{
        grid-template-columns:1fr;
    }

    .home-testimonial>p{
        min-height:auto;
    }

    .home-contact-grid{
        grid-template-columns:1fr;

        gap:45px;
    }

}


@media(max-width:650px){

    .home-page .home-container{
        width:calc(100% - 28px);
    }

    .home-section,
    .home-media{
        padding:70px 0;
    }

    .home-hero{
        min-height:650px;
    }

    .home-hero-overlay{
        background:rgba(17,83,99,.68);
    }

    .home-hero h1{
        font-size:40px;
    }

    .home-hero-quote{
        padding:22px;
    }

    .home-hero-quote blockquote{
        font-size:17px;
    }

    .home-experience{
        right:12px;
    }

    .home-stats{
        grid-template-columns:1fr 1fr;
    }

    .home-services-grid{
        grid-template-columns:1fr;
    }

    .home-service{
        min-height:auto;
    }

    .home-media-grid{
        grid-template-columns:1fr;
    }

    .home-media-image{
        height:210px;
    }

    .home-cta{
        min-height:320px;
    }

    .home-cta h2{
        font-size:29px;
    }

    .home-cta-actions{
        flex-direction:column;
        align-items:center;
    }

    .whatsapp-floating{
        right:15px;
        bottom:15px;

        width:56px;
        height:56px;
        min-height:56px;

        padding:6px;

        justify-content:center;
    }

    .whatsapp-floating-text{
        display:none;
    }
    
    .home-about-video{
    width:100%;
    max-width:700px;
    margin:0 auto;
}

}


@media(max-width:430px){

    .home-hero h1{
        font-size:36px;
    }

    .home-hero-actions{
        flex-direction:column;
        align-items:flex-start;
    }

    .home-stats{
        grid-template-columns:1fr;
    }

}

/* ========================================================
   AJUSTE TIPOGRÁFICO LANDING
======================================================== */

.home-page{
    font-family:"Century Gothic", CenturyGothic, AppleGothic, Arial, sans-serif;
}

.home-page h1,
.home-page h2,
.home-page h3,
.home-page h4,
.home-page blockquote{
    font-family:"Century Gothic", CenturyGothic, AppleGothic, Arial, sans-serif;
}

.home-eyebrow,
.home-section-label{
    font-size:11px;
}

.home-hero-description{
    font-size:16px;
}

.home-hero-quote blockquote{
    font-size:22px;
}

.home-hero-quote span{
    font-size:13px;
}

.home-heading p{
    font-size:15px;
}

.home-about-content p{
    font-size:15px;
}

.home-stat strong{
    font-family:"Century Gothic", CenturyGothic, AppleGothic, Arial, sans-serif;
    font-size:23px;
}

.home-stat span{
    font-size:12px;
}

.home-service h3{
    font-size:18px;
}

.home-service p{
    font-size:14px;
}

.home-media-tabs button{
    font-size:12px;
}

.home-media-categories button{
    font-size:11px;
}

.home-media-badge{
    font-size:10px;
}

.home-media-lock{
    font-size:11px;
}

.home-media-duration{
    font-size:10px;
}

.home-media-body h3{
    font-size:16px;
}

.home-media-body p{
    font-size:12px;
}

.home-testimonial > p{
    font-family:"Century Gothic", CenturyGothic, AppleGothic, Arial, sans-serif;
    font-size:14px;
}

.home-testimonial-user strong{
    font-size:12px;
}

.home-testimonial-user small{
    font-size:10px;
}

.home-cta p{
    font-size:14px;
}

.home-contact-info > p{
    font-size:15px;
}

.home-contact-list a,
.home-contact-list div{
    font-size:13px;
}

.home-field label{
    font-size:11px;
}

.home-field input,
.home-field textarea{
    font-family:"Century Gothic", CenturyGothic, AppleGothic, Arial, sans-serif;
    font-size:14px;
}

.whatsapp-floating-text{
    font-size:11px;
}

.whatsapp-floating-text strong{
    font-size:14px;
}

/* ========================================================
   VIDEO - NOSOTROS
======================================================== */

.home-about-video{
    position:relative;

    width:125%;
    max-width:none;

    margin-left:-25%;
}

.home-about-video-frame{
    position:relative;
    width:100%;
    aspect-ratio:16 / 9;

    overflow:hidden;

    border-radius:14px;
    background:#17343d;

    box-shadow:
        0 18px 45px rgba(23,52,61,.16);
}

.home-about-video-frame iframe{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    display:block;
    border:0;
}

.home-about-video-frame{
    position:relative;

    width:100%;
    aspect-ratio:16 / 9;

    overflow:hidden;

    border-radius:14px;

    background:#17343d;

    box-shadow:
        0 20px 50px rgba(23,52,61,.16);
}

.home-about-video-frame iframe{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    border:0;

    display:block;
}


/* TARJETA DE EXPERIENCIA */










/* ========================================================
   CONTACTO - ESTADOS Y ANTISPAM
======================================================== */
.contact-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;opacity:0!important;pointer-events:none!important}
.contact-message{margin-bottom:20px;padding:14px 16px;border-radius:8px;font-size:13px;line-height:1.6}
.contact-message.success{border:1px solid #b9ddd2;background:#eaf7f2;color:#276554}
.contact-message.error{border:1px solid #e5c2c2;background:#fff0f0;color:#963f3f}
.home-field input[type="tel"]{width:100%}
.home-contact-submit{width:100%;margin-top:5px}



/* ========================================================
   HONEYPOT ANTISPAM
   Debe permanecer oculto para usuarios reales
======================================================== */

.contact-honeypot{
    position:absolute !important;
    left:-99999px !important;
    top:-99999px !important;

    width:1px !important;
    height:1px !important;

    overflow:hidden !important;

    opacity:0 !important;
    visibility:hidden !important;

    pointer-events:none !important;
}

.contact-honeypot input{
    position:absolute !important;

    width:1px !important;
    height:1px !important;

    opacity:0 !important;

    pointer-events:none !important;
}
.testimonial-photo{object-fit:cover;display:block}
.home-media-image{display:block;position:relative;color:inherit;text-decoration:none}

/* Ajustes visuales acordados con cliente */
.home-service{position:relative;color:inherit;text-decoration:none}.home-service-link{display:inline-block;margin-top:16px;color:#176b7e;font-weight:700;font-size:13px}.home-service-coming{position:absolute;top:14px;left:14px;z-index:3;background:#176b7e;color:#fff;border-radius:30px;padding:7px 11px;font-size:10px;font-weight:700;letter-spacing:.7px}.home-service-image::after{background:linear-gradient(180deg,rgba(26,122,145,.02),rgba(23,107,126,.22))!important}.home-cta-overlay{background:linear-gradient(90deg,rgba(13,78,94,.91),rgba(23,107,126,.82),rgba(13,78,94,.91))!important}
.home-about-video-frame{overflow:hidden}.home-about-video-frame iframe{display:block;width:100%;height:100%;max-width:100%;border:0}

/* ==========================================================
   REUNIÓN 2026-10-05: NOSOTROS + CATÁLOGO REDUCIDO
========================================================== */
.home-about-tabs{overflow:hidden}
.home-about-heading{max-width:760px;margin:0 auto 30px;text-align:center}
.about-tab-buttons{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.about-tab-button{appearance:none;border:1px solid #b9d4da;background:#fff;color:#244653;border-radius:999px;padding:11px 25px;font:700 13px "Century Gothic",Arial,sans-serif;cursor:pointer;transition:.2s ease}
.about-tab-button:hover,.about-tab-button.active{background:#176b7e;border-color:#176b7e;color:#fff}
.about-tab-panel{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:45px;align-items:center;max-width:1050px;margin:0 auto;background:#fff;border:1px solid #dce9ed;border-radius:18px;padding:24px;box-shadow:0 14px 38px rgba(25,87,101,.08)}
.about-tab-panel[hidden]{display:none!important}
.about-tab-media{height:390px;border-radius:14px;overflow:hidden;background:#d9edf1}
.about-tab-media img{width:100%;height:100%;object-fit:cover;display:block}
.about-vision-media{display:flex;align-items:center;justify-content:center;background:#f5fbfc;padding:45px}
.about-vision-media img{object-fit:contain;height:auto;max-height:230px}
.about-tab-copy h3{margin:8px 0 18px;font-size:30px;line-height:1.25;color:#17323b}
.about-tab-copy p{font-size:15px;line-height:1.8;color:#496873}
.about-material-note{margin-top:18px;padding-top:15px;border-top:1px solid #e4eef1;font-size:11px!important;color:#8aa0a7!important}

.home-catalog-preview{background:#eef7f9}
.home-course-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:36px}
.home-course-preview-card{overflow:hidden;background:#fff;border:1px solid #dce9ed;border-radius:14px;box-shadow:0 10px 28px rgba(23,76,89,.06)}
.home-course-preview-image{display:block;height:190px;overflow:hidden;background:#cde4e9}
.home-course-preview-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.home-course-preview-card:hover .home-course-preview-image img{transform:scale(1.04)}
.home-course-preview-body{padding:20px}
.home-course-category{display:block;margin-bottom:8px;color:#176b7e;font-size:9px;font-weight:700;letter-spacing:.7px;text-transform:uppercase}
.home-course-preview-body h3{margin:0 0 10px;font-size:18px;line-height:1.35}
.home-course-preview-body p{margin:0;color:#66818a;font-size:12px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.home-course-preview-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:15px;border-top:1px solid #e5eef0}
.home-course-preview-footer strong{color:#17323b;font-size:17px}
.home-course-preview-footer a{color:#176b7e;font-size:11px;font-weight:700}
.home-catalog-preview-action{text-align:center;margin-top:32px}
.home-catalog-banner{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:35px;padding:35px 40px;background:#fff;border:1px solid #dce9ed;border-radius:16px}
.home-catalog-banner h3{margin:7px 0 10px;font-size:27px}.home-catalog-banner p{max-width:700px;margin:0;color:#66818a;line-height:1.7}

/* Header siempre visible al desplazarse */
.site-header{position:sticky!important;top:0!important;z-index:10000!important;background:#fff!important}

@media(max-width:900px){
  .about-tab-panel{grid-template-columns:1fr;gap:24px}.about-tab-media{height:330px}.about-tab-copy h3{font-size:25px}
  .home-course-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-catalog-banner{align-items:flex-start;flex-direction:column}
}
@media(max-width:600px){
  .about-tab-buttons{display:grid;grid-template-columns:1fr 1fr}.about-tab-button:last-child{grid-column:1/-1}
  .about-tab-panel{padding:15px}.about-tab-media{height:280px}
  .home-course-preview-grid{grid-template-columns:1fr}.home-course-preview-image{height:220px}
  .home-catalog-banner{padding:25px}
}

/* Mayor escala visual y aprovechamiento horizontal - 2026-10-08 */
.home-page .home-container{width:min(1540px,calc(100% - 48px));max-width:1540px}
.home-page p,.home-page li{font-size:clamp(16px,1.25vw,19px);line-height:1.7}
.home-page .btn,.home-page button:not(.about-tab-button){min-height:48px}
.home-page .home-section-label{font-size:13px;letter-spacing:.08em}
@media(max-width:767px){.home-page .home-container{width:calc(100% - 28px)}.home-page p,.home-page li{font-size:17px}}

/* Ajustes octubre 2026: tres servicios visibles */
.home-services-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:768px){.home-services-grid{grid-template-columns:1fr;}}
