html {
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    margin: 0;
    padding: 0;
    background-color: #f4f4f4;
    color: #333;
    height: 100%;
    overflow: hidden;
}

main {
    height: 100%;
    transition: transform 1.2s cubic-bezier(0.25, 1, 0.5, 1);
    width: 100%;
}

section,
.seccion-header,
.seccion-experiencia,
.seccion-contacto {
    height: 100vh;
    width: 100%;
    overflow: hidden;
}

.seccion-experiencia {
    background-color: #e0e0e0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.seccion-contacto {
    background-color: #d1d1d1;
    display: flex;
    justify-content: center;
    align-items: center;
}



/* >> HEADER */
header {
    padding: 20px;
    text-align: left;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
}

.logo img {
    height: 60px;
    width: auto;
}

/* >> SECCION PRESENTACION */
.seccion-header {
    background-color: #f4f4f4;
    text-align: center;
    height: 100vh;
    background-image: url('img/eq_bg_header.png');
    background-size: cover;
    background-position: center center;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
}


.seccion-header .img-fluid {
    width: 100%;
    height: auto;
    margin-top: -100px;
    z-index: 100;
    transform-origin: center center;
}

.seccion-header.activo .img-fluid {
    animation: animation-planeta 10s ease-in-out forwards;
}

.seccion-header .contenido h1 {
    font-family: 'Oxanium', sans-serif;
    font-size: 90px;
    margin-top: 100px;
    margin-bottom: -8px;
    font-weight: 600;
    color: #fff;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
    opacity: 0;
}

.seccion-header.activo .contenido h1 {
    animation: fadeInUp 2s ease-out forwards;
}

.seccion-header .contenido p {
    position: absolute;
    top: 30vh;
    display: flex;
    justify-content: center;
    width: 100%;
    z-index: 200;
    font-family: 'Oxanium', sans-serif;
    font-size: 25px;
    margin: 0px;
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
    color: #fff;
    padding-bottom: 30px;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
    opacity: 0;
}

.seccion-header.activo .contenido p {
    animation: fadeInUp 2s ease-out forwards;
}

.seccion-header .img-fixed {
    position: absolute;
    top: 25vh;
    left: 0;
    width: 100%;
    height: auto;
    z-index: 200;
    display: flex;
    justify-content: center;
    pointer-events: none;
}

.seccion-header.activo .img-fixed {
    animation: fadeInUpFixed 0.5s ease-out forwards, animation-planeta 5s ease-in-out forwards;
}

@media (max-width: 768px) {

    .seccion-header .contenido h1,
    .seccion-experiencia .col-izquierda h1 {
        font-size: 35px;
        margin: 0px;
        margin-top: -275px;
    }

    .seccion-header .img-fluid {
        display: none;
    }

    .seccion-header .img-fixed {
        top: 150px;
        height: 100vh;
        width: 100%;
        object-fit: cover;
        object-position: center bottom;
    }

    .seccion-header .contenido p {
        font-size: 15px;
        top: 34vh;
    }
}

/* >> SECCION EXPERIENCIA */

.seccion-experiencia {
    background-color: #f4f4f4;
    text-align: center;
    height: 100vh;
    background-image: url('img/eq_bg_experiencia.png');
    background-size: cover;
    background-position: center center;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
}

.seccion-experiencia .contenido {
    display: flex;
    flex-direction: row;
    width: 90%;
    max-width: 1400px;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    z-index: 100;
}

.seccion-experiencia .col-izquierda,
.seccion-experiencia .col-derecha {
    flex: 1;
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.seccion-experiencia .col-izquierda h1 {
    text-align: left;
}

.seccion-experiencia .col-derecha {
    padding-left: 200px;
    padding-top: 200px;
}

.seccion-experiencia .contenido h2 {
    font-family: 'Oxanium', sans-serif;
    font-size: 80px;
    margin: 0px;
    font-weight: 600;
    line-height: 1;
    text-align: left;
    padding-bottom: 350px;
    color: #fff;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
    opacity: 0;
}

.seccion-experiencia.activo .contenido h2 {
    animation: fadeInUp 2s ease-out forwards;
}

.seccion-experiencia .contenido p {
    font-family: 'Oxanium', sans-serif;
    font-size: 20px;
    margin: 0px;
    font-weight: 400;
    line-height: 1.4;
    text-align: left;
    color: #fff;
    padding-bottom: 30px;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
    opacity: 0;
}

.seccion-experiencia.activo .contenido p {
    animation: fadeInUp 2s ease-out forwards;
}

.seccion-experiencia .img-fixed {
    position: absolute;
    top: 55vh;
    left: 0;
    width: 100%;
    height: auto;
    z-index: 200;
    display: flex;
    justify-content: center;
    pointer-events: none;
}

.seccion-experiencia.activo .img-fixed {
    animation: fadeInUpFixed 0.5s ease-out forwards, animation-planeta 5s ease-in-out forwards;
}


/* >> SECCION CONTACTO */

.seccion-contacto {
    background-color: #f4f4f4;
    text-align: center;
    height: 100vh;
    background-image: url('img/eq_bg_contacto.png');
    background-size: cover;
    background-position: center center;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
}

.seccion-contacto .contenido {
    display: flex;
    flex-direction: row;
    width: 90%;
    max-width: 1400px;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    z-index: 100;
}

.seccion-contacto .col-izquierda,
.seccion-contacto .col-derecha {
    flex: 1;
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.seccion-contacto .col-izquierda h1 {
    text-align: left;
}

.seccion-contacto .col-derecha {
    padding-left: 200px;
}

.seccion-contacto .contenido h2 {
    font-family: 'Oxanium', sans-serif;
    font-size: 80px;
    margin: 0px;
    font-weight: 600;
    line-height: 1;
    text-align: left;
    padding-bottom: 350px;
    color: #fff;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
    opacity: 0;
}

.seccion-contacto.activo .contenido h2 {
    animation: fadeInUp 2s ease-out forwards;
}

.seccion-contacto .contenido p {
    font-family: 'Oxanium', sans-serif;
    font-size: 20px;
    margin: 0px;
    font-weight: 400;
    line-height: 1.4;
    text-align: left;
    color: #fff;
    padding-bottom: 30px;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
    opacity: 0;
}

.seccion-contacto .contenido p a {
    color: #fff;
    text-decoration: underline;
    transition: all 0.3s ease;
}

.seccion-contacto .contenido p a:hover {
    text-shadow: 0px 0px 10px rgba(255, 255, 255, 0.8);
}

.seccion-contacto.activo .contenido p {
    animation: fadeInUp 2s ease-out forwards;
}

.seccion-contacto .img-fixed {
    position: absolute;
    top: -14vh;
    left: 0;
    width: 100%;
    height: auto;
    z-index: 200;
    display: flex;
    justify-content: center;
    pointer-events: none;
}

.seccion-contacto.activo .img-fixed {
    animation: fadeInUpFixed 0.5s ease-out forwards, animation-planeta 5s ease-in-out forwards;
}

@media (max-width: 768px) {

    .seccion-header .contenido h1 {
        font-size: 35px;
        margin: 0px;
        margin-top: -275px;
    }

    .seccion-experiencia .contenido h2,
    .seccion-contacto .contenido h2 {
        font-size: 32px;
        margin: 0px;
        padding: 0px;
        text-align: center;
        margin-top: -100px;
    }

    .seccion-experiencia .contenido p,
    .seccion-contacto .contenido p {
        font-size: 18px;
        margin: 0px;
        padding: 7px 0px 0px 0px;
    }

    .seccion-header .img-fluid {
        display: none;
    }

    .seccion-header .img-fixed {
        top: 150px;
        height: 100vh;
        width: 100%;
        object-fit: cover;
        object-position: center bottom;
    }

    .seccion-experiencia .img-fixed {
        top: 70vh;
        height: 35vh;
        width: 100%;
        object-fit: cover;
        object-position: center bottom;
    }

    .seccion-contacto .img-fixed {
        top: 25vh;
        height: 75vh;
        width: 100%;
        object-fit: cover;
        object-position: left bottom;
    }

    .seccion-header .contenido p {
        font-size: 15px;
        top: 34vh;
    }

    /* Experience section mobile tweaks */
    .seccion-experiencia .contenido,
    .seccion-contacto .contenido {
        flex-direction: column;
        justify-content: center;
    }

    .seccion-experiencia .col-derecha,
    .seccion-contacto .col-derecha {
        padding-left: 0;
        padding-top: 20px;
    }

    .seccion-experiencia .col-izquierda,
    .seccion-experiencia .col-derecha,
    .seccion-contacto .col-izquierda,
    .seccion-contacto .col-derecha {
        padding: 0 20px;
    }
}

@keyframes fadeInUpFixed {
    from {
        transform: translateY(200px);
    }

    to {
        transform: translateY(0);
    }
}

@keyframes animation-planeta {
    0% {
        transform: scale(1);
    }

    100% {
        transform: scale(1.1);
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(100px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}