/* ==================================================
   VARIABLES
================================================== */

:root{

    --primary:#0ab5ca;
    --secondary:#d23390;

    --dark:#1d1a34;
    --gray:#64748B;

    --light:#F8FAFC;

    --gradient:
    linear-gradient(
        135deg,
        #0ab5ca,
        #d23390
    );

}


/* ==================================================
   RESET
================================================== */

*{

    margin:0;
    padding:0;

    box-sizing:border-box;

}
a{
    text-decoration: none;
}
li{
    list-style: none;
}
.icon-gradient{

    background: var(--gradient);

    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

    display:inline-block;

}

html{

    scroll-behavior:smooth;

}


body{

    font-family:'Roboto',sans-serif;

    color:var(--dark);

    background:white;

    overflow-x:hidden;

}

body.menu-open{

    overflow:hidden;

}
/* ==================================================
   GLOBAL
================================================== */

section{

    position:relative;

}


.container{

    position:relative;

    z-index:2;

}


.section-tag{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:10px 20px;

    border-radius:999px;

    background:#EEF5FF;

    color:var(--primary);

    font-size:.9rem;

    font-weight:700;

    margin-bottom:20px;

}


.section-heading{

    max-width:850px;
    margin:0 auto 140px;

}


.section-heading h2{

    font-size:clamp(2rem,4vw,4rem);

    font-weight:900;

    line-height:1.1;

    margin-bottom:20px;

}


.section-heading p{

    color:var(--gray);

    font-size:1.1rem;

    line-height:1.8;

}


/* ==================================================
   BUTTON
================================================== */

.btn-sianot{

    display:inline-flex;
    border: none;
    align-items:center;

    justify-content:center;

    padding:16px 34px;

    border-radius:999px;

    background:var(--gradient);

    color:white;

    text-decoration:none;

    font-weight:700;

    transition:.35s;

}


.btn-sianot:hover{

    transform:translateY(-4px);

    color:white;

}
.soport{
    position: relative;
    transition:.4s ease;
    
}
.btn-sianot-sprt{
display:inline-flex;
    border: none;
    align-items:center;

    justify-content:center;

    padding:16px 34px;
    
    border-radius: 50px;

    background:var(--gradient);

    color:white;

    text-decoration:none;

    font-weight:700;

    transition:.35s;
    
    height: fit-content;
    position: absolute;
    bottom: 40%;
    width: 100%;
}
.btn-sianot-sprt:hover{

    transform:translateY(-4px);

    color:white;

}

/* ==========================
   BOTÓN BACK TO TOP
========================== */

.back-to-top{

    position:fixed;

    right:32px;
    bottom:32px;

    width:58px;
    height:58px;
    border-radius: 20px;
    border:none;
    border-radius:50%;

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

    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);

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

    cursor:pointer;

    z-index:999;

    opacity:0;
    visibility:hidden;

    transform:translateY(10px) scale(.96);

    transition:
        opacity .50s ease,
        transform .45s ease,
        background .35s ease,
        box-shadow .35s ease;

    box-shadow:
        0 10px 30px rgba(29,26,52,.08);

}


/* borde */

.back-to-top::before{

    content:"";

    position:absolute;

    inset:0;

    padding:1.6px;

    border-radius:inherit;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);

    -webkit-mask-composite:xor;
    mask-composite:exclude;

}

.back-to-top svg{

    width:22px;
    height:22px;

    color:var(--dark);

    position:relative;

    z-index:2;

    transition:
        transform .35s ease,
        color .35s ease;

}


/* aparece */

.back-to-top.show{

    opacity:1;
    visibility:visible;

    transform:translateY(0) scale(1);

}


/* hover */

.back-to-top:hover{

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

    transform:
        translateY(-2px);

    box-shadow:
        0 14px 34px rgba(29,26,52,.12);

}


.back-to-top:hover::after{

    transform:
        translateX(160%)
        rotate(20deg);

}


.back-to-top:hover svg{

    transform:translateY(-1px);

}


.back-to-top:active{

    transform:scale(.97);

}


@media(max-width:768px){

    .back-to-top{

        width:52px;
        height:52px;

        right:18px;
        bottom:18px;

    }

}
/* ==================================================
   HEADER
================================================== */

#header{

    position:fixed;

    top:20px;

    left:0;

    width:100%;

    z-index:9999;

}


.floating-nav{

    height:125px !important;

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:0 25px;

    border-radius:999px;

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

    backdrop-filter:blur(20px);

    box-shadow:
    0 20px 60px rgba(0,0,0,.08);

}


.logo{

    width:150px;

}


.nav-links{

    display:flex;

    gap:30px;

}


.nav-links a{

    text-decoration:none;

    color:var(--dark);

    font-weight:500;

}


.nav-actions{

    display:flex;

    align-items:center;

    gap:15px;

}


/* ==================================================
   MOBILE BUTTON
================================================== */

.menu-toggle{

    display:none;

    border:none;

    background:none;

}


.menu-toggle span{

    display:block;

    width:28px;

    height:3px;

    margin:5px;

    background:var(--primary);

}


#mobileMenu{

    position:fixed;

    inset:0;

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

    backdrop-filter:blur(20px);

    z-index:9990;

    opacity:0;

    visibility:hidden;

    transition:.4s;

}


#mobileMenu.active{

    opacity:1;

    visibility:visible;

}


.mobile-content{

    height:100%;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    gap:25px;

}


.mobile-content a{

    text-decoration:none;

    color:var(--dark);

    font-size:1.4rem;

    font-weight:700;

    transition:.3s;

}


.mobile-content a:hover{

    color:var(--primary);

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

.hero{

    min-height:100vh;

    display:flex;

    align-items:center;

    padding-top:140px;

}


.hero-tag{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:10px 20px;

    border-radius:999px;

    background:#EEF5FF;

    color:var(--primary);

    margin-bottom:25px;

}


.hero h1{

    font-size:clamp(3rem,6vw,5.5rem);

    font-weight:900;

    line-height:1.05;

    margin-bottom:25px;

}


.hero h1 strong{

    background:var(--gradient);

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;

}


.hero p{

    font-size:1.15rem;

    color:var(--gray);

    line-height:1.9;

    max-width:650px;

    margin-bottom:35px;

}


.hero-dashboard{

    border-radius:40px;

    overflow:hidden;

    box-shadow:
    0 40px 120px rgba(0,0,0,.15);

}


.hero-dashboard img{

    width:100%;

    display:block;

}
/* ==================================================
   HERO FLOATING CARDS
================================================== */

.hero-dashboard{

    position:relative;

}


.floating-card{

    position:absolute;

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

    backdrop-filter:blur(10px);

    padding:18px 24px;

    border-radius:20px;

    box-shadow:
    0 20px 50px rgba(0,0,0,.12);

    min-width:160px;

}


.floating-card small{

    display:block;

    color:var(--gray);

    font-size:.85rem;

    margin-bottom:5px;

}


.floating-card strong{

    font-size:1.5rem;

    font-weight:800;

    color:var(--dark);

}


/* POSICIONES */

.card-1{

    top:15%;
    left:0px;
    

}


.card-2{

    top:10%;
    right:0px;

}


.card-3{

    bottom:18%;
    right:10px;

}


.card-4{

    bottom:10%;
    left:10px;

}
/* ==================================================
   CLIENTS STRIP
================================================== */

.clients-strip{

    padding:120px 0;

    overflow:hidden;

    background:
    linear-gradient(
        180deg,
        #ffffff 0%,
        #f8fbff 100%
    );

}


.clients-strip h2{

    font-size:clamp(2rem,4vw,3.8rem);

    font-weight:900;

    margin-bottom:20px;

}


.clients-strip p{

    max-width:700px;

    margin:0 auto;

    color:var(--gray);

    line-height:1.8;

}


/* ==========================================
   MARQUEE
========================================== */

.logo-marquee{

    margin-top:70px;

    overflow:hidden;

    position:relative;

}


.logo-marquee::before{

    content:"";

    position:absolute;

    left:0;
    top:0;

    width:120px;
    height:100%;

    z-index:2;

    background:
    linear-gradient(
        to right,
        white,
        transparent
    );

}


.logo-marquee::after{

    content:"";

    position:absolute;

    right:0;
    top:0;

    width:120px;
    height:100%;

    z-index:2;

    background:
    linear-gradient(
        to left,
        white,
        transparent
    );

}


.logo-track{

    display:flex;

    align-items:center;

    gap:70px;

    width:max-content;

    animation:
    marquee 40s linear infinite;

}


.logo-track span{

    font-size:1rem;

    font-weight:700;

    color:var(--gray);

    white-space:nowrap;

    padding:18px 30px;

    border-radius:999px;

    background:#F8FAFC;

    border:1px solid rgba(0,0,0,.04);

}


@keyframes marquee{

    from{

        transform:translateX(0);

    }

    to{

        transform:translateX(-50%);

    }

}



/* ==================================================
   PRESENTATION
================================================== */

.presentation{

    padding:100px 0;

}


.presentation h2{

    font-size:clamp(2rem,4vw,4rem);

    font-weight:900;

    line-height:1.1;

    margin-bottom:30px;

}


.presentation p{

    color:var(--gray);

    line-height:1.9;

    margin-bottom:20px;

    font-size:1.05rem;

}


.presentation .btn-sianot{

    margin-top:15px;

}



/* ==================================================
   INFO BOX
================================================== */

.info-box{

    position:relative;

    overflow:hidden;

    padding:60px;

    border-radius:40px;

    background:#F8FAFC;

    min-height:500px;

    display:flex;

    flex-direction:column;

    justify-content:center;

}


.info-box::before{

    content:"";

    position:absolute;

    width:350px;
    height:350px;

    right:-120px;
    top:-120px;

    border-radius:50%;

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

    filter:blur(50px);

}


.info-box i{

    font-size:4rem;

    color:var(--primary);

    margin-bottom:25px;

}


.info-box h3{

    font-size:2.5rem;

    font-weight:800;

    line-height:1.2;

    margin-bottom:20px;

}


.info-box p{

    margin-bottom:0;

}


/* ==================================================
   SECTION SPACING
================================================== */

.section-heading.text-center{

    text-align:center;
    opacity: 1 !important;

}


.section-heading.text-center p{

    margin-left:auto;
    margin-right:auto;

}


/* ==================================================
   HOVER EFFECTS
================================================== */

.info-box{

    transition:.4s ease;

}


.info-box:hover{

    transform:
    translateY(-10px);

    box-shadow:
    0 30px 80px rgba(0,0,0,.08);

}


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

@media(max-width:991px){

    .presentation{

        padding:100px 0;

    }

    .info-box{

        min-height:auto;

    }

}


@media(max-width:768px){

    .clients-strip{

        padding:90px 0;

    }

    .clients-strip h2{

        font-size:2rem;

    }

    .logo-track{

        gap:35px;

    }

    .logo-track span{

        padding:14px 20px;

        font-size:.9rem;

    }

    .presentation{

        padding:80px 0;

    }

    .info-box{

        padding:35px;

        border-radius:30px;

    }

    .info-box h3{

        font-size:2rem;

    }

}

/* ==================================================
   BENEFICIOS - BENTO GRID
================================================== */

.benefits-bento{

    padding:0px 0 140px;

    background:#fff;

}


.bento-grid{

    display:grid;

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

    grid-auto-rows:300px;

    gap:25px;

}


.bento-card{

    position:relative;

    overflow:hidden;

    padding:35px;

    border-radius:32px;

    background:#F8FAFC;

    transition:.4s ease;

    cursor:pointer;

}


.bento-card.large{

    grid-column:span 2;

}


.bento-card.wide{

    grid-column:span 2;

}


.bento-card::before{

    content:"";

    position:absolute;

    width:220px;
    height:220px;

    top:-90px;
    right:-90px;

    border-radius:50%;

    background:
    rgba(0,87,217,.08);

    filter:blur(40px);

}


.bento-card i{

    font-size:3rem;

    color:var(--primary);

    margin-bottom:20px;

    transition:.4s;

}


.bento-card h3{

    font-size:2rem;

    font-weight:800;

    margin-bottom:15px;

}


.bento-card p{

    color:var(--gray);

    line-height:1.8;

    margin-bottom:0;

}


.bento-card:hover{

    transform:
    translateY(-10px);

    box-shadow:
    0 30px 80px rgba(0,0,0,.08);

}


.bento-card:hover i{

    transform:scale(1.15);

}



/* ==================================================
   FUNCIONALIDADES PREMIUM
================================================== */

.features-premium{

    padding:0px 0 100px;

    background:
    linear-gradient(
        180deg,
        #ffffff 0%,
        #f8fbff 100%
    );

}


.features-wrapper{

    display:grid;

    grid-template-columns:
    320px 1fr;

    gap:40px;

    align-items:start;

}


/* ==========================================
   MENU LATERAL
========================================== */

.features-nav{

    position:sticky;

    top:140px;

    display:flex;

    flex-direction:column;

    gap:15px;

}


.feature-btn{

    border:none;

    background:white;

    padding:18px 25px;

    border-radius:18px;

    text-align:left;

    font-weight:600;

    color:var(--dark);

    transition:.35s;

    box-shadow:
    0 10px 30px rgba(0,0,0,.04);

}


.feature-btn:hover{

    transform:translateX(5px);

}


.feature-btn.active{

    background:var(--gradient);

    color:white;

}



/* ==========================================
   SHOWCASE
========================================== */

.feature-showcase{

    position:relative;
cursor:pointer;
    overflow:hidden;

    border-radius:40px;

    min-height:650px;

}

.feature-showcase::after{

    content:"";

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        135deg,
        rgba(15,23,42,.15),
        rgba(15,23,42,.55)
    );

    pointer-events:none;

}
.feature-showcase img{

    width:100%;
    height:650px;

    object-fit:cover;

    display:block;

    transition:
    opacity .6s ease,
    transform .8s ease;
    transition:
    transform 1.2s ease,
    opacity .8s ease;

}


.feature-content{

    position:absolute;

    right:50px;
    bottom:50px;

    left:auto;

    max-width:420px;

    z-index:5;

    padding:35px;

    border-radius:30px;

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

    backdrop-filter:blur(25px);

    -webkit-backdrop-filter:blur(25px);

    border:

    1px solid
    rgba(255,255,255,.25);

    box-shadow:
    0 30px 80px rgba(0,0,0,.25);

}


.feature-content h3{

    color:white;

    font-size:2rem;

    font-weight:800;

    margin-bottom:15px;

}


.feature-content p{

    color:

    rgba(255,255,255,.85);

    line-height:1.8;

    margin-bottom:0;

}
.feature-showcase:hover img{

    transform:scale(1.05);

}


/* ==================================================
   ANIMACIONES
================================================== */

.bento-card,
.feature-btn,
.info-box{

    will-change:
    transform;

}



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

@media(max-width:1200px){

    .features-wrapper{

        grid-template-columns:
        280px 1fr;

    }

}


@media(max-width:991px){

    /* BENTO */

    .bento-grid{

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

    }


    /* FEATURES */

    .features-wrapper{

        grid-template-columns:1fr;

    }


    .features-nav{

        position:relative;

        top:auto;

        flex-direction:row;

        overflow:auto;

        padding-bottom:10px;

    }


    .feature-btn{

        white-space:nowrap;

    }


    .feature-showcase{

        min-height:auto;

    }


    .feature-showcase img{

        height:500px;

    }

}


@media(max-width:768px){

    /* BENTO */

    .benefits-bento{

        padding:90px 0;

    }


    .bento-grid{

        grid-template-columns:1fr;

    }


    .bento-card.large,
    .bento-card.wide{

        grid-column:auto;

    }


    .bento-card{

        min-height:220px;

    }


    /* FEATURES */

    .features-premium{

        padding:90px 0;

    }


    .feature-showcase{

        border-radius:30px;

    }


    .feature-showcase img{

        height:450px;

    }


    .feature-content{

    position:absolute;

    left:20px;
    right:20px;

    bottom:20px;

    max-width:none;

    margin:0;

}


    .feature-content h3{

        font-size:1.6rem;

    }

}


@media(max-width:576px){

    .feature-showcase img{

        height:350px;

    }

    .feature-btn{

        padding:15px 20px;

        font-size:.95rem;

    }

}
/* ==================================================
   NAV RESPONSIVE
================================================== */

@media(max-width:1200px){

    .nav-links{

        gap:18px;

    }

    .nav-links a{

        font-size:.95rem;

    }

}


@media(max-width:991px){

    .nav-links{

        display:none;

    }

    .nav-actions .btn-sianot{

        display:none;

    }

    .menu-toggle{

        display:block;

        width:48px;
        height:48px;

        position:relative;

        cursor:pointer;

    }

}


/* ==================================================
   HAMBURGER ANIMATION
================================================== */

.menu-toggle{

    position:relative;

    z-index:10001;

}


.menu-toggle span{

    transition:.35s;

}


.menu-toggle.active span:nth-child(1){

    transform:
    rotate(45deg)
    translate(6px,6px);

}


.menu-toggle.active span:nth-child(2){

    opacity:0;

}


.menu-toggle.active span:nth-child(3){

    transform:
    rotate(-45deg)
    translate(7px,-7px);

}
@media(max-width:991px){

    .floating-card{

        transform:scale(.85);

    }

}


@media(max-width:768px){

    .floating-card{

        display:none;

    }

}

/* ==================================================
   PLANES CTA
================================================== */

.plans-cta{

    padding:0 0 120px;

}


.plans-cta-card{

    position:relative;

    overflow:hidden;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:40px;

    padding:60px;

    border-radius:36px;

    background:#F8FAFC;

    border:1px solid rgba(0,0,0,.04);

}


.plans-cta-card::before{

    content:"";

    position:absolute;

    width:320px;
    height:320px;

    top:-120px;
    right:-120px;

    border-radius:50%;

    background:
    rgba(10,181,202,.12);

    filter:blur(60px);

}


.plans-cta-card::after{

    content:"";

    position:absolute;

    width:280px;
    height:280px;

    bottom:-120px;
    left:-120px;

    border-radius:50%;

    background:
    rgba(210,51,144,.10);

    filter:blur(60px);

}


.plans-cta-content{

    position:relative;

    z-index:2;

    max-width:700px;

}


.plans-cta-content h2{

    font-size:clamp(2rem,4vw,3.5rem);

    font-weight:900;

    line-height:1.1;

    margin-bottom:20px;

}


.plans-cta-content p{

    color:var(--gray);

    font-size:1.1rem;

    line-height:1.8;

    margin-bottom:0;

}


.plans-cta .btn-sianot{

    position:relative;

    z-index:2;

    flex-shrink:0;

}
@media(max-width:991px){

    .plans-cta-card{

        flex-direction:column;

        align-items:flex-start;

        padding:40px;

    }

}


@media(max-width:768px){

    .plans-cta{

        padding:0 0 90px;

    }

    .plans-cta-card{

        padding:35px;

        border-radius:28px;

    }

    .plans-cta-content h2{

        font-size:2rem;

    }

}

/* ==================================================
   TESTIMONIOS
================================================== */

.testimonials-section{

    padding:0 0 140px;

    background:#fff;

}


.testimonials-grid{

    display:grid;

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

    gap:25px;

}


.testimonial-card{

    position:relative;

    overflow:hidden;

    padding:35px;

    border-radius:30px;

    background:#F8FAFC;

    transition:.4s ease;

    border:1px solid rgba(0,0,0,.04);

}


.testimonial-card::before{

    content:"";

    position:absolute;

    width:220px;
    height:220px;

    top:-100px;
    right:-100px;

    border-radius:50%;

    background:
    rgba(10,181,202,.08);

    filter:blur(40px);

}


.testimonial-card.featured{

    background:
    linear-gradient(
        135deg,
        rgba(10,181,202,.08),
        rgba(210,51,144,.08)
    );

}


.testimonial-card:hover{

    transform:translateY(-10px);

    box-shadow:
    0 30px 80px rgba(0,0,0,.08);

}


.testimonial-stars{

    font-size:1.2rem;

    letter-spacing:3px;

    margin-bottom:20px;

    color:var(--secondary);

}


.testimonial-card p{

    color:var(--gray);

    line-height:1.9;

    margin-bottom:25px;

}


.testimonial-author{

    font-weight:700;

    color:var(--dark);

}
strong {
    background: var(--gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
/* ==================================================
   TESTIMONIOS RESPONSIVE
================================================== */

@media(max-width:991px){

    .testimonials-grid{

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

    }

}


@media(max-width:768px){

    .testimonials-section{

        padding:0 0 90px;

    }

    .testimonials-grid{

        grid-template-columns:1fr;

    }

    .testimonial-card{

        padding:30px;

    }

}

/* ==================================================
   APP SIANOT
================================================== */

.app-section{

    padding:0 0 140px;

}


.app-wrapper{

    display:grid;

    grid-template-columns:
    1fr 420px;

    gap:100px;

    align-items:center;

}


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

.app-content h2{

    font-size:clamp(2rem,4vw,4rem);

    font-weight:900;

    line-height:1.1;

    margin-bottom:25px;

}


.app-content p{

    color:var(--gray);

    line-height:1.9;

    margin-bottom:35px;

}


.app-list{

    list-style:none;

    padding:0;

    margin:0;

}


.app-list li{

    display:flex;

    align-items:center;

    gap:12px;

    margin-bottom:18px;

    font-weight:500;

}


.app-list i{

    color:var(--primary);

    font-size:1.1rem;

}


/* ==========================================
   MOCKUP TELÉFONO
========================================== */

.app-phone{
    display:flex;
    justify-content:center;
    perspective:1200px;
}

.phone-mockup{
    width:300px;
    height:620px;
    padding:12px;
    border-radius:50px;
    background:#111827;
    box-shadow:0 40px 120px rgba(0,0,0,.18);

    transform-style:preserve-3d;

    will-change:
    transform,
    opacity;
}


.phone-screen{

    width:100%;
    height:100%;

    overflow:hidden;

    border-radius:40px;

    background:white;

}


.phone-screen img{

    width:100%;
    height:100%;

    object-fit:cover;

    display:block;

}

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

@media(max-width:991px){

    .app-wrapper{

        grid-template-columns:1fr;

        gap:60px;

    }

}


@media(max-width:768px){

    .app-section{

        padding:0 0 90px;

    }

    .phone-mockup{

        width:280px;

        height:580px;

    }

}

/* ==================================================
   VIDEO SIANOT
================================================== */

.sianot-video-section{

    padding:0 0 140px;

}


/* ==========================================
   BANNER
========================================== */

.sianot-video-banner{

    position:relative;

    height:700px;

    overflow:hidden;

    border-radius:40px;

    box-shadow:
    0 40px 120px rgba(0,0,0,.12);

}


.sianot-video-banner img{

    width:100%;
    height:100%;

    object-fit:cover;

    display:block;

}


/* ==========================================
   OVERLAY
========================================== */

.sianot-video-overlay{

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        90deg,
        rgba(15,23,42,.85) 0%,
        rgba(15,23,42,.55) 45%,
        rgba(15,23,42,.15) 100%
    );

}


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

.sianot-video-content{

    position:absolute;

    left:70px;
    bottom:70px;

    max-width:650px;

}


.sianot-video-content h2{

    color:white;

    font-size:clamp(2.5rem,4vw,4rem);

    font-weight:900;

    line-height:1.1;

    margin-bottom:20px;

}


.sianot-video-content p{

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

    line-height:1.8;

    font-size:1.1rem;

    margin-bottom:30px;

}


/* ==================================================
   MODAL
================================================== */

#sianotVideoModal{

    z-index:20000 !important;

}


#sianotVideoModal + .modal-backdrop{

    z-index:19990 !important;

}


.sianot-video-modal{

    border:none;

    border-radius:24px;

    overflow:hidden;

    background:white;

    box-shadow:
    0 40px 120px rgba(0,0,0,.20);

}


/* HEADER */

.sianot-video-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:24px 30px;

    border-bottom:
    1px solid rgba(0,0,0,.08);

}


.sianot-video-header span{

    display:block;

    color:#64748B;

    font-size:.85rem;

    margin-bottom:4px;

}


.sianot-video-header h5{

    margin:0;

    font-weight:700;

}


/* BODY */

.sianot-video-body{

    padding:40px;

    background:#f8fafc;

}


.sianot-video-body iframe{

    border:none;

    border-radius:16px;

}


/* FOOTER */

.sianot-video-footer{

    display:flex;

    justify-content:flex-end;

    padding:20px 30px;

    border-top:
    1px solid rgba(0,0,0,.08);

}


/* CLOSE */

.sianot-video-modal .btn-close{

    transition:.35s;

}


.sianot-video-modal .btn-close:hover{

    transform:rotate(90deg);

}
.foot-link{
        text-decoration: none;
        color: var(--gray);
    }
.foot-link:hover{
        color: var(--secondary);
    }
    
    .foot-link img{
        width: 25px;
        vertical-align: baseline;
        margin-right: 5px;
    }

/* RESPONSIVE */

@media(max-width:768px){

    .sianot-video-banner{

        height:500px;

    }

    .sianot-video-content{

        left:25px;
        right:25px;

        bottom:25px;

    }

    .sianot-video-content h2{

        font-size:2rem;

    }

    .sianot-video-body{

        padding:20px;

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

.about-sianot{

    padding:140px 0;

    background:#fff;

}


.about-wrapper{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;

}


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

.about-content h2{

    font-size:clamp(2.2rem,4vw,4rem);

    font-weight:900;

    line-height:1.1;

    margin-bottom:25px;

}


.about-content p{

    color:var(--gray);

    line-height:1.9;

    margin-bottom:20px;

    font-size:1.05rem;

}


/* ==========================================
   GRID CARDS
========================================== */

.about-cards{

    display:grid;

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

    gap:25px;

}


.about-card{

    position:relative;

    overflow:hidden;

    min-height:240px;

    padding:35px;

    border-radius:32px;

    background:#F8FAFC;

    transition:.4s;

}


.about-card::before{

    content:"";

    position:absolute;

    width:180px;
    height:180px;

    top:-60px;
    right:-60px;

    border-radius:50%;

    background:
    rgba(10,181,202,.10);

    filter:blur(30px);

}


.about-card i{

    font-size:2.8rem;

    background:
    linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;

    margin-bottom:20px;

}


.about-card strong{

    display:block;

    font-size:2rem;

    font-weight:900;

    margin-bottom:10px;

}


.about-card span{

    color:var(--gray);

    line-height:1.7;

}


.about-card:hover{

    transform:
    translateY(-10px);

    box-shadow:
    0 30px 80px rgba(0,0,0,.08);

}


/* ==========================================
   DESTACADAS
========================================== */

.card-b{

    transform:
    translateY(40px);

}

.card-d{

    transform:
    translateY(-20px);

}


/* ==========================================
   RESPONSIVE
========================================== */
@media(max-width:1400px){

    .about-wrapper{

        grid-template-columns:1fr;

        gap:60px;

    }

    .card-b,
    .card-d{

        transform:none;

    }

}

@media(max-width:991px){

    .about-wrapper{

        grid-template-columns:1fr;

        gap:60px;

    }

    .card-b,
    .card-d{

        transform:none;

    }

}


@media(max-width:768px){

    .about-sianot{

        padding:90px 0;

    }

    .about-cards{

        grid-template-columns:1fr;

    }

}

/* ==================================================
   FINAL CTA
================================================== */

.final-cta{

    padding:120px 0;

}


.final-cta-card{

    position:relative;

    overflow:hidden;

    text-align:center;

    padding:100px 60px;

    border-radius:50px;

    background:
    linear-gradient(
        135deg,
        rgba(10,181,202,.08),
        rgba(210,51,144,.08)
    );

    border:
    1px solid rgba(10,181,202,.12);

}


.final-cta-card::before{

    content:"";

    position:absolute;

    width:450px;
    height:450px;

    left:-180px;
    top:-180px;

    border-radius:50%;

    background:
    rgba(10,181,202,.12);

    filter:blur(80px);

}


.final-cta-card::after{

    content:"";

    position:absolute;

    width:450px;
    height:450px;

    right:-180px;
    bottom:-180px;

    border-radius:50%;

    background:
    rgba(210,51,144,.12);

    filter:blur(80px);

}


.final-cta-card h2{

    position:relative;

    z-index:2;

    max-width:900px;

    margin:0 auto 25px;

    font-size:clamp(2.4rem,4vw,4.5rem);

    font-weight:900;

    line-height:1.1;

}


.final-cta-card p{

    position:relative;

    z-index:2;

    max-width:760px;

    margin:0 auto 40px;

    color:var(--gray);

    line-height:1.9;

    font-size:1.1rem;

}


.final-cta-actions{

    position:relative;

    z-index:2;

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}


/* BOTÓN SECUNDARIO */

.btn-outline-sianot{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:16px 34px;

    border-radius:999px;

    text-decoration:none;

    font-weight:700;

    color:var(--dark);

    border:1px solid rgba(0,0,0,.08);

    background:white;

    transition:.35s;

}


.btn-outline-sianot:hover{

    transform:translateY(-4px);

    color:var(--dark);

}

/* ==================================================
   FOOTER
================================================== */

.footer-sianot{

    padding:90px 0 40px;

    background:#fff;

}


.footer-grid{

    display:grid;

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

    gap:50px;
    margin-bottom: 40px;

}


.footer-logo{

    width:180px;

    margin-bottom:20px;

}

.footer-text2{

        color: var(--gray);
    line-height: 1.8;
    text-align: center;
    max-width: 90%;
    margin: auto;

}
.footer-text{

    color:var(--gray);

    max-width:320px;

    line-height:1.8;

}


.footer-grid h4{

    font-size:1rem;

    font-weight:800;

    margin-bottom:20px;

}


.footer-grid a{

    display:block;

    text-decoration:none;

    color:var(--gray);

    margin-bottom:12px;

    transition:.3s;

}


.footer-grid a:hover{

    color:var(--primary);

}
.footer-text2 a{

    text-decoration:none;

    color:var(--gray);

    transition:.3s;

}


.footer-text2 a:hover{

    color:var(--primary);

}


.footer-bottom{

    padding-top:30px;

    border-top:
    1px solid rgba(0,0,0,.08);

    text-align:center;

}


.footer-bottom p{

    margin:0;

    color:var(--gray);

}
@media(max-width:991px){

    .footer-grid{

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

    }

}


@media(max-width:768px){

    .final-cta-card{

        padding:70px 30px;

        border-radius:35px;

    }

    .footer-grid{

        grid-template-columns:1fr;

        text-align:center;

    }

    .footer-text{

        margin:auto;

    }

}

/* ==================================================
   PLANES PAGE
================================================== */
/*ACORDEON PLANES*/
.features-list li:nth-child(n+5) {
    display: none;
}

.features-list.expanded li {
    display: flex;
}

.toggle-features{
    width:100%;
    margin:15px 0 25px;
    background:none;
    border:none;
    color:var(--primary);
    font-weight:600;
    cursor:pointer;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;
    transition:.3s;
}

.toggle-features:hover{
    color:var(--secondary);
}

.toggle-features i{
    transition:.35s;
}

.toggle-features.active i{
    transform:rotate(180deg);
}
/* ==========================================
   HERO PLANES
========================================== */

.plans-hero{

    padding:220px 0 140px;

    position:relative;

    overflow:hidden;

}

.plans-hero::before{

    content:"";

    position:absolute;

    width:500px;
    height:500px;

    top:-200px;
    left:-200px;

    border-radius:50%;

    background:
    rgba(10,181,202,.08);

    filter:blur(80px);

}

.plans-hero::after{

    content:"";

    position:absolute;

    width:500px;
    height:500px;

    bottom:-200px;
    right:-200px;

    border-radius:50%;

    background:
    rgba(210,51,144,.08);

    filter:blur(80px);

}

.plans-hero .hero-content{

    position:relative;

    z-index:2;

    max-width:900px;

    margin:auto;

}

.plans-hero h1{

    font-size:clamp(3rem,6vw,5.5rem);

    font-weight:900;

    line-height:1.05;

    margin-bottom:25px;

}

.plans-hero p{

    max-width:760px;

    margin:0 auto 40px;

    color:var(--gray);

    line-height:1.9;

    font-size:1.1rem;

}

.hero-actions{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}

/* ==========================================
   PRICING
========================================== */

.pricing-section{

    padding:0 0 140px;

}

.pricing-grid{

    display:grid;

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

    gap:30px;

}

.pricing-card{

    position:relative;

    overflow:hidden;

    padding:45px;

    border-radius:36px;

    background:#F8FAFC;

    border:
    1px solid rgba(0,0,0,.04);

    transition:.4s;

}

.pricing-card:hover{

    transform:
    translateY(-10px);

    box-shadow:
    0 30px 80px rgba(0,0,0,.08);

}

.pricing-card h3{

    font-size:2rem;

    font-weight:800;

    margin-bottom:15px;

}

.plan-description{

    color:var(--gray);

    line-height:1.8;

    margin-bottom:30px;

}

.pricing-card ul{

    list-style:none;

    padding:0;

    margin:0 0 35px;

}

.pricing-card li{

    display:flex;

    gap:12px;

    margin-bottom:14px;

}

.pricing-card li i{

    color:var(--primary);

}

.pricing-card.featured{

    transform:scale(1.05);

    background:
    linear-gradient(
        135deg,
        rgba(10,181,202,.08),
        rgba(210,51,144,.08)
    );

    border:
    1px solid rgba(10,181,202,.18);

    box-shadow:
    0 30px 80px rgba(10,181,202,.15);

}

.popular-badge{

    position:absolute;

    top:20px;
    right:20px;

    padding:10px 18px;

    border-radius:999px;

    background:var(--gradient);

    color:white;

    font-size:.85rem;

    font-weight:700;

}

/* ==========================================
   COMPARISON
========================================== */

.comparison-section{

    padding:0 0 140px;

}

.comparison-wrapper{

    overflow:hidden;

    border-radius:36px;

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

    backdrop-filter:blur(20px);

    box-shadow:
    0 20px 60px rgba(0,0,0,.06);

}

.comparison-table{

    margin:0;

}

.comparison-table thead th{

    padding:24px;

    background:#F8FAFC;

    border:none;

    font-weight:800;

}

.comparison-table td{

    padding:22px;

    border-color:
    rgba(0,0,0,.05);

}

.comparison-table td:not(:first-child){

    text-align:center;

}

.comparison-table i{

    color:var(--primary);

    font-size:1.2rem;

}

/* ==========================================
   FAQ
========================================== */

.faq-section{

    padding:0 0 140px;

}

.faq-wrapper{

    max-width:900px;

    margin:auto;

}

.accordion-item{

    border:none !important;

    background:#F8FAFC !important;

    border-radius:24px !important;

    overflow:hidden;

    margin-bottom:18px;

}

.accordion-button{

    background:#F8FAFC !important;

    padding:24px !important;

    font-weight:700;

    box-shadow:none !important;

}

.accordion-button:not(.collapsed){

    color:var(--primary);

}

.accordion-body{

    padding:0 24px 24px;

    color:var(--gray);

    line-height:1.8;

}
.faqs-bulllet{
    margin-top: 20px;
}
.faqs-bulllet i{
    color:var(--primary);
}
/* ==========================================
   RESPONSIVE
========================================== */

@media(max-width:991px){

    .pricing-grid{

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

    }

    .pricing-card.featured{

        transform:none;

    }

}

@media(max-width:768px){

    .plans-hero{

        padding:180px 0 90px;

    }

    .pricing-section,
    .comparison-section,
    .faq-section{

        padding:0 0 90px;

    }

    .pricing-grid{

        grid-template-columns:1fr;

    }

    .pricing-card{

        padding:35px;

    }

    .comparison-wrapper{

        border-radius:24px;

    }

}
/* ==================================================
   FAQ HERO
================================================== */

.faq-hero{

    padding:
    220px 0 80px;

}


.faq-hero h1{

    font-size:
    clamp(3rem,6vw,5.5rem);

    font-weight:900;

    line-height:1.05;

    margin-bottom:25px;

}


.faq-hero p{

    max-width:700px;

    margin:auto;

    color:var(--gray);

    font-size:1.15rem;

    line-height:1.9;

}


/* ==================================================
   FAQ FILTERS
================================================== */

.faq-filters-section{

    padding:0 0 70px;

}


.faq-filters{

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:15px;

}


.faq-filter{

    border:none;

    padding:14px 24px;

    border-radius:999px;

    background:#F8FAFC;

    color:var(--dark);

    font-weight:600;

    transition:.35s;

    cursor:pointer;

    box-shadow:
    0 10px 25px rgba(0,0,0,.04);

}


.faq-filter:hover{

    transform:
    translateY(-3px);

}


.faq-filter.active{

    background:var(--gradient);

    color:white;

}


/* ==================================================
   FAQ SECTION
================================================== */

.faq-section{

    padding:0 0 120px;

}


.faq-accordion{

    max-width:950px;

    margin:auto;

}


/* ==================================================
   ACCORDION ITEM
================================================== */

.faq-item{

    overflow:hidden;

    border:none !important;

    border-radius:24px !important;

    margin-bottom:18px;

    background:#F8FAFC;

    box-shadow:
    0 15px 40px rgba(0,0,0,.04);

}


.faq-item .accordion-button{

    padding:28px 30px;

    background:#F8FAFC;

    font-weight:700;

    font-size:1.05rem;

    color:var(--dark);

    box-shadow:none !important;

}


.faq-item .accordion-button:not(.collapsed){

    background:#F8FAFC;

    color:var(--dark);

}


.faq-item .accordion-button::after{

    transition:.35s;

}


.faq-item .accordion-body{

    padding:

    0 30px 30px;

    color:var(--gray);

    line-height:1.9;

}


/* ==================================================
   FAQ HELP
================================================== */

.faq-help{

    padding:0 0 120px;

}


.faq-help-card{

    position:relative;

    overflow:hidden;

    text-align:center;

    padding:80px 50px;

    border-radius:40px;

    background:#F8FAFC;

    border:
    1px solid rgba(0,0,0,.04);

}


.faq-help-card::before{

    content:"";

    position:absolute;

    width:350px;
    height:350px;

    top:-150px;
    left:-150px;

    border-radius:50%;

    background:
    rgba(10,181,202,.10);

    filter:blur(70px);

}


.faq-help-card::after{

    content:"";

    position:absolute;

    width:350px;
    height:350px;

    right:-150px;
    bottom:-150px;

    border-radius:50%;

    background:
    rgba(210,51,144,.10);

    filter:blur(70px);

}


.faq-help-card h2{

    position:relative;

    z-index:2;

    font-size:
    clamp(2rem,4vw,3.5rem);

    font-weight:900;

    line-height:1.1;

    margin-bottom:20px;

}


.faq-help-card p{

    position:relative;

    z-index:2;

    max-width:750px;

    margin:
    0 auto 35px;

    color:var(--gray);

    line-height:1.9;

    font-size:1.05rem;

}


.faq-help-card .final-cta-actions{

    position:relative;

    z-index:2;

}


/* ==================================================
   FAQ HOVER
================================================== */

.faq-item{

    transition:.35s;

}


.faq-item:hover{

    transform:
    translateY(-4px);

    box-shadow:
    0 20px 60px rgba(0,0,0,.06);

}


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

@media(max-width:768px){

    .faq-hero{

        padding:
        180px 0 60px;

    }

    .faq-filters-section{

        padding:0 0 50px;

    }

    .faq-filter{

        padding:12px 18px;

        font-size:.9rem;

    }

    .faq-section{

        padding:0 0 90px;

    }

    .faq-item .accordion-button{

        padding:22px;

        font-size:1rem;

    }

    .faq-item .accordion-body{

        padding:
        0 22px 22px;

    }

    .faq-help{

        padding:0 0 90px;

    }

    .faq-help-card{

        padding:60px 25px;

        border-radius:30px;

    }

}
/* ==================================================
   CONTACT HERO
================================================== */

.contact-hero{

    position:relative;

    overflow:hidden;

    min-height:85vh;

    display:flex;

    align-items:center;

    padding:220px 0 120px;

}


.contact-hero-content{

    position:relative;

    z-index:2;

    max-width:900px;

    margin:auto;

}


.contact-hero h1{

    font-size:clamp(3rem,6vw,5.5rem);

    font-weight:900;

    line-height:1.05;

    margin-bottom:25px;

}


.contact-hero p{

    max-width:760px;

    margin:0 auto 40px;

    color:var(--gray);

    font-size:1.15rem;

    line-height:1.9;

}


.contact-hero-actions{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}


/* ==========================================
   BLURS
========================================== */

.contact-blur{

    position:absolute;

    border-radius:50%;

    filter:blur(80px);

    pointer-events:none;

}


.blur-1{

    width:420px;
    height:420px;

    top:-120px;
    left:-120px;

    background:
    rgba(10,181,202,.12);

}


.blur-2{

    width:420px;
    height:420px;

    bottom:-150px;
    right:-150px;

    background:
    rgba(210,51,144,.10);

}


/* ==================================================
   CONTACT PANEL
================================================== */

.contact-panel{

    padding:0 0 140px;

}


.contact-wrapper{

    display:grid;

    grid-template-columns:
    1fr 1.15fr;

    gap:35px;

    align-items:start;

}


/* ==================================================
   INFO CARD
================================================== */

.contact-info-card{

    position:relative;

    overflow:hidden;

    padding:50px;

    border-radius:36px;

    background:#F8FAFC;

    border:1px solid rgba(0,0,0,.04);

}


.contact-info-card::before{

    content:"";

    position:absolute;

    width:260px;
    height:260px;

    top:-100px;
    right:-100px;

    border-radius:50%;

    background:
    rgba(10,181,202,.10);

    filter:blur(40px);

}


.contact-info-card h2{

    font-size:clamp(2rem,3vw,3rem);

    font-weight:900;

    line-height:1.1;

    margin-bottom:20px;

}


.contact-info-card p{

    color:var(--gray);

    line-height:1.9;

    margin-bottom:35px;

}


/* ==========================================
   BENEFITS
========================================== */

.contact-benefits{

    list-style:none;

    padding:0;

    margin:0 0 40px;

}


.contact-benefits li{

    display:flex;

    align-items:center;

    gap:12px;

    margin-bottom:16px;

    font-weight:500;

}


.contact-benefits i{

    color:var(--primary);

    font-size:1.1rem;

}


/* ==========================================
   CONTACT DETAILS
========================================== */

.contact-details{

    display:flex;

    flex-direction:column;

    gap:20px;

}


.contact-detail{

    display:flex;

    align-items:flex-start;

    gap:16px;

}


.contact-icon{

    width:52px;
    height:52px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:16px;

    background:white;

    color:var(--primary);

    font-size:1.2rem;

    flex-shrink:0;

}


.contact-detail small{

    display:block;

    color:var(--gray);

    margin-bottom:5px;

}


.contact-detail strong{

    display:block;

    font-size:1rem;

    line-height:1.6;

}


/* ==================================================
   FORM CARD
================================================== */

.contact-form-card{

    padding:50px;

    border-radius:36px;

    background:white;

    box-shadow:
    0 30px 80px rgba(0,0,0,.06);

    border:1px solid rgba(0,0,0,.05);

}


.contact-form-card h3{

    font-size:2rem;

    font-weight:800;

    margin-bottom:10px;

}


.contact-form-card p{

    color:var(--gray);

    margin-bottom:35px;

    line-height:1.8;

}


/* ==========================================
   FORM ELEMENTS
========================================== */

.form-group label{

    display:block;

    margin-bottom:10px;

    font-weight:600;

    color:var(--dark);

}


.contact-form-card .form-control,
.contact-form-card .form-select{

    height:58px;

    border:none;

    border-radius:18px;

    background:#F8FAFC;

    padding:0 20px;

    box-shadow:none !important;

}


.contact-form-card textarea.form-control{

    height:auto;

    padding:20px;

    resize:none;

}


.contact-form-card .form-control:focus,
.contact-form-card .form-select:focus{

    background:#F8FAFC;

    border:none;

    box-shadow:
    0 0 0 3px rgba(10,181,202,.12) !important;

}


#contactForm .form-control.is-invalid,
#contactForm .form-select.is-invalid{

    border-color:rgba(180,76,76,.55);

    background:#fffdfd;

    box-shadow:
    0 0 0 3px rgba(180,76,76,.055) !important;

}


#contactForm .invalid-feedback{

    display:none;

    margin-top:6px;

    color:#a64b4b;

    font-size:.79rem;

    line-height:1.4;

}


#contactForm .is-invalid + .invalid-feedback{

    display:block;

}


#contactFormMessage{

    padding:11px 13px;

    border:1px solid transparent;

    border-radius:10px;

    font-size:.86rem;

    line-height:1.45;

}


#contactFormMessage.alert-danger{

    color:#924545;

    background:#fff8f8;

    border-color:#f0dada;

}


#contactFormMessage.alert-success{

    color:#276d5b;

    background:#f5fbf9;

    border-color:#d5e9e2;

}


#contactFormButton:disabled{

    cursor:wait;

    opacity:.68;

    transform:none;

    box-shadow:none;

}


/* ==================================================
   COVERAGE
================================================== */

.coverage-section{

    padding:0 0 140px;

}


.coverage-grid{

    display:grid;

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

    gap:25px;

}


.coverage-card{

    position:relative;

    overflow:hidden;

    padding:40px;

    border-radius:32px;

    background:#F8FAFC;

    text-align:center;

    transition:.4s ease;

}


.coverage-card::before{

    content:"";

    position:absolute;

    width:220px;
    height:220px;

    top:-90px;
    right:-90px;

    border-radius:50%;

    background:
    rgba(10,181,202,.08);

    filter:blur(40px);

}


.coverage-card:hover{

    transform:translateY(-10px);

    box-shadow:
    0 30px 80px rgba(0,0,0,.08);

}


.coverage-card i{

    font-size:3rem;

    color:var(--primary);

    margin-bottom:20px;

}


.coverage-card h3{

    font-size:1.4rem;

    font-weight:800;

    margin-bottom:15px;

}


.coverage-card p{

    color:var(--gray);

    line-height:1.8;

    margin-bottom:0;

}


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

@media(max-width:991px){

    .contact-wrapper{

        grid-template-columns:1fr;

    }

    .coverage-grid{

        grid-template-columns:1fr 1fr;

    }

}


@media(max-width:768px){

    .contact-hero{

        padding:180px 0 90px;

    }

    .contact-hero-actions{

        flex-direction:column;

    }

    .contact-info-card,
    .contact-form-card{

        padding:35px;

        border-radius:28px;

    }

    .coverage-section{

        padding:0 0 90px;

    }

    .coverage-grid{

        grid-template-columns:1fr;

    }

    .coverage-card{

        padding:35px;

    }

}


@media(max-width:576px){

    .contact-info-card,
    .contact-form-card{

        padding:28px;

    }

    .contact-form-card h3{

        font-size:1.7rem;

    }

}

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

.support-hero{

    padding:220px 0 100px;

    background:#fff;

}


.support-hero .section-heading{

    margin-bottom:0;

}


/* ==================================================
   SUPPORT GRID (CARDS)
================================================== */

.support-actions{

    padding:0 0 120px;

}


.support-grid{

    display:grid;

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

    gap:25px;

}


.support-card{

    position:relative;

    overflow:hidden;

    padding:45px 35px;

    border-radius:32px;

    background:#F8FAFC;

    text-align:center;

    border:1px solid rgba(0,0,0,.04);

    transition:.4s ease;

}


.support-card::before{

    content:"";

    position:absolute;

    width:200px;

    height:200px;

    top:-80px;

    right:-80px;

    border-radius:50%;

    background:rgba(10,181,202,.08);

    filter:blur(40px);

}


.support-card i{

    font-size:3rem;

    color:var(--primary);

    margin-bottom:20px;

}


.support-card h3{

    font-size:1.4rem;

    font-weight:800;

    margin-bottom:15px;

}


.support-card p{

    color:var(--gray);

    line-height:1.8;

    margin:0;

}


.support-card:hover{

    transform:translateY(-10px);

    box-shadow:0 30px 80px rgba(0,0,0,.08);

}


/* ==================================================
   RESOURCES
================================================== */

.support-resources{

    padding:0 0 120px;

}


.resource-grid{

    display:grid;

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

    gap:20px;

    margin-top:40px;

}


.resource-item{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:20px;

    border-radius:18px;

    background:#F8FAFC;

    text-decoration:none;

    color:var(--dark);

    font-weight:600;

    border:1px solid rgba(0,0,0,.04);

    transition:.3s;

}


.resource-item i{

    color:var(--primary);

    font-size:1.2rem;

}


.resource-item:hover{

    transform:translateY(-6px);

    box-shadow:0 20px 50px rgba(0,0,0,.08);

}


/* ==================================================
   SUPPORT CONTACT CARD
================================================== */

.support-contact{

    padding:0 0 140px;

}


.support-contact-card{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:40px;

    padding:60px;

    border-radius:40px;

    background:linear-gradient(
        135deg,
        rgba(10,181,202,.08),
        rgba(210,51,144,.08)
    );

    border:1px solid rgba(10,181,202,.12);

    position:relative;

    overflow:hidden;

}


.support-contact-card::before,
.support-contact-card::after{

    content:"";

    position:absolute;

    width:300px;

    height:300px;

    border-radius:50%;

    filter:blur(70px);

}


.support-contact-card::before{

    top:-120px;

    left:-120px;

    background:rgba(10,181,202,.12);

}


.support-contact-card::after{

    bottom:-120px;

    right:-120px;

    background:rgba(210,51,144,.12);

}


.support-contact-card h2{

    font-size:2.5rem;

    font-weight:900;

    margin-bottom:10px;

}


.support-contact-card p{

    color:var(--gray);

    margin:0;

    line-height:1.8;

    max-width:600px;

}


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

@media(max-width:991px){

    .support-grid{

        grid-template-columns:1fr;

    }

    .resource-grid{

        grid-template-columns:1fr 1fr;

    }

    .support-contact-card{

        flex-direction:column;

        text-align:center;

    }

}


@media(max-width:768px){

    .support-hero{

        padding:180px 0 70px;

    }

    .resource-grid{

        grid-template-columns:1fr;

    }

    .support-contact-card{

        padding:40px;

        border-radius:28px;

    }

    .support-contact-card h2{

        font-size:2rem;

    }

}

/* ==================================================
   SUPPORT LOGIN
================================================== */

.support-login{

    padding:220px 0 100px;

    background:#fff;

}


.login-wrapper{

    display:flex;

    justify-content:center;

    margin-top:60px;

}


.login-card{

    width:100%;

    max-width:450px;

    padding:40px;

    border-radius:32px;

    background:rgba(248,250,252,.9);

    backdrop-filter:blur(20px);

    border:1px solid rgba(0,0,0,.05);

    box-shadow:0 30px 80px rgba(0,0,0,.08);

}


.login-card h3{

    font-size:1.8rem;

    font-weight:800;

    margin-bottom:10px;

}


.login-card p{

    color:var(--gray);

    margin-bottom:25px;

}


/* FORM */

/* ==================================================
   SUPPORT PORTAL
================================================== */

.support-card-icon{

    width:50px;

    height:50px;

    flex:0 0 50px;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    border-radius:16px;

    color:var(--primary);

    background:rgba(10,181,202,.1);

    font-size:1.35rem;

}

.support-field{

    position:relative;

    margin-bottom:20px;

}

.support-field label:not(.support-file-control){

    display:block;

    margin-bottom:8px;

    color:var(--dark);

    font-size:.92rem;

    font-weight:700;

}

.support-field label span{

    color:#D23390;

}

.support-field input:not([type="file"]),
.support-field textarea{

    width:100%;

    border:1px solid #DCE3E9;

    border-radius:14px;

    padding:13px 15px;

    color:var(--dark);

    background:#FBFCFD;

    font:inherit;

    line-height:1.5;

    outline:none;

    transition:border-color .2s ease, box-shadow .2s ease;

}

.support-field textarea{

    resize:vertical;

    min-height:150px;

}

.support-field input:not([type="file"]):focus,
.support-field textarea:focus{

    border-color:rgba(10,181,202,.75);

    box-shadow:0 0 0 4px rgba(10,181,202,.1);

}

.support-field-error{

    display:none;

    margin-top:7px;

    color:#B42318;

    font-size:.8rem;

}

.support-field-hint{

    display:block;

    margin-top:7px;

    color:var(--gray);

    font-size:.8rem;

}

.support-field.is-invalid input:not([type="file"]),
.support-field.is-invalid textarea,
.support-field.is-invalid .support-file-control{

    border-color:#D92D20;

    box-shadow:0 0 0 3px rgba(217,45,32,.08);

}

.support-field.is-invalid .support-field-error{

    display:block;

}

.support-field.is-invalid .support-field-hint{

    display:none;

}

.support-message{

    display:none;

    margin:4px 0 18px;

    padding:12px 14px;

    border-radius:12px;

    font-size:.9rem;

    line-height:1.5;

}

.support-message.is-visible{

    display:block;

}

.support-message.is-error{

    color:#9F1A14;

    border:1px solid rgba(217,45,32,.16);

    background:#FFF3F2;

}

.support-message.is-success{

    color:#087044;

    border:1px solid rgba(3,152,85,.18);

    background:#ECFDF3;

}

.support-login button:disabled,
.support-portal button:disabled{

    cursor:wait;

    opacity:.65;

}

.support-portal{

    padding:0 0 120px;

}

.support-session-bar{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:24px;

    margin-bottom:24px;

    padding:18px 22px;

    border:1px solid rgba(10,181,202,.13);

    border-radius:18px;

    background:rgba(10,181,202,.055);

}

.support-session-bar > div{

    display:flex;

    align-items:center;

    gap:10px;

}

.support-session-label{

    color:var(--gray);

    font-size:.88rem;

}

.support-logout{

    padding:8px 4px;

    border:0;

    color:var(--gray);

    background:transparent;

    font:inherit;

    font-size:.88rem;

    font-weight:700;

    transition:color .2s ease;

}

.support-logout:hover{

    color:#D23390;

}

.support-panel-grid{

    display:grid;

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

    align-items:start;

    gap:28px;

}

.support-form-card,
.support-history-card{

    padding:34px;

    border:1px solid rgba(27,39,51,.07);

    border-radius:28px;

    background:#fff;

    box-shadow:0 18px 55px rgba(31,53,72,.065);

}

.support-history-card{

    position:static;

    min-width:0;

    overflow:hidden;

}

.support-panel-heading{

    display:flex;

    align-items:center;

    gap:16px;

    margin-bottom:28px;

}

.support-panel-heading h2{

    margin:0 0 4px;

    font-size:1.55rem;

    font-weight:850;

}

.support-panel-heading p{

    margin:0;

    color:var(--gray);

    font-size:.9rem;

}

.support-card-icon-secondary{

    color:#D23390;

    background:rgba(210,51,144,.09);

}

.support-form-grid{

    display:grid;

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

    column-gap:18px;

}

.support-field-full{

    grid-column:1 / -1;

}

.support-file-input{

    position:absolute;

    width:1px;

    height:1px;

    opacity:0;

    pointer-events:none;

}

.support-file-control{

    display:flex;

    align-items:center;

    gap:14px;

    width:100%;

    padding:16px;

    border:1px dashed #C9D3DC;

    border-radius:14px;

    color:var(--dark);

    background:#FBFCFD;

    cursor:pointer;

    transition:border-color .2s ease, background .2s ease;

}

.support-file-control:hover{

    border-color:var(--primary);

    background:rgba(10,181,202,.03);

}

.support-file-control > i{

    color:var(--primary);

    font-size:1.55rem;

}

.support-file-control strong,
.support-file-control small{

    display:block;

}

.support-file-control strong{

    margin-bottom:2px;

    font-size:.92rem;

}

.support-file-control small{

    color:var(--gray);

    font-size:.78rem;

    overflow-wrap:anywhere;

}

.support-submit{

    min-width:190px;

}

.support-ticket-list{

    display:grid;

    gap:12px;

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

    width:100%;

    min-width:0;

    max-height:640px;

    padding-right:7px;

    overflow-x:hidden;

    overflow-y:auto;

    overscroll-behavior:contain;

    scrollbar-color:rgba(10,181,202,.35) transparent;

    scrollbar-width:thin;

}

.support-ticket-list::-webkit-scrollbar{

    width:6px;

}

.support-ticket-list::-webkit-scrollbar-track{

    background:transparent;

}

.support-ticket-list::-webkit-scrollbar-thumb{

    border-radius:999px;

    background:rgba(10,181,202,.28);

}

.support-ticket-item{

    width:100%;

    min-width:0;

    padding:17px;

    border:1px solid rgba(27,39,51,.065);

    border-radius:15px;

    background:#F8FAFC;

    overflow:hidden;

    transition:transform .2s ease, border-color .2s ease, background .2s ease;

}

.support-ticket-item:hover{

    transform:translateY(-2px);

    border-color:rgba(10,181,202,.22);

    background:#fff;

}

.support-ticket-top{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:10px;

    margin-bottom:9px;

    min-width:0;

}

.support-ticket-top strong{

    min-width:0;

    overflow:hidden;

    text-overflow:ellipsis;

    white-space:nowrap;

    font-size:.78rem;

    letter-spacing:.02em;

}

.support-ticket-item h3{

    margin:0 0 8px;

    font-size:.96rem;

    line-height:1.4;

    overflow-wrap:anywhere;

    display:-webkit-box;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:3;

    overflow:hidden;

}

.support-ticket-item p{

    margin:0;

    color:var(--gray);

    font-size:.78rem;

}

.support-status{

    flex:0 0 auto;

    padding:5px 8px;

    border-radius:999px;

    color:#9A6700;

    background:#FFF8E1;

    font-size:.68rem;

    font-weight:800;

    white-space:nowrap;

}

.support-status-en-proceso{

    color:#026AA2;

    background:#F0F9FF;

}

.support-status-completado,
.support-status-completada,
.support-status-cerrado,
.support-status-cerrada{

    color:#087044;

    background:#ECFDF3;

}

.support-list-state{

    padding:28px 12px;

    color:var(--gray);

    text-align:center;

    font-size:.88rem;

}

.support-list-state.is-error{

    color:#B42318;

}

.support-ticket-table-wrap{

    width:100%;

    min-width:0;

    overflow-x:auto;

    border:1px solid rgba(27,39,51,.07);

    border-radius:16px;

    background:#fff;

}

.support-ticket-table{

    width:100%;

    min-width:760px;

    border-collapse:collapse;

    table-layout:fixed;

    color:var(--dark);

}

.support-ticket-table th{

    padding:14px 16px;

    color:#536779;

    background:#F4F7F9;

    border-bottom:1px solid rgba(27,39,51,.08);

    font-size:.76rem;

    font-weight:800;

    letter-spacing:.025em;

    text-align:left;

}

.support-ticket-table td{

    padding:16px;

    border-bottom:1px solid rgba(27,39,51,.065);

    color:#526273;

    font-size:.86rem;

    line-height:1.45;

    overflow-wrap:anywhere;

    vertical-align:middle;

}

.support-ticket-table tbody tr{

    transition:background .2s ease;

}

.support-ticket-table tbody tr:hover{

    background:rgba(10,181,202,.035);

}

.support-ticket-table tbody tr:last-child td{

    border-bottom:0;

}

.support-ticket-table th:nth-child(1){

    width:14%;

}

.support-ticket-table th:nth-child(2){

    width:15%;

}

.support-ticket-table th:nth-child(3){

    width:14%;

}

.support-ticket-table th:nth-child(4){

    width:14%;

}

.support-ticket-table th:nth-child(5){

    width:43%;

}

.support-ticket-folio{

    color:#247C91 !important;

    font-variant-numeric:tabular-nums;

    font-weight:800;

}

.support-ticket-activity{

    color:var(--dark) !important;

    font-weight:650;

}

.support-history-toggle{

    display:flex;

    align-items:center;

    justify-content:center;

    width:max-content;

    margin:18px auto 0;

    padding:10px 16px;

    border:1px solid rgba(10,181,202,.22);

    border-radius:12px;

    color:#247C91;

    background:rgba(10,181,202,.055);

    font:inherit;

    font-size:.84rem;

    font-weight:800;

    transition:transform .2s ease, border-color .2s ease, background .2s ease;

}

.support-history-toggle:hover{

    transform:translateY(-1px);

    border-color:rgba(10,181,202,.42);

    background:rgba(10,181,202,.1);

}

.support-history-toggle:active{

    transform:translateY(0);

}

.support-history-toggle:focus-visible{

    outline:3px solid rgba(10,181,202,.2);

    outline-offset:3px;

}

.support-history-toggle[hidden]{

    display:none;

}

@media(max-width:991px){

    .support-panel-grid{

        grid-template-columns:1fr;

    }

    .support-ticket-list{

        max-height:520px;

    }

}

@media(max-width:767px){

    .support-ticket-table-wrap{

        overflow:visible;

        border:0;

        border-radius:0;

        background:transparent;

    }

    .support-ticket-table{

        min-width:0;

    }

    .support-ticket-table thead{

        display:none;

    }

    .support-ticket-table,
    .support-ticket-table tbody,
    .support-ticket-table tr,
    .support-ticket-table td{

        display:block;

        width:100%;

    }

    .support-ticket-table tbody{

        display:grid;

        gap:12px;

    }

    .support-ticket-table tbody tr{

        padding:13px 15px;

        border:1px solid rgba(27,39,51,.07);

        border-radius:14px;

        background:#F8FAFC;

    }

    .support-ticket-table td{

        display:grid;

        grid-template-columns:82px minmax(0,1fr);

        gap:10px;

        padding:7px 0;

        border:0;

        text-align:left;

    }

    .support-ticket-table td::before{

        content:attr(data-label);

        color:#718192;

        font-size:.72rem;

        font-weight:800;

    }

}

@media(max-width:576px){

    .support-form-card,
    .support-history-card{

        padding:24px 20px;

        border-radius:22px;

    }

    .support-form-grid{

        grid-template-columns:1fr;

    }

    .support-field{

        grid-column:1;

    }

    .support-session-bar,
    .support-session-bar > div{

        align-items:flex-start;

        flex-direction:column;

    }

    .support-session-bar{

        gap:12px;

    }

    .support-panel-heading{

        align-items:flex-start;

    }

    .support-submit{

        width:100%;

    }

}

.form-group{

    margin-bottom:18px;

    text-align:left;

}


.form-group label{

    display:block;

    font-size:.9rem;

    font-weight:600;

    margin-bottom:6px;

    color:var(--dark);

}


.form-group input{

    width:100%;

    padding:14px 16px;

    border-radius:14px;

    border:1px solid rgba(0,0,0,.08);

    outline:none;

    font-size:1rem;

    transition:.3s;

    background:white;

}


.form-group input:focus{

    border-color:var(--primary);

    box-shadow:0 0 0 4px rgba(10,181,202,.12);

}


/* W100 BUTTON */

.w-100{

    width:100%;

}


/* RESOURCE ITEMS HOVER UPDATE */

.resource-item{

    cursor:pointer;

}


/* PREMIUM GLASS EFFECT */

.login-card::before{

    content:"";

    position:absolute;

    width:200px;

    height:200px;

    top:-80px;

    right:-80px;

    border-radius:50%;

    background:rgba(10,181,202,.10);

    filter:blur(40px);

}


.login-card{

    position:relative;

    overflow:hidden;

}

.aviso-section p {
    color: var(--gray);
    line-height: 1.9;
    margin-bottom: 20px;
    font-size: 1.05rem;
}

.aviso-section h4{
    font-size: 20px;
    color: #1ea8c4;
    margin-bottom: 20px;
    margin-top: 40px;
}
.aviso-section ul li{
    line-height: 35px;
}
.aviso-section ul li i{
    color: #13afc8;
}
