/* =========================================================
   VARIABLES
========================================================= */

:root {
    --negro: #0d0e10;
    --negro-secundario: #111318;
    --negro-card: #151820;

    --azul: #1677ff;
    --azul-claro: #3b9cff;
    --azul-oscuro: #0b4ea2;

    --blanco: #ffffff;
    --gris: #a8adb7;
    --gris-oscuro: #707680;

    --borde: rgba(255, 255, 255, 0.08);

    --sombra:
        0 20px 50px rgba(0, 0, 0, 0.35);
}


/* =========================================================
   RESET
========================================================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Segoe UI", Arial, sans-serif;

    background: var(--negro);

    color: var(--blanco);

    line-height: 1.6;
}

a {
    text-decoration: none;
    color: inherit;
}

img,
video {
    max-width: 100%;
}


/* =========================================================
   CONTENEDOR
========================================================= */

.servicio-contenedor {
    width: min(1100px, 92%);
    margin: auto;
}


/* =========================================================
   HEADER
========================================================= */

.servicio-header {
    position: fixed;

    top: 0;
    left: 0;

    width: 100%;

    z-index: 1000;

    background: rgba(13, 14, 16, 0.94);

    backdrop-filter: blur(15px);

    border-bottom: 1px solid var(--borde);
}

.servicio-header-contenido {
    min-height: 75px;

    display: flex;

    align-items: center;

    justify-content: space-between;
}

.servicio-logo {
    display: flex;

    align-items: center;

    gap: 10px;

    font-size: 20px;

    font-weight: 800;

    letter-spacing: 1px;
}

.servicio-logo img {
    width: 42px;
    height: 42px;

    object-fit: contain;
}


/* =========================================================
   BOTÓN VOLVER
========================================================= */

.btn-volver {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    padding: 10px 18px;

    border: 1px solid var(--borde);

    border-radius: 9px;

    background: rgba(255, 255, 255, 0.03);

    color: var(--gris);

    font-size: 14px;

    font-weight: 600;

    transition: 0.3s;
}

.btn-volver:hover {
    color: var(--blanco);

    background: rgba(22, 119, 255, 0.12);

    border-color: rgba(59, 156, 255, 0.3);
}


/* =========================================================
   HERO DEL SERVICIO
========================================================= */

.servicio-hero {
    position: relative;

    min-height: 620px;

    display: flex;

    align-items: center;

    overflow: hidden;

    padding-top: 100px;

    padding-bottom: 80px;

    background:
        radial-gradient(
            circle at 80% 30%,
            rgba(22, 119, 255, 0.22),
            transparent 35%
        ),
        radial-gradient(
            circle at 15% 80%,
            rgba(11, 78, 162, 0.15),
            transparent 30%
        );
}

.servicio-hero::before {
    content: "";

    position: absolute;

    width: 500px;
    height: 500px;

    right: -220px;
    top: 80px;

    border: 1px solid rgba(59, 156, 255, 0.12);

    border-radius: 50%;
}

.servicio-hero-contenido {
    position: relative;

    z-index: 1;

    text-align: center;

    max-width: 900px;

    margin: auto;
}


/* =========================================================
   ETIQUETA
========================================================= */

.servicio-etiqueta {
    display: inline-block;

    margin-bottom: 20px;

    color: var(--azul-claro);

    font-size: 13px;

    font-weight: 800;

    letter-spacing: 2px;
}


/* =========================================================
   TÍTULO
========================================================= */

.servicio-hero h1 {
    font-size: clamp(38px, 6vw, 68px);

    line-height: 1.05;

    letter-spacing: -2px;

    margin-bottom: 25px;
}

.servicio-hero h1 span {
    color: var(--azul-claro);
}


/* =========================================================
   FRASE
========================================================= */

.servicio-frase {
    max-width: 750px;

    margin: 0 auto 35px;

    color: var(--gris);

    font-size: 19px;
}


/* =========================================================
   BOTONES
========================================================= */

.servicio-botones {
    display: flex;

    justify-content: center;

    align-items: center;

    gap: 15px;

    flex-wrap: wrap;
}

.btn-servicio {
    min-height: 50px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 0 25px;

    border-radius: 9px;

    font-size: 14px;

    font-weight: 700;

    transition: 0.3s;
}

.btn-whatsapp {
    background: #25D366;

    color: #ffffff;

    box-shadow:
        0 10px 30px rgba(37, 211, 102, 0.18);
}

.btn-whatsapp:hover {
    transform: translateY(-3px);

    box-shadow:
        0 15px 35px rgba(37, 211, 102, 0.3);
}

.btn-demo {
    background:
        linear-gradient(
            135deg,
            var(--azul),
            var(--azul-claro)
        );

    color: #ffffff;

    box-shadow:
        0 10px 30px rgba(22, 119, 255, 0.25);
}

.btn-demo:hover {
    transform: translateY(-3px);

    box-shadow:
        0 15px 35px rgba(22, 119, 255, 0.4);
}


/* =========================================================
   VIDEO
========================================================= */

.video-servicio {
    padding: 100px 0;

    background: var(--negro-secundario);
}

.video-titulo {
    text-align: center;

    max-width: 700px;

    margin: 0 auto 40px;
}

.video-titulo span {
    color: var(--azul-claro);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 2px;
}

.video-titulo h2 {
    margin-top: 10px;

    font-size: clamp(30px, 5vw, 45px);
}

.video-titulo p {
    color: var(--gris);

    margin-top: 12px;
}

.video-servicio-contenedor {
    max-width: 950px;

    margin: auto;

    overflow: hidden;

    border-radius: 18px;

    border: 1px solid rgba(59, 156, 255, 0.18);

    background: #000;

    box-shadow: var(--sombra);
}

.video-servicio-contenedor video {
    display: block;

    width: 100%;

    aspect-ratio: 16 / 9;

    object-fit: cover;
}


/* =========================================================
   INFORMACIÓN
========================================================= */

.info-servicio {
    padding: 100px 0;

    background: var(--negro);
}

.info-grid {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 20px;
}

.info-card {
    padding: 30px;

    background: var(--negro-card);

    border: 1px solid var(--borde);

    border-radius: 16px;

    transition: 0.3s;
}

.info-card:hover {
    transform: translateY(-5px);

    border-color:
        rgba(59, 156, 255, 0.3);
}

.info-icono {
    width: 55px;
    height: 55px;

    display: flex;

    align-items: center;
    justify-content: center;

    margin-bottom: 20px;

    border-radius: 14px;

    background:
        linear-gradient(
            135deg,
            rgba(22, 119, 255, 0.2),
            rgba(59, 156, 255, 0.05)
        );

    border: 1px solid
        rgba(59, 156, 255, 0.15);

    font-size: 24px;
}

.info-card h3 {
    font-size: 19px;

    margin-bottom: 10px;
}

.info-card p {
    color: var(--gris);

    font-size: 14px;
}


/* =========================================================
   CTA
========================================================= */

.servicio-contacto {
    padding: 90px 0;

    background:
        radial-gradient(
            circle at 80% 50%,
            rgba(22, 119, 255, 0.18),
            transparent 35%
        ),
        var(--negro-secundario);
}

.servicio-contacto-contenido {
    text-align: center;

    max-width: 750px;

    margin: auto;
}

.servicio-contacto h2 {
    font-size: clamp(30px, 5vw, 45px);

    margin-bottom: 15px;
}

.servicio-contacto p {
    color: var(--gris);

    margin-bottom: 30px;
}


/* =========================================================
   FOOTER
========================================================= */

.servicio-footer {
    padding: 40px 0;

    text-align: center;

    background: #090a0c;

    border-top: 1px solid var(--borde);
}

.servicio-footer strong {
    font-size: 19px;
}

.servicio-footer p {
    margin-top: 10px;

    color: var(--gris-oscuro);

    font-size: 13px;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 768px) {

    .servicio-header-contenido {
        min-height: 68px;
    }

    .servicio-logo {
        font-size: 17px;
    }

    .servicio-logo img {
        width: 38px;
        height: 38px;
    }

    .btn-volver {
        padding: 9px 13px;

        font-size: 13px;
    }

    .servicio-hero {
        min-height: auto;

        padding-top: 130px;

        padding-bottom: 80px;
    }

    .servicio-hero h1 {
        font-size: 42px;
    }

    .servicio-frase {
        font-size: 16px;
    }

    .servicio-botones {
        flex-direction: column;
    }

    .btn-servicio {
        width: 100%;
    }

    .video-servicio,
    .info-servicio {
        padding: 75px 0;
    }

    .info-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 450px) {

    .servicio-contenedor {
        width: 90%;
    }

    .servicio-hero h1 {
        font-size: 36px;
    }

}