@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700;800&display=swap');


:root {

    --negro: black;
    --negro2: #0f0f0f;
    --verde: #00ff88;

}

nav a.active {

    color: #00ff88;

}

.card,
.info-box,
.step,
.servicio-card,
.porque-card {

    background: #0f0f0f;

}



body{

font-family: 'Poppins', sans-serif;

color:white;

background:linear-gradient(
120deg,
#000000,
#051a12,
#000000
);

background-attachment:fixed;

}



/* ===== HEADER PREMIUM ===== */

.header{
position:fixed;
top:0;
left:0;
width:100%;
background:black;
border-bottom:1px solid #00ff88;
z-index:1000;
transition:0.3s;
}

.header-container{
max-width:1200px;
margin:auto;
display:flex;
align-items:center;
justify-content:space-between;
padding:15px 20px;
transition:0.3s;
}

.logo{
height:50px;
transition:0.3s;
}

.header.scrolled{
background:#050505;
}

.header.scrolled .header-container{
padding:5px 20px;
}

.header.scrolled .logo{
height:30px;
}

nav {

    display: flex;

    gap: 20px;

    flex-wrap: wrap;

}

nav a {

    color: white;

    text-decoration: none;

    cursor: pointer;

}



nav {

    display: flex;

    gap: 20px;

    flex-wrap: wrap;

}

.logo {

    height: 35px;

}

body {

    margin: 0;

    padding-top: 90px;

}



.logo {

    height: 120px;
    width: auto;

}


nav a {

    color: white;

    text-decoration: none;

    margin: 0 15px;

    font-size: 16px;

    position: relative;

    transition: 0.3s;

}


nav a:hover {

    color: #00ff88;

    text-shadow: 0 0 5px #00ff88;

}

nav a::after {

    content: "";

    position: absolute;

    width: 0;

    height: 2px;

    background: #00ff88;

    left: 0;

    bottom: -5px;

    transition: 0.3s;

}

nav a:hover::after {

    width: 100%;

}

nav a:hover {

    color: #00ff88;

    text-shadow: 0 0 5px #00ff88;

}


.info {

    padding: 70px 0;

    background: transparent;

    text-align: center;

}


.info-text {

    max-width: 700px;

    margin: auto;

    margin-top: 10px;

    color: #ccc;

}



.info-grid {

    margin-top: 50px;

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 30px;

    max-width: 1100px;

    margin-left: auto;
    margin-right: auto;

}



.info-box {

    background: #0f0f0f;

    padding: 30px;

    border-radius: 12px;

    border: 1px solid #00ff88;

    transition: 0.3s;

}



.info-box:hover {

    transform: translateY(-5px);

    box-shadow: 0 0 20px #00ff88;

}



.icon {

    font-size: 40px;

    margin-bottom: 10px;

}

.container {

    max-width: 1100px;
    margin: auto;
    padding: 0 20px;

}

.solucion {

    background: transparent;

    text-align: center;

}



.solucion-grid {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 40px;

    max-width: 900px;

    margin: auto;

    margin-top: 40px;

}



.solucion-box {

    background: #0f0f0f;

    padding: 40px;

    border-radius: 12px;

    border: 1px solid #00ff88;

    transition: 0.3s;

}



.solucion-box:hover {

    transform: translateY(-5px);

    box-shadow: 0 0 20px #00ff88;

}

/* ===== ESPACIADO GENERAL ENTRE SECCIONES ===== */

section {

    padding: 70px 0;

}


/* ===== HERO ===== */

.hero {

    padding: 80px 0;

}


/* ===== INFO (Hoy tus clientes...) ===== */

.info {

    padding: 70px 0;
    background: var(--negro);


}


/* ===== SOLUCION ===== */

.solucion {

    padding: 60px 0;

    background: black;

    text-align: center;

}

section {

    padding: 70px 0;

}

.hero{

background-image:linear-gradient(
120deg,
#000000,
#051a12,
#000000
);

}

.solucion {

    padding: 60px 0;

}

.solucion {

    background: var(--negro);

    text-align: center;

}


.solucion-steps {

    display: flex;

    justify-content: center;

    gap: 40px;

    margin-top: 40px;

    flex-wrap: wrap;

}


.step {

    background: #0f0f0f;

    padding: 30px;

    border-radius: 12px;

    border: 1px solid #00ff88;

    width: 260px;

    transition: 0.3s;

}


.step:hover {

    transform: translateY(-5px);

    box-shadow: 0 0 20px #00ff88;

}


.step-icon {

    font-size: 40px;

    margin-bottom: 10px;

}

h1 {

    font-size: 48px;

    font-weight: 800;

    margin-bottom: 20px;

}


h2 {

    font-size: 34px;

    font-weight: 700;

    margin-bottom: 20px;

}


h3 {

    font-size: 22px;

    font-weight: 600;

    margin-bottom: 10px;

}


p {

    font-size: 16px;

    color: #ccc;

    line-height: 1.6;

}

.hero h1 {

    font-size: 52px;

    font-weight: 800;

}


.hero p {

    font-size: 18px;

    max-width: 500px;

}

section h2 {

    text-align: center;

    font-size: 36px;

    margin-bottom: 10px;

}


.info-text {

    font-size: 17px;

    color: #aaa;

    max-width: 700px;

    margin: auto;

}

.info-box h3,
.step h3 {

    font-size: 20px;

    font-weight: 600;

}


.info-box p,
.step p {

    font-size: 14px;

    color: #bbb;

}

/* ===== REVEAL PRO ===== */

.reveal{

opacity:0;

transform:translateY(60px) scale(0.95);

transition:

opacity 0.8s ease,
transform 0.8s ease;

}


.reveal.active{

opacity:1;

transform:translateY(0) scale(1);

}

/* animación más suave */

.reveal{

will-change:transform, opacity;

}


.reveal.active{

transition:

opacity 0.8s ease,
transform 0.8s cubic-bezier(.2,.8,.2,1);

}

button,
.btn,
nav a,
.card,
.info-box,
.step {

    cursor: pointer;

}

.card:hover,
.info-box:hover,
.step:hover {

    transform: translateY(-5px);

    box-shadow: 0 0 15px #00ff88;

    transition: 0.3s;

}

nav a:hover {

    color: #00ff88;

}

.servicios {
    background: transparent;

    padding: 70px 0;

    text-align: center;

}



.servicios-grid {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 40px;

    max-width: 800px;

    margin: 20px auto;

}



.servicio-card {

    background: #0f0f0f;

    border: 1px solid #00ff88;

    border-radius: 12px;

    padding: 30px;

    text-decoration: none;

    color: white;

    transition: 0.3s;

    display: block;

}



.servicio-card:hover {

    transform: translateY(-5px);

    box-shadow: 0 0 20px #00ff88;

}



.servicio-icon {

    font-size: 40px;

    margin-bottom: 10px;

}

.porque {

    background: transparent;

    padding: 70px 0;

    text-align: center;

}



.porque-grid {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 25px;

    margin-top: 40px;

}



.porque-card {

    background: #111;

    border: 1px solid #00ff88;

    border-radius: 12px;

    padding: 25px;

    transition: 0.3s;

}



.porque-card:hover {

    transform: translateY(-5px);

    box-shadow: 0 0 20px #00ff88;

}



.porque-icon {

    font-size: 35px;

    margin-bottom: 10px;

}

.planes {

    padding: 80px 0;

    background: transparent;

    text-align: center;

}



.planes-grid {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 40px;

    max-width: 800px;

    margin: 40px auto;

}



.plan-card {

    background: #0f0f0f;

    border: 1px solid #00ff88;

    border-radius: 12px;

    padding: 30px;

    transition: 0.3s;

    min-height: 220px;

}


.plan-card:hover {

    transform: translateY(-5px);

    box-shadow: 0 0 20px #00ff88;

}


.precio {

    font-size: 28px;

    font-weight: bold;

    margin: 10px 0;

    color: #00ff88;

}



.plan-card ul {

    list-style: none;

    padding: 0;

    margin: 20px 0;

}



.plan-card li {

    margin: 5px 0;

    color: #ccc;

}

.planes h2+.planes-grid {

    margin-top: 30px;

}

.extras {

    background: transparent;

    padding: 70px 0;

    text-align: center;

}



.extras-grid {

    display: grid;

    grid-template-columns: repeat(2, 300px);

    justify-content: center;

    gap: 30px;

    margin-top: 40px;

}



.extra-card {

    background: #0f0f0f;

    border: 1px solid #00ff88;

    border-radius: 12px;

    padding: 25px;

    transition: 0.3s;

}



.extra-card:hover {

    transform: translateY(-5px);

    box-shadow: 0 0 20px #00ff88;

}



.extra-icon {

    font-size: 35px;

    margin-bottom: 10px;

}

.cta {

    background: transparent;

    padding: 80px 0;

    text-align: center;

}



.cta h2 {

    font-size: 36px;

    margin-bottom: 10px;

}



.cta .btn {

    margin-top: 20px;

}

.footer {

    background: black;

    padding: 60px 0 20px 0;

    border-top: 1px solid #00ff88;

}



.footer-grid {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 40px;

}



.footer h3 {

    margin-bottom: 10px;

}



.footer p,
.footer a {

    color: #ccc;

    text-decoration: none;

    font-size: 14px;

}



.footer a:hover {

    color: #00ff88;

}



.footer-bottom {

    text-align: center;

    margin-top: 40px;

    color: #777;

    font-size: 13px;

}

.flip-card {

    width: 100%;
    height: 180px;

    perspective: 1000px;

    cursor: pointer;

}


.flip-inner {

    position: relative;

    width: 100%;
    height: 100%;

    transition: 1s;

    transform-style: preserve-3d;

}


.flip-card.active .flip-inner {

    transform: rotateY(180deg);

}


.flip-front,
.flip-back {

    position: absolute;

    width: 100%;
    height: 100%;

    top: 0;
    left: 0;

    backface-visibility: hidden;

    background: #0f0f0f;

    border: 1px solid #00ff88;

    border-radius: 12px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: center;

    padding: 15px;

    text-align: center;

}


.flip-back {

    transform: rotateY(180deg);

    color: #ccc;

}

.extras {

    background: var(--negro);

    padding: 70px 0;

    text-align: center;

}



.extras-grid {

    display: grid;

    grid-template-columns: repeat(2, 300px);

    justify-content: center;

    gap: 50px;

    margin-top: 40px;

}



.extra-icon {

    font-size: 35px;

    margin-bottom: 10px;

}

.page-hero {

    background: black;

    padding: 120px 0 40px 0;

    text-align: center;

}



.page-hero h1 {

    font-size: 48px;

    margin-bottom: 20px;

}



.hero-text {

    max-width: 700px;

    margin: auto;

    color: #ccc;

    line-height: 1.6;

    font-size: 18px;

}

.btn-center {

    margin-top: 40px;

    text-align: center;

}

.para-quien {

    background: var(--negro);

    padding: 60px 0;

    text-align: center;

}

.para-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.para-box {

    background: #0f0f0f;

    border: 1px solid #00ff88;

    border-radius: 12px;

    padding: 25px;

}

.funcionamiento {

    background: var(--negro);

    padding: 70px 0;

    text-align: center;

}


.func-grid {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 30px;

    max-width: 900px;

    margin: 40px auto;

}


.func-box {

    background: #0f0f0f;

    border: 1px solid #00ff88;

    border-radius: 12px;

    padding: 25px;

}

.plan-card {

    background: #0f0f0f;

    border: 1px solid #00ff88;

    border-radius: 12px;

    padding: 30px;

    transition: 0.3s;

    text-align: center;

    min-height: 300px;

    display: flex;

    flex-direction: column;

    justify-content: flex-start;

}


.plan-card:hover {

    transform: translateY(-5px);

    box-shadow: 0 0 20px #00ff88;

}



.plan-icon {

    font-size: 40px;

    margin-bottom: 10px;

}



.plan-text {

    color: #ccc;

    margin-bottom: 15px;

}



.plan-card ul {

    text-align: left;

    margin: 15px 0;

}



.plan-card .btn {

    margin-top: auto;

}

.contacto {

    background: var(--negro);

    padding: 70px 0;

    text-align: center;

}



.contacto-grid {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 40px;

    max-width: 900px;

    margin: 40px auto;

}



.form-box input,
.form-box textarea {

    width: 100%;

    padding: 10px;

    margin-bottom: 10px;

    border-radius: 5px;

    border: none;

}



.form-box textarea {

    height: 120px;

}



.contact-info {

    background: #0f0f0f;

    border: 1px solid #00ff88;

    border-radius: 12px;

    padding: 25px;

}

.hero-text {

    max-width: 700px;

    margin: auto;

    line-height: 1.6;

}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
}

.footer p {
    display: flex;
    align-items: center;
    gap: 8px;
}

.whatsapp-float {

    position: fixed;
    bottom: 20px;
    right: 20px;

    background: #25D366;

    color: white;

    font-size: 26px;

    width: 55px;
    height: 55px;

    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    text-decoration: none;

    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);

    z-index: 9999;

    transition: 0.3s;

}

.whatsapp-float:hover {

    transform: scale(1.1);

    box-shadow: 0 0 15px #25D366;

}

.cookies{
position:fixed;
bottom:0;
left:0;
width:100%;
background:black;
color:white;
padding:15px;
text-align:center;
border-top:2px solid #00ff88;
z-index:9999;
}

.cookies button{
margin-left:10px;
background:#00ff88;
border:none;
padding:5px 10px;
cursor:pointer;
}

.form-info {
    display: block;
    font-size: 12px;
    color: #777;
    margin-top: 3px;
    margin-bottom: 10px;
    text-align: left;
    padding-left: 2px;
    line-height: 1.2;
}

.form-box input:focus,
.form-box textarea:focus {

    outline: none;
    box-shadow: 0 0 5px #00ff88;
    background: white;

}

.form-box textarea {
    height: 140px;
}

/* ===== FORMULARIO LIMPIO ===== */

.form-box input,
.form-box textarea {

    width: 100%;
    padding: 12px;
    margin-bottom: 12px;
    border-radius: 6px;
    border: 2px solid #cccccc;
    background: #e5e5e5;
    font-size: 14px;
    transition: 0.2s;

}


.form-box input:focus,
.form-box textarea:focus {

    border: 2px solid #00ff88;
    background: white;
    outline: none;

}


.form-box input:valid {

    border: 2px solid #00ff88;

}


.form-box input:invalid {

    border: 2px solid #ff4444;

}

/* HERO NUEVO */

.hero {

    padding: 120px 0;

}


.hero-list {

    list-style: none;
    padding: 0;
    margin: 20px 0;

}

.hero-list li {

    margin: 5px 0;
    color: #00ff88;
    font-weight: 600;

}


.hero-buttons {

    display: flex;
    gap: 15px;
    margin-top: 20px;

}


.btn-outline {

    background: transparent;
    border: 2px solid #00ff88;
    color: #00ff88;

}


.btn-outline:hover {

    background: #00ff88;
    color: black;

}

/* ===== CONFIANZA PREMIUM ===== */

.confianza-box h3 {

    font-size: 42px;

    color: #00ff88;

    margin-bottom: 5px;

    font-weight: 800;

}


.confianza-box {

    background: #0f0f0f;

    border: 1px solid #00ff88;

    border-radius: 12px;

    padding: 35px;

    transition: 0.3s;

}



.confianza-box:hover {

    transform: translateY(-8px);

    box-shadow: 0 0 20px #00ff88;

}

/* ===== SERVICIOS PRO ===== */

.servicios-grid {

    margin-top: 60px;

}


.flip-card {

    height: 200px;
    transition: 0.3s;

}


.flip-front,
.flip-back {

    border: 1px solid #00ff88;
    background: #0f0f0f;

}


.flip-front h3 {

    font-size: 20px;
    margin-top: 10px;

}


.servicio-icon {

    font-size: 50px;
    margin-bottom: 10px;

}


/* hover más fuerte */

.flip-card:hover {

    transform: translateY(-8px);

}


.flip-front:hover,
.flip-back:hover {

    box-shadow: 0 0 20px #00ff88;

}

/* ===== CTA PRO ===== */

.cta {

    position: relative;

    padding: 120px 0;

    background: black;

    text-align: center;

    overflow: hidden;

}


.cta-bg {

    position: absolute;

    top: -100px;
    right: -100px;

    width: 400px;
    height: 400px;

    background: #00ff88;

    filter: blur(150px);

    opacity: 0.2;

    animation: moveGlow2 6s infinite alternate;

}


@keyframes moveGlow2 {

    0% {
        transform: translate(0, 0);
    }

    100% {
        transform: translate(-150px, 100px);
    }

}


.cta h2 {

    font-size: 42px;

    margin-bottom: 10px;

}


.cta-buttons {

    margin-top: 25px;

    display: flex;

    justify-content: center;

    gap: 20px;

    flex-wrap: wrap;

}

/* ===== TESTIMONIOS PREMIUM ===== */

.testimonios {
    background: transparent;

    padding: 100px 0;

    text-align: center;

}

.testimonios-grid {

    display: flex;

    justify-content: center;

    gap: 40px;

    flex-wrap: wrap;

    margin-top: 40px;

}

.testimonio {

    width: 300px;

    background: #111;

    border: 1px solid #00ff88;

    border-radius: 12px;

    padding: 25px;

    transition: 0.3s;

    text-align: left;

}

.testimonio:hover {

    transform: translateY(-8px);

    box-shadow:
        0 0 10px #00ff88,
        0 0 20px #00ff88,
        0 0 40px rgba(0, 255, 136, 0.3);

}

.testimonio h3 {

    margin-bottom: 5px;

}

.stars {

    color: #00ff88;

    margin-bottom: 10px;

    font-size: 18px;

}

.testimonio p {

    color: #ccc;

    font-size: 15px;

    line-height: 1.5;

}

/* ===== HERO PREMIUM ===== */

/* ===== HERO FONDO PREMIUM ===== */

.hero{

position:relative;

background-image:linear-gradient(
120deg,
#000000,
#051a12,
#000000
);

background-attachment:fixed;

background-size:cover;

background-position:center;

}

.hero::before{

content:"";

position:absolute;

top:0;
left:0;

width:100%;
height:100%;

background:radial-gradient(
circle,
rgba(0,255,136,0.08),
transparent 60%
);

pointer-events:none;

}


@keyframes heroGradient {

    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }

}


.hero{
position:relative;
overflow:hidden;
}

.hero-bg{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
z-index:-1;
}

.hero-bg img{
width:100%;
height:100%;
object-fit:cover;
opacity:0.15; /* transparencia */
}


.hero-container {

    position: relative;

    z-index: 1;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 60px;

}


.hero-text {

    width: 50%;

}


.hero-text h1 {

    font-size: 58px;

    font-weight: 800;

    line-height: 1.1;

    margin-bottom: 20px;

}


.hero-text p {

    font-size: 18px;

    color: #bbb;

    margin-bottom: 25px;

    max-width: 500px;

}


.hero-list {

    color: #00ff88;

    margin-bottom: 25px;

    font-weight: 600;

}


.hero-list div {

    margin: 5px 0;

}


.hero-buttons {

    display: flex;

    gap: 15px;

}


.hero-img {

    width: 50%;

    display: flex;

    justify-content: center;

}


.hero-img img {

    width: 100%;

    max-width: 450px;

    filter: drop-shadow(0 0 20px #00ff88);

}

.hero::before {

    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    background: radial-gradient(circle at center,
            rgba(0, 255, 136, 0.08),
            transparent 60%);

    pointer-events: none;

}


.btn-outline {

    background: transparent;

    border: 2px solid #00ff88;

    color: #00ff88;

}


.btn-outline:hover {

    background: #00ff88;

    color: black;

}

/* ===== CONFIANZA GRID FUERTE ===== */

body .confianza .container {
    max-width: 1200px;
}

body .confianza .confianza-grid {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 40px;

    margin-top: 40px;

    width: 100%;

}

body .confianza .confianza-box {

    background: #0f0f0f;

    border: 1px solid #00ff88;

    border-radius: 12px;

    padding: 30px;

    text-align: center;

}

body .confianza .confianza-box h3 {

    font-size: 42px;

    color: #00ff88;

}

/* ===== FIX BOTONES ===== */

/* ===== BOTON PRO ===== */

.btn{

position:relative;

background:#00ff88;

color:black;

padding:12px 25px;

border-radius:8px;

text-decoration:none;

font-weight:bold;

display:inline-block;

overflow:hidden;

transition:0.3s;

}

.btn::before{

content:"";

position:absolute;

top:0;
left:-100%;

width:100%;
height:100%;

background:linear-gradient(
120deg,
transparent,
rgba(255,255,255,0.5),
transparent
);

transition:0.5s;

}

.btn:hover::before{

left:100%;

}

.btn:hover{

box-shadow:
0 0 10px #00ff88,
0 0 20px #00ff88,
0 0 40px #00ff88;

transform:translateY(-2px);

}


.btn-outline {

    background: transparent;

    border: 2px solid #00ff88;

    color: #00ff88;

    padding: 12px 25px;

    border-radius: 8px;

    text-decoration: none;

    font-weight: 600;

    display: inline-block;

}

.btn-outline:hover {

    background: #00ff88;

    color: black;

}

/* ===== FAQ ===== */

.faq {

    background: black;

    padding: 100px 0;

    text-align: center;

}


.faq-item {

    max-width: 700px;

    margin: 15px auto;

    text-align: left;

    border: 1px solid #00ff88;

    border-radius: 10px;

    overflow: hidden;

}


.faq-question {

    width: 100%;

    background: #0f0f0f;

    color: white;

    border: none;

    padding: 15px;

    font-size: 16px;

    cursor: pointer;

    text-align: left;

}


.faq-answer {

    display: none;

    padding: 15px;

    background: #111;

    color: #ccc;

}

/* ===== ANIMACIONES PRO ===== */

.reveal {

    opacity: 0;

    transform: translateY(60px);

    transition: all 0.8s ease;

}


.reveal.active {

    opacity: 1;

    transform: translateY(0);

}

.reveal-left {

    opacity: 0;

    transform: translateX(-80px);

    transition: 0.8s;

}

.reveal-left.active {

    opacity: 1;

    transform: translateX(0);

}

/* ===== LOADER ===== */

#loader {

    position: fixed;

    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    background: black;

    display: flex;

    align-items: center;

    justify-content: center;

    z-index: 99999;

}


.loader-logo {

    color: #00ff88;

    font-size: 40px;

    font-weight: 800;

    letter-spacing: 2px;

    animation: loaderGlow 1s infinite alternate;

}


@keyframes loaderGlow {

    0% {

        opacity: 0.5;

    }

    100% {

        opacity: 1;

        text-shadow: 0 0 10px #00ff88,
            0 0 20px #00ff88;

    }

}

/* ===== BOTON ARRIBA ===== */

#topBtn {

    position: fixed;

    bottom: 30px;
    right: 30px;

    width: 45px;
    height: 45px;

    background: #00ff88;

    color: black;

    border: none;

    border-radius: 50%;

    font-size: 20px;

    cursor: pointer;

    display: none;

    z-index: 9999;

    transition: 0.3s;

}

#topBtn:hover {

    box-shadow:
        0 0 10px #00ff88,
        0 0 20px #00ff88;

    transform: scale(1.1);

}

/* ===== RESPONSIVE ===== */

@media (max-width: 900px){

.hero-container{
flex-direction:column;
text-align:center;
}

.hero-text,
.hero-img{
width:100%;
}

.hero-text h1{
font-size:32px;
}

.info-grid{
grid-template-columns:1fr;
}

.solucion-grid{
grid-template-columns:1fr;
}

.servicios-grid{
grid-template-columns:1fr;
}

.planes-grid{
grid-template-columns:1fr;
}

.extras-grid{
grid-template-columns:1fr;
}

.confianza-grid{
grid-template-columns:1fr;
}

.footer-grid{
grid-template-columns:1fr;
}

.contacto-grid{
grid-template-columns:1fr;
}

nav{
display:none;
}

.menu-btn{
display:block;
}

}

/* NAV normal */

.nav {
    display: flex;
    gap: 20px;
}

/* ===== RESPONSIVE ===== */

@media (max-width: 900px){

.hero-container{
flex-direction:column;
text-align:center;
}

.hero-text,
.hero-img{
width:100%;
}

.hero-text h1{
font-size:32px;
}

.info-grid{
grid-template-columns:1fr;
}

.solucion-grid{
grid-template-columns:1fr;
}

.servicios-grid{
grid-template-columns:1fr;
}

.planes-grid{
grid-template-columns:1fr;
}

.extras-grid{
grid-template-columns:1fr;
}

.confianza-grid{
grid-template-columns:1fr;
}

.footer-grid{
grid-template-columns:1fr;
}

.contacto-grid{
grid-template-columns:1fr;
}

nav{
display:none;
}

.menu-btn{
display:block;
}

}


/* ===== PARTICULAS ===== */

#particles {

    position: fixed;

    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    pointer-events: none;

    z-index: -1;

    overflow: hidden;

}

.particle {

    position: absolute;

    width: 3px;
    height: 3px;

    background: #00ff88;

    opacity: 0.6;

    border-radius: 50%;

    animation: moveParticle linear infinite;

}


@keyframes moveParticle {

    from {
        transform: translateY(100vh);
    }

    to {
        transform: translateY(-10vh);
    }

}

/* ===== CURSOR GLOW ===== */

#cursor-glow{

position:fixed;

top:0;
left:0;

width:200px;
height:200px;

border-radius:50%;

background:radial-gradient(
circle,
rgba(0,255,136,0.25),
transparent 60%
);

pointer-events:none;

transform:translate(-50%, -50%);

z-index:-1;

transition:transform 0.05s linear;

}

/* ===== PROCESO ===== */

.proceso{

padding:100px 0;

text-align:center;
background-attachment:fixed;


}


.proceso-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

margin-top:40px;

}


.proceso-box{

background:#0f0f0f;

border:1px solid #00ff88;

border-radius:12px;

padding:30px;

transition:0.3s;

}


.proceso-box:hover{

transform:translateY(-6px);

box-shadow:

0 0 10px #00ff88,
0 0 20px #00ff88,
0 0 40px rgba(0,255,136,0.3);

}


.proceso-num{

width:40px;
height:40px;

background:#00ff88;

color:black;

border-radius:50%;

display:flex;
align-items:center;
justify-content:center;

margin:auto;
margin-bottom:10px;

font-weight:bold;

}

@media(max-width:900px){

.proceso-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:500px){

.proceso-grid{

grid-template-columns:1fr;

}

}

/* ===== CURSOR POINTER PRO ===== */

button,
a,
.btn,
.card,
.info-box,
.step,
.plan-card,
.servicio-card,
.proceso-box,
.confianza-box,
.testimonio,
.flip-card,
.nav a{

cursor:pointer;

}

.icon i{

font-size:42px;

color:#00ff88;

text-shadow:0 0 10px #00ff88;

}

/* ===== CARDS 3D ===== */

.info-box,
.plan-card,
.servicio-card,
.proceso-box,
.confianza-box,
.testimonio{

transition:transform 0.2s ease, box-shadow 0.2s ease;

transform-style:preserve-3d;

will-change:transform;

}

/* ===== FONDO GLOBAL ===== */

section{

background:transparent !important;

}

/* ===== CENTRAR TEXTO PLANES ===== */

.plan-card{

text-align:center;

}


.plan-card ul{

text-align:center;

list-style:none;

padding:0;

}


.plan-card li{

text-align:center;

}

/* ===== FAQ PREMIUM ===== */

.faq{

padding:120px 0;

text-align:center;

}


.faq-box{

max-width:900px;

margin:auto;

margin-top:50px;

}


.faq-item{

background:rgba(15,15,15,0.9);

border:1px solid #00ff88;

border-radius:12px;

margin-bottom:18px;

padding:18px 20px;

transition:0.3s;

backdrop-filter:blur(4px);

}


.faq-item:hover{

box-shadow:
0 0 10px #00ff88,
0 0 25px rgba(0,255,136,0.3);

transform:translateY(-2px);

}


.faq-item summary{

cursor:pointer;

font-weight:600;

font-size:17px;

display:flex;

justify-content:space-between;

align-items:center;

list-style:none;

}


.faq-item summary::-webkit-details-marker{

display:none;

}


/* icono + */

.faq-item summary::after{

content:"+";

color:#00ff88;

font-size:22px;

transition:0.3s;

}


/* cuando abre */

.faq-item[open] summary::after{

transform:rotate(45deg);

}


/* respuesta */

.faq-item p{

margin-top:12px;

color:#ccc;

line-height:1.6;

font-size:15px;

}

/* ===== MENU MOVIL DETAILS ===== */



.menu-btn{
font-size:28px;
cursor:pointer;
color:white;
list-style:none;
}

.menu-btn::-webkit-details-marker{
display:none;
}

.nav{
display:flex;
gap:20px;
}

@media(max-width:900px){

.mobile-menu{
display:block;
}

.nav{
display:flex;
flex-direction:column;
background:black;
position:absolute;
top:70px;
right:0;
width:220px;
padding:20px;
border:1px solid #00ff88;
z-index:9999;
}

.header-container > .nav{
display:none;
}

}

/* ===== MENU RESPONSIVE ===== */

.menu-btn{
font-size:28px;
cursor:pointer;
color:white;
list-style:none;
}

.menu-btn::-webkit-details-marker{
display:none;
}


/* PC */

.desktop-nav{
display:flex;
gap:20px;
}

.mobile-menu{
display:none;
}


/* MOVIL */

@media(max-width:900px){

.desktop-nav{
display:none;
}

.mobile-menu{
display:block;
}

.mobile-nav{
display:flex;
flex-direction:column;
background:black;
position:absolute;
top:70px;
right:0;
width:220px;
padding:20px;
border:1px solid #00ff88;
z-index:9999;
}

}

.menu-btn{
display:none;
font-size:28px;
cursor:pointer;
}

@media (max-width:900px){

.menu-btn{
display:block;
}

.nav{
display:none;
flex-direction:column;
position:absolute;
top:70px;
right:0;
background:black;
width:100%;
padding:20px;
border-top:1px solid #00ff88;
}

.nav.active{
display:flex;
}

}

/* ===== MOBILE FIX ===== */

@media (max-width: 900px){

.container{
width:90%;
max-width:500px;
margin:auto;
text-align:center;
}


/* HERO */

.hero{
padding:60px 0;
}

.hero-container{
flex-direction:column;
gap:20px;
}

.hero-text,
.hero-img{
width:100%;
}

.hero-text h1{
font-size:28px;
}

.hero-text p{
font-size:15px;
}

.hero-buttons{
flex-direction:column;
gap:10px;
}


/* TITULOS */

h1{
font-size:28px;
}

h2{
font-size:22px;
}

h3{
font-size:18px;
}


/* GRIDS */

.info-grid,
.servicios-grid,
.planes-grid,
.extras-grid,
.confianza-grid,
.contacto-grid,
.footer-grid{
grid-template-columns:1fr !important;
gap:20px;
}


/* CARDS */

.info-box,
.step,
.plan-card,
.extra-card,
.porque-card,
.flip-card{
width:100%;
}


/* SECCIONES */

section{
padding:50px 0;
}


/* BOTONES */

.btn{
width:100%;
text-align:center;
}


/* NAV */

nav{
text-align:center;
}


/* FOOTER */

.footer{
text-align:center;
}

.footer-grid{
grid-template-columns:1fr;
gap:20px;
}


/* FORM */

.form-box input,
.form-box textarea{
font-size:16px;
}

}

/* ========================= */
/* ===== RESPONSIVE ======== */
/* ========================= */

@media screen and (max-width: 900px) {


/* CONTENEDOR */

.container{
max-width:600px;
width:92%;
margin:auto;
}


/* SECCIONES */

section{
padding:40px 0;
text-align:center;
}


/* HERO */

.hero-container{
flex-direction:column;
align-items:center;
gap:20px;
}

.hero-text,
.hero-img{
width:100%;
}

.hero-text h1{
font-size:28px;
}

.hero-buttons{
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:10px;
}

.btn{
width:auto;
padding:10px 16px;
}


/* INFO */

.info-grid{
grid-template-columns:1fr;
}


/* SERVICIOS */

.servicios-grid{
grid-template-columns:1fr 1fr;
gap:15px;
}


/* PLANES */

.planes-grid{
grid-template-columns:1fr;
gap:20px;
}


/* EXTRAS */

.extras-grid{
grid-template-columns:1fr 1fr;
gap:15px;
}


/* CONFIANZA */

.confianza-grid{
grid-template-columns:1fr 1fr;
gap:15px;
}


/* CONTACTO */

.contacto-grid{
grid-template-columns:1fr;
}


/* FOOTER */

.footer-grid{
grid-template-columns:1fr 1fr;
gap:20px;
text-align:center;
}


/* NAV */

nav{
font-size:16px;
}


/* FORM */

.form-box input,
.form-box textarea{
font-size:16px;
}


}

/* ===== ESPACIO HEADER GLOBAL ===== */

body{
margin:0;
padding-top:100px;
}


/* HERO SUBPAGINAS */

.page-hero{
padding-top:120px;
padding-bottom:40px;
}


/* CUANDO HEADER SE HACE PEQUEÑO */

.header.scrolled + section{
margin-top:0;
}

.servicios,
.planes,
.contacto{
padding-top:40px;
}

/* ===== HEADER FIX ===== */

.header{
position:fixed;
top:0;
left:0;
width:100%;
z-index:1000;
}


/* espacio para header */

.main-content{
margin-top:110px;
}


/* cuando se hace pequeño */

.header.scrolled + .main-content{
margin-top:80px;
}

.contact-info p{
color:#ddd;
}

.contact-info a{
color:#ddd;
text-decoration:none;
}

.contact-info a:visited{
color:#ddd;
}

.contact-info a:hover{
color:#00ff88;
}

.contact-info .btn{
color:#ddd;
}
.btn{
background:#00ff88;
color:black;
font-weight:bold;
}

.hero-container{
display:flex;
align-items:center;
justify-content:space-between;
gap:40px;
}

.hero-img video{
width:100%;
max-width:500px;
border-radius:15px;
box-shadow:0 0 30px #00ff88;
}

/* ========================= */
/* ===== RESPONSIVE FIX ===== */
/* ========================= */


/* TABLET */

@media (max-width: 1024px) {

  .container {
    padding: 0 20px;
  }

  .nav-container {
    flex-direction: column;
  }

}


/* MOVIL */

@media (max-width: 768px) {

  body {
    overflow-x: hidden;
  }

  .row {
    flex-direction: column;
  }

  .plans {
    flex-direction: column;
  }

  .plan {
    width: 100%;
  }

  .hero {
    padding: 40px 15px;
    text-align: center;
  }

  img {
    max-width: 100%;
  }

}


/* MOVIL PEQUEÑO */

@media (max-width: 480px) {

  h1 {
    font-size: 22px;
  }

  h2 {
    font-size: 18px;
  }

}

/* ===== FIX MOVIL GENERAL ===== */

html, body {
  overflow-x: hidden;
  max-width: 100%;
}

* {
  box-sizing: border-box;
}

img, video {
  max-width: 100%;
  height: auto;
}

/* ===== MENU MOVIL ===== */

@media (max-width: 768px) {

  .nav {
    position: absolute;
    top: 70px;
    left: 0;
    width: 100%;
    background: #0b0b0b;
    display: none;
    flex-direction: column;
    text-align: center;
  }

  .nav.active {
    display: flex;
  }

  .menu-toggle {
    display: block;
    cursor: pointer;
  }

}

@media (max-width: 768px) {

  .intro,
  .loading,
  .animation,
  .overlay {
    width: 100%;
    height: 100%;
  }

}

section {
  width: 100%;
}

.container {
  max-width: 1200px;
  width: 100%;
  margin: auto;
}

/* ========================= */
/* ===== GLOBAL MOBILE FIX === */
/* ========================= */

html {
  width: 100%;
  overflow-x: hidden;
}

body {
  width: 100%;
  overflow-x: hidden;
}

* {
  max-width: 100%;
  box-sizing: border-box;
}

section,
div, 
.container{
  max-width: 100%;
}

img,
video {
  max-width: 100%;
  height: auto;
}

@media (max-width: 768px) {

  body {
    overflow-x: hidden !important;
  }

  .container,
  .section,
  .hero,
  .row,
  .flex,
  .grid {
    width: 100% !important;
    max-width: 100% !important;
  }

}

/* ===== MENU MOVIL ===== */

.menu-btn {
  display: none;
  font-size: 28px;
  cursor: pointer;
  color: white;
}

.mobile-nav {
  display: none;
}

@media (max-width: 768px) {

  .desktop-nav {
    display: none;
  }

  .menu-btn {
    display: block;
  }

  .mobile-nav {
    position: absolute;
    top: 70px;
    left: 0;
    width: 100%;
    background: #0b0b0b;
    flex-direction: column;
    text-align: center;
    display: none;
  }

  .mobile-nav a {
    display: block;
    padding: 15px;
  }

  .mobile-nav.active {
    display: flex;
  }

}

.menu-btn {
  display: none;
  font-size: 28px;
  cursor: pointer;
  color: white;
}

@media (max-width: 768px) {

  .menu-btn {
    display: block;
  }

}

.close-btn {
  display: none;
  font-size: 28px;
  cursor: pointer;
  color: white;
}

@media (max-width: 768px) {

  .close-btn {
    display: none;
  }

  .close-btn.active {
    display: block;
  }

}

.close-btn {
  font-size: 26px;
  cursor: pointer;
  color: white;
  text-align: right;
  padding: 10px 20px;
}

@media (max-width: 768px) {

  .mobile-nav {
    position: absolute;
    top: 70px;
    left: 0;
    width: 100%;
    background: #0b0b0b;
    flex-direction: column;
    display: none;
  }

  .mobile-nav.active {
    display: flex;
  }

}

/* ===== PORQUE RESPONSIVE LIMPIO ===== */

@media (max-width: 768px) {

  .porque-grid {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
  }

  .porque-card {
    width: 100%;
    max-width: 400px;
    margin: 15px 0;
  }

  .porque .container {
    width: 100%;
    padding: 0 15px;
  }

  .porque {
    overflow: visible;
  }

}

.mobile-nav {
  display: none;
}

.mobile-nav.active {
  display: flex;
}

/* ===== FIX MENU DUPLICADO ===== */

/* desktop */

.mobile-nav {
  display: none;
}

.menu-btn {
  display: none;
}

.close-btn {
  display: none;
}


/* móvil */

@media (max-width: 768px) {

  .desktop-nav {
    display: none;
  }

  .menu-btn {
    display: block;
  }


  .mobile-nav.active {
    display: flex;
  }

}


/* ===== PARA QUIEN RESPONSIVE ===== */

@media (max-width: 768px) {

  .para-grid {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .para-box {
    width: 100%;
    max-width: 400px;
    margin: 15px 0;
  }

  .para-quien {
    overflow: visible;
    height: auto;
  }

}

/* ===== FUNCIONAMIENTO MOVIL ===== */

@media (max-width: 768px) {

  .func-grid {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .func-box {
    width: 100%;
    max-width: 400px;
    margin: 15px 0;
  }

}
@media (max-width: 768px) {

  .funcionamiento {
    overflow: visible;
    height: auto;
  }

}

footer {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    
    
}

.footer-container {
    display: flex;
    justify-content: center;   /* centra horizontal */
    align-items: center;
    text-align: center;
    gap: 60px; /* separación entre bloques */
    flex-wrap: wrap; /* para responsive */
}