/* =====================================================
   TECHMENTORPTY - DISEÑO PRINCIPAL
===================================================== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

:root {

    --bg: #030c17;
    --bg-secondary: #061525;

    --card: rgba(7, 28, 47, 0.78);

    --blue: #087cff;
    --blue-light: #00b7ff;

    --cyan: #00e5e5;

    --green: #35e887;

    --white: #ffffff;

    --text: #edf5ff;

    --text-secondary: #93a7bd;

    --border: rgba(73, 171, 255, 0.18);

    --shadow:
        0 25px 70px
        rgba(0, 0, 0, 0.40);
}


body {

    font-family:
        "Inter",
        sans-serif;

    background:
        var(--bg);

    color:
        var(--text);

    line-height: 1.6;

    overflow-x: hidden;
}


a {
    text-decoration: none;
    color: inherit;
}


img {

    display: block;

    max-width: 100%;
}


button,
input,
select,
textarea {

    font-family: inherit;
}


.container {

    width:
        min(
            1180px,
            90%
        );

    margin:
        0 auto;
}



/* =====================================================
   HEADER
===================================================== */

.header {

    position: fixed;

    top: 0;
    left: 0;

    z-index: 1000;

    width: 100%;

    height: 85px;

    background:
        rgba(
            2,
            11,
            21,
            0.88
        );

    backdrop-filter:
        blur(18px);

    -webkit-backdrop-filter:
        blur(18px);

    border-bottom:
        1px solid
        rgba(
            255,
            255,
            255,
            0.06
        );
}


.navbar {

    height: 100%;

    display: flex;

    align-items: center;

    justify-content:
        space-between;

    gap: 30px;
}



/* LOGO HEADER */

.navbar-logo {

    display: flex;

    align-items: center;

    flex-shrink: 0;
}


.navbar-logo img {

    width: 220px;

    height: 67px;

    object-fit: contain;

    object-position:
        left center;

    background:
        transparent;

    filter:
        drop-shadow(
            0 0 12px
            rgba(
                0,
                174,
                255,
                0.10
            )
        );
}



/* MENÚ */

.navbar-menu {

    display: flex;

    align-items: center;

    gap: 28px;
}


.nav-link {

    position: relative;

    color:
        var(--text-secondary);

    font-size: 13px;

    font-weight: 500;

    transition:
        0.3s ease;
}


.nav-link:hover,
.nav-link.active {

    color:
        white;
}


.nav-link.active::after {

    content: "";

    position: absolute;

    left: 0;
    right: 0;

    bottom: -13px;

    height: 2px;

    background:
        linear-gradient(
            90deg,
            var(--cyan),
            var(--blue)
        );

    border-radius: 20px;
}


.header-button {

    display: flex;

    align-items: center;

    gap: 10px;

    padding:
        11px
        20px;

    border-radius:
        12px;

    background:
        linear-gradient(
            135deg,
            #087cff,
            #00b7ff
        );

    color:
        white;

    font-size:
        13px;

    font-weight:
        700;

    box-shadow:
        0 0 30px
        rgba(
            0,
            157,
            255,
            0.25
        );

    transition:
        0.3s ease;
}


.header-button:hover {

    transform:
        translateY(-2px);

    box-shadow:
        0 0 35px
        rgba(
            0,
            183,
            255,
            0.45
        );
}



/* BOTÓN MÓVIL */

.mobile-menu-button {

    display: none;

    width: 45px;

    height: 45px;

    border:
        1px solid
        var(--border);

    border-radius:
        10px;

    background:
        transparent;

    cursor:
        pointer;
}


.mobile-menu-button span {

    display:
        block;

    width:
        21px;

    height:
        2px;

    margin:
        5px auto;

    border-radius:
        10px;

    background:
        white;
}



/* =====================================================
   HERO
===================================================== */

.hero {

    min-height:
        100vh;

    position:
        relative;

    display:
        flex;

    align-items:
        center;

    padding:
        145px
        0
        85px;

    overflow:
        hidden;

    background:

        radial-gradient(
            circle at 78% 38%,
            rgba(
                0,
                128,
                255,
                0.15
            ),
            transparent 35%
        ),

        radial-gradient(
            circle at 10% 50%,
            rgba(
                0,
                213,
                255,
                0.05
            ),
            transparent 30%
        ),

        linear-gradient(
            120deg,
            #020a13,
            #04111f 55%,
            #031323
        );
}


.hero-container {

    position:
        relative;

    z-index:
        5;

    display:
        grid;

    grid-template-columns:
        1fr
        1fr;

    gap:
        70px;

    align-items:
        center;
}



/* TEXTO */

.hero-eyebrow {

    display:
        flex;

    align-items:
        center;

    gap:
        12px;

    margin-bottom:
        25px;

    color:
        var(--cyan);

    font-size:
        11px;

    font-weight:
        700;

    letter-spacing:
        3px;
}


.hero-eyebrow span {

    width:
        32px;

    height:
        2px;

    background:
        var(--cyan);
}


.hero h1 {

    max-width:
        680px;

    font-size:
        clamp(
            50px,
            5.6vw,
            82px
        );

    line-height:
        0.98;

    letter-spacing:
        -4px;

    font-weight:
        800;

    color:
        white;
}


.hero h1 span {

    display:
        block;

    margin-top:
        10px;

    background:
        linear-gradient(
            90deg,
            #00e0ff,
            #0b83ff
        );

    background-clip:
        text;

    -webkit-background-clip:
        text;

    color:
        transparent;

    -webkit-text-fill-color:
        transparent;
}


.hero-description {

    max-width:
        620px;

    margin-top:
        30px;

    color:
        var(--text-secondary);

    font-size:
        17px;

    line-height:
        1.75;
}



/* BOTONES */

.hero-buttons {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        15px;

    margin-top:
        35px;
}


.button {

    min-height:
        54px;

    padding:
        0
        25px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        12px;

    border-radius:
        13px;

    font-size:
        14px;

    font-weight:
        700;

    transition:
        0.3s ease;
}


.button:hover {

    transform:
        translateY(-3px);
}


.button-primary {

    color:
        white;

    background:
        linear-gradient(
            135deg,
            #0087ff,
            #00c7ff
        );

    box-shadow:
        0 12px 35px
        rgba(
            0,
            136,
            255,
            0.25
        );
}


.button-secondary {

    color:
        white;

    background:
        rgba(
            2,
            13,
            24,
            0.8
        );

    border:
        1px solid
        rgba(
            0,
            204,
            255,
            0.55
        );
}



/* MINI SERVICIOS */

.hero-services {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        12px;

    margin-top:
        32px;
}


.hero-service {

    display:
        flex;

    align-items:
        center;

    gap:
        10px;

    padding:
        9px
        14px;

    border:
        1px solid
        var(--border);

    border-radius:
        30px;

    background:
        rgba(
            5,
            19,
            33,
            0.72
        );

    color:
        #a9bbcc;

    font-size:
        12px;
}


.hero-service-icon {

    color:
        var(--cyan);

    font-size:
        17px;
}


.code-symbol {

    font-family:
        monospace;

    font-weight:
        bold;
}



/* =====================================================
   HERO VISUAL
===================================================== */

.hero-visual {

    position:
        relative;

    min-height:
        540px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;
}


.visual-glow {

    position:
        absolute;

    width:
        450px;

    height:
        450px;

    border-radius:
        50%;

    background:
        rgba(
            0,
            127,
            255,
            0.16
        );

    filter:
        blur(90px);
}



/* LAPTOP */

.laptop {

    position:
        relative;

    z-index:
        4;

    width:
        100%;

    max-width:
        580px;

    transform:
        perspective(1200px)
        rotateY(-5deg)
        rotateX(2deg);
}


.laptop-screen {

    overflow:
        hidden;

    border-radius:
        17px
        17px
        8px
        8px;

    border:
        2px solid
        rgba(
            50,
            142,
            255,
            0.35
        );

    background:
        #03101d;

    box-shadow:
        0 0 60px
        rgba(
            0,
            128,
            255,
            0.17
        ),
        0 35px 70px
        rgba(
            0,
            0,
            0,
            0.5
        );
}


.code-window-header {

    height:
        42px;

    padding:
        0
        15px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    border-bottom:
        1px solid
        rgba(
            255,
            255,
            255,
            0.05
        );

    background:
        #071728;
}


.code-window-buttons {

    display:
        flex;

    gap:
        6px;
}


.code-window-buttons span {

    width:
        8px;

    height:
        8px;

    border-radius:
        50%;

    background:
        rgba(
            255,
            255,
            255,
            0.25
        );
}


.code-window-title {

    color:
        #71889f;

    font-size:
        10px;
}


.laptop-content {

    padding:
        18px;
}


.code-area {

    min-height:
        285px;

    display:
        grid;

    grid-template-columns:
        110px
        1fr;

    overflow:
        hidden;

    border-radius:
        10px;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            0.05
        );

    background:
        #030d17;
}


.code-sidebar {

    display:
        flex;

    flex-direction:
        column;

    gap:
        9px;

    padding:
        14px;

    border-right:
        1px solid
        rgba(
            255,
            255,
            255,
            0.05
        );

    color:
        #58718a;

    font-family:
        monospace;

    font-size:
        10px;
}


.code-sidebar > span {

    color:
        #a4b6c7;

    font-weight:
        bold;
}


.code-sidebar small {

    padding:
        4px
        7px;

    border-radius:
        4px;
}


.code-sidebar .selected {

    color:
        white;

    background:
        rgba(
            0,
            128,
            255,
            0.14
        );
}


.code-lines {

    padding:
        19px
        15px;

    font-family:
        Consolas,
        monospace;

    font-size:
        11px;

    line-height:
        2;
}


.code-lines p {

    white-space:
        nowrap;
}


.line-number {

    display:
        inline-block;

    width:
        28px;

    color:
        #41556b;
}


.code-comment {
    color: #32df8c;
}

.code-purple {
    color: #ad76ff;
}

.code-orange {
    color: #f0a84c;
}

.code-blue {
    color: #46bfff;
}



/* ESTADOS */

.project-status {

    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            1fr
        );

    gap:
        9px;

    margin-top:
        12px;
}


.project-status-card {

    padding:
        11px;

    display:
        flex;

    gap:
        9px;

    align-items:
        center;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            0.06
        );

    border-radius:
        9px;

    background:
        rgba(
            9,
            28,
            47,
            0.85
        );
}


.status-icon {

    width:
        29px;

    height:
        29px;

    display:
        grid;

    place-items:
        center;

    border-radius:
        8px;

    background:
        rgba(
            0,
            128,
            255,
            0.12
        );

    color:
        var(--blue-light);
}


.project-status-card small {

    display:
        block;

    color:
        #6f859b;

    font-size:
        8px;
}


.project-status-card strong {

    display:
        block;

    font-size:
        10px;
}


.green-text {
    color:
        var(--green);
}



/* BASE LAPTOP */

.laptop-base {

    width:
        110%;

    height:
        18px;

    margin-left:
        -5%;

    border-radius:
        3px
        3px
        20px
        20px;

    background:
        linear-gradient(
            180deg,
            #22374c,
            #0c1825
        );

    box-shadow:
        0 20px 25px
        rgba(
            0,
            0,
            0,
            0.45
        );
}



/* LOGO FLOTANTE */

.floating-logo-card {

    position:
        absolute;

    right:
        -15px;

    top:
        75px;

    z-index:
        8;

    width:
        235px;

    min-height:
        155px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        20px;

    border:
        1px solid
        rgba(
            0,
            179,
            255,
            0.35
        );

    border-radius:
        18px;

    background:
        linear-gradient(
            145deg,
            rgba(
                4,
                22,
                38,
                0.92
            ),
            rgba(
                3,
                14,
                26,
                0.80
            )
        );

    backdrop-filter:
        blur(18px);

    -webkit-backdrop-filter:
        blur(18px);

    box-shadow:
        0 0 35px
        rgba(
            0,
            145,
            255,
            0.16
        );
}


.floating-logo-card img {

    width:
        195px;

    height:
        auto;

    object-fit:
        contain;

    background:
        transparent;

    filter:
        drop-shadow(
            0 0 14px
            rgba(
                0,
                174,
                255,
                0.18
            )
        );
}



/* LUCES */

.hero-glow {

    position:
        absolute;

    border-radius:
        50%;

    pointer-events:
        none;

    filter:
        blur(100px);
}


.hero-glow-one {

    width:
        400px;

    height:
        400px;

    right:
        8%;

    top:
        20%;

    background:
        rgba(
            0,
            123,
            255,
            0.10
        );
}


.hero-glow-two {

    width:
        300px;

    height:
        300px;

    bottom:
        5%;

    left:
        8%;

    background:
        rgba(
            0,
            229,
            229,
            0.05
        );
}



/* =====================================================
   SECCIONES
===================================================== */

.section {

    position:
        relative;

    padding:
        105px
        0;
}


.section-topline {

    display:
        flex;

    align-items:
        center;

    gap:
        15px;

    margin-bottom:
        21px;
}


.section-number {

    color:
        #3c708e;

    font-size:
        14px;

    font-weight:
        700;
}


.section-line {

    width:
        40px;

    height:
        2px;

    background:
        var(--cyan);
}


.section-category {

    color:
        var(--cyan);

    font-size:
        10px;

    font-weight:
        700;

    letter-spacing:
        3px;
}



/* =====================================================
   ACERCA DE
===================================================== */

.about-section {

    background:
        linear-gradient(
            135deg,
            #04111d,
            #061525
        );
}


.about-container {

    display:
        grid;

    grid-template-columns:
        0.9fr
        1.1fr;

    gap:
        80px;
}


.about-title h2 {

    font-size:
        clamp(
            35px,
            4vw,
            54px
        );

    line-height:
        1.08;

    letter-spacing:
        -2px;
}


.about-title h2 span {

    display:
        block;

    color:
        var(--cyan);
}


.about-description p {

    margin-bottom:
        20px;

    color:
        var(--text-secondary);

    font-size:
        15px;

    line-height:
        1.8;
}



/* VALORES */

.values-grid {

    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            1fr
        );

    gap:
        18px;

    margin-top:
        55px;
}


.value-card {

    position:
        relative;

    min-height:
        220px;

    padding:
        27px;

    border-radius:
        18px;

    border:
        1px solid
        var(--border);

    background:
        linear-gradient(
            145deg,
            rgba(
                8,
                31,
                53,
                0.85
            ),
            rgba(
                3,
                17,
                31,
                0.75
            )
        );

    transition:
        0.3s ease;
}


.value-card:hover {

    transform:
        translateY(-6px);

    border-color:
        rgba(
            0,
            202,
            255,
            0.4
        );
}


.card-number {

    position:
        absolute;

    right:
        22px;

    top:
        20px;

    color:
        #3e5b73;

    font-size:
        12px;
}


.value-icon {

    width:
        50px;

    height:
        50px;

    display:
        grid;

    place-items:
        center;

    margin-bottom:
        25px;

    border-radius:
        50%;

    background:
        rgba(
            0,
            130,
            255,
            0.10
        );

    border:
        1px solid
        rgba(
            0,
            188,
            255,
            0.20
        );

    color:
        var(--cyan);

    font-size:
        20px;
}


.value-card h3 {

    margin-bottom:
        9px;

    font-size:
        20px;
}


.value-card p {

    color:
        var(--text-secondary);

    font-size:
        13px;
}



/* =====================================================
   TECHMENTOR
===================================================== */

.techmentor-section {

    background:
        linear-gradient(
            90deg,
            #03111e,
            #071c30,
            #04121f
        );
}


.techmentor-container {

    display:
        grid;

    grid-template-columns:
        1fr
        1fr;

    gap:
        80px;
}


.techmentor-title h2 {

    font-size:
        clamp(
            34px,
            4vw,
            52px
        );

    line-height:
        1.08;

    letter-spacing:
        -2px;
}


.techmentor-title h2 span {

    color:
        var(--cyan);
}


.techmentor-description p {

    margin-bottom:
        20px;

    color:
        var(--text-secondary);

    line-height:
        1.8;

    font-size:
        15px;
}


.features-grid {

    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            1fr
        );

    gap:
        35px;

    margin-top:
        55px;
}


.feature-item {

    display:
        flex;

    gap:
        17px;

    align-items:
        flex-start;
}


.feature-icon {

    width:
        46px;

    height:
        46px;

    flex-shrink:
        0;

    display:
        grid;

    place-items:
        center;

    border-radius:
        12px;

    border:
        1px solid
        rgba(
            0,
            200,
            255,
            0.25
        );

    color:
        var(--cyan);

    background:
        rgba(
            0,
            110,
            255,
            0.08
        );
}


.feature-item h3 {

    margin-bottom:
        5px;

    font-size:
        17px;
}


.feature-item p {

    color:
        var(--text-secondary);

    font-size:
        12px;
}



/* =====================================================
   SERVICIOS
===================================================== */

.services-section {

    background:
        #020c16;
}


.services-heading {

    max-width:
        750px;
}


.services-heading h2 {

    font-size:
        clamp(
            38px,
            5vw,
            58px
        );

    line-height:
        1.05;

    letter-spacing:
        -2px;
}


.services-heading h2 span {

    display:
        block;

    color:
        var(--cyan);
}


.services-grid {

    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            1fr
        );

    gap:
        17px;

    margin-top:
        50px;
}


.service-card {

    min-height:
        270px;

    position:
        relative;

    padding:
        27px;

    border-radius:
        17px;

    border:
        1px solid
        var(--border);

    background:
        linear-gradient(
            145deg,
            rgba(
                7,
                28,
                47,
                0.80
            ),
            rgba(
                2,
                14,
                25,
                0.9
            )
        );

    transition:
        0.3s ease;
}


.service-card:hover {

    transform:
        translateY(-6px);

    border-color:
        rgba(
            0,
            198,
            255,
            0.38
        );
}


.service-icon {

    width:
        50px;

    height:
        50px;

    display:
        grid;

    place-items:
        center;

    margin-bottom:
        40px;

    border-radius:
        13px;

    background:
        rgba(
            0,
            128,
            255,
            0.09
        );

    border:
        1px solid
        rgba(
            0,
            201,
            255,
            0.18
        );

    color:
        var(--cyan);

    font-size:
        19px;
}


.service-number {

    position:
        absolute;

    right:
        22px;

    top:
        22px;

    color:
        #35556e;

    font-size:
        11px;
}


.service-card h3 {

    margin-bottom:
        9px;

    font-size:
        18px;
}


.service-card p {

    color:
        var(--text-secondary);

    font-size:
        12px;

    line-height:
        1.75;
}


.special-service {

    background:
        linear-gradient(
            145deg,
            rgba(
                0,
                116,
                255,
                0.16
            ),
            rgba(
                0,
                222,
                222,
                0.04
            )
        );
}


.special-service a {

    display:
        inline-flex;

    gap:
        9px;

    margin-top:
        19px;

    color:
        var(--cyan);

    font-size:
        13px;

    font-weight:
        700;
}



/* =====================================================
   CONTACTO
===================================================== */

.contact-section {

    background:

        radial-gradient(
            circle at 80% 55%,
            rgba(
                0,
                104,
                255,
                0.14
            ),
            transparent 32%
        ),

        linear-gradient(
            120deg,
            #03101c,
            #041524
        );
}


.contact-container {

    display:
        grid;

    grid-template-columns:
        0.9fr
        1.1fr;

    gap:
        80px;
}


.contact-information h2 {

    font-size:
        clamp(
            40px,
            4vw,
            57px
        );

    line-height:
        1.04;

    letter-spacing:
        -2px;
}


.contact-information h2 span {

    display:
        block;

    color:
        var(--cyan);
}


.contact-information > p {

    max-width:
        520px;

    margin-top:
        24px;

    color:
        var(--text-secondary);

    font-size:
        14px;

    line-height:
        1.8;
}


.contact-methods {

    display:
        grid;

    gap:
        12px;

    margin-top:
        35px;
}


.contact-method {

    display:
        flex;

    align-items:
        center;

    gap:
        15px;

    padding:
        16px;

    border-radius:
        13px;

    border:
        1px solid
        var(--border);

    background:
        rgba(
            7,
            25,
            43,
            0.7
        );

    transition:
        0.3s ease;
}


.contact-method:hover {

    transform:
        translateX(5px);

    border-color:
        rgba(
            0,
            199,
            255,
            0.35
        );
}


.contact-method-icon {

    width:
        42px;

    height:
        42px;

    display:
        grid;

    place-items:
        center;

    flex-shrink:
        0;

    border-radius:
        11px;

    background:
        rgba(
            0,
            128,
            255,
            0.1
        );

    color:
        var(--cyan);
}


.whatsapp {
    color:
        #3ce785;
}


.instagram {
    color:
        #ff5b88;
}


.contact-method small {

    display:
        block;

    color:
        var(--text-secondary);

    font-size:
        10px;
}


.contact-method strong {

    font-size:
        13px;
}


.contact-arrow {

    margin-left:
        auto;

    color:
        var(--cyan);
}



/* FORMULARIO */

.contact-form {

    padding:
        32px;

    border:
        1px solid
        rgba(
            0,
            165,
            255,
            0.18
        );

    border-radius:
        21px;

    background:
        rgba(
            4,
            20,
            35,
            0.80
        );

    backdrop-filter:
        blur(15px);

    box-shadow:
        0 30px 80px
        rgba(
            0,
            0,
            0,
            0.25
        );
}


.form-header {

    margin-bottom:
        25px;
}


.form-header span {

    color:
        var(--cyan);

    font-size:
        9px;

    font-weight:
        700;

    letter-spacing:
        2px;
}


.form-header h3 {

    margin-top:
        6px;

    font-size:
        27px;
}


.form-row {

    display:
        grid;

    grid-template-columns:
        1fr
        1fr;

    gap:
        14px;
}


.form-group {

    margin-bottom:
        17px;
}


.form-group label {

    display:
        block;

    margin-bottom:
        7px;

    color:
        #b7c7d6;

    font-size:
        11px;
}


.form-group input,
.form-group select,
.form-group textarea {

    width:
        100%;

    padding:
        14px
        15px;

    outline:
        none;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            0.09
        );

    border-radius:
        10px;

    background:
        #051321;

    color:
        white;

    font-size:
        13px;
}


.form-group input::placeholder,
.form-group textarea::placeholder {

    color:
        #50677d;
}


.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {

    border-color:
        rgba(
            0,
            198,
            255,
            0.6
        );
}


.form-group textarea {

    resize:
        vertical;
}


.submit-button {

    width:
        100%;

    min-height:
        52px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        12px;

    border:
        none;

    border-radius:
        11px;

    cursor:
        pointer;

    background:
        linear-gradient(
            135deg,
            #007cff,
            #00c2ff
        );

    color:
        white;

    font-size:
        13px;

    font-weight:
        700;

    transition:
        0.3s ease;
}


.submit-button:hover {

    transform:
        translateY(-2px);
}


.form-security {

    margin-top:
        15px;

    text-align:
        center;

    color:
        #597086;

    font-size:
        9px;
}



/* =====================================================
   FOOTER
===================================================== */

.footer {

    padding:
        45px
        0
        25px;

    background:
        #020910;

    border-top:
        1px solid
        rgba(
            255,
            255,
            255,
            0.05
        );
}


.footer-top {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        30px;
}


.footer-brand img {

    width:
        220px;

    height:
        auto;

    object-fit:
        contain;

    background:
        transparent;

    filter:
        drop-shadow(
            0 0 10px
            rgba(
                0,
                174,
                255,
                0.10
            )
        );
}


.footer-brand p {

    max-width:
        350px;

    margin-top:
        12px;

    color:
        var(--text-secondary);

    font-size:
        11px;
}


.footer-navigation {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        25px;

    color:
        var(--text-secondary);

    font-size:
        11px;
}


.footer-navigation a:hover {

    color:
        var(--cyan);
}


.footer-bottom {

    display:
        flex;

    justify-content:
        space-between;

    gap:
        20px;

    margin-top:
        32px;

    padding-top:
        20px;

    border-top:
        1px solid
        rgba(
            255,
            255,
            255,
            0.06
        );

    color:
        #546a7d;

    font-size:
        10px;
}


.footer-bottom a {

    color:
        #7590a7;
}


.footer-bottom a:hover {

    color:
        var(--cyan);
}



/* =====================================================
   ANIMACIONES
===================================================== */

.reveal {

    opacity:
        0;

    transform:
        translateY(
            25px
        );

    transition:
        opacity
        0.7s ease,
        transform
        0.7s ease;
}


.reveal.active {

    opacity:
        1;

    transform:
        translateY(
            0
        );
}



/* =====================================================
   TABLETS
===================================================== */

@media
(max-width: 1050px) {


    .navbar-menu {

        position:
            absolute;

        top:
            85px;

        left:
            5%;

        width:
            90%;

        padding:
            25px;

        display:
            none;

        flex-direction:
            column;

        align-items:
            flex-start;

        gap:
            20px;

        border:
            1px solid
            var(--border);

        border-radius:
            18px;

        background:
            rgba(
                3,
                15,
                27,
                0.98
            );

        box-shadow:
            var(--shadow);
    }


    .navbar-menu.active {

        display:
            flex;
    }


    .mobile-menu-button {

        display:
            block;
    }


    .header-button {

        width:
            100%;

        justify-content:
            center;
    }


    .hero-container,
    .about-container,
    .techmentor-container,
    .contact-container {

        grid-template-columns:
            1fr;
    }


    .services-grid {

        grid-template-columns:
            repeat(
                2,
                1fr
            );
    }

}



/* =====================================================
   CELULARES
===================================================== */

@media
(max-width: 720px) {


    .container {

        width:
            92%;
    }


    .header {

        height:
            73px;
    }


    .navbar-menu {

        top:
            73px;
    }


    .navbar-logo img {

        width:
            165px;

        height:
            48px;
    }


    .hero {

        padding:
            115px
            0
            70px;
    }


    .hero h1 {

        font-size:
            47px;

        letter-spacing:
            -3px;
    }


    .hero-description {

        font-size:
            14px;
    }


    .hero-buttons {

        flex-direction:
            column;
    }


    .button {

        width:
            100%;
    }


    .hero-visual {

        min-height:
            390px;
    }


    .laptop {

        transform:
            none;
    }


    .code-area {

        grid-template-columns:
            76px
            1fr;
    }


    .code-sidebar {

        padding:
            10px;

        font-size:
            7px;
    }


    .code-lines {

        padding:
            14px
            9px;

        font-size:
            7px;
    }


    .floating-logo-card {

        width:
            135px;

        min-height:
            95px;

        right:
            0;

        top:
            35px;
    }


    .floating-logo-card img {

        width:
            112px;
    }


    .section {

        padding:
            80px
            0;
    }


    .values-grid,
    .features-grid,
    .services-grid {

        grid-template-columns:
            1fr;
    }


    .form-row {

        grid-template-columns:
            1fr;
    }


    .footer-top,
    .footer-bottom {

        flex-direction:
            column;

        align-items:
            flex-start;
    }

}



/* =====================================================
   CELULARES PEQUEÑOS
===================================================== */

@media
(max-width: 430px) {


    .hero h1 {

        font-size:
            42px;

        letter-spacing:
            -2px;
    }


    .hero-eyebrow {

        font-size:
            8px;

        letter-spacing:
            2px;
    }


    .hero-visual {

        min-height:
            330px;
    }

}