/*=====================================
    GENERAL
======================================*/

body{
    font-family:'Poppins',sans-serif;
    background:#fff;
    color:#222;
    overflow-x:hidden;
}

img{
    max-width:100%;
    display:block;
}

section{
    width:100%;
}

a{
    text-decoration:none;
    color:inherit;
}

.wrp{
    max-width:1300px;
}


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

header{

    width:100%;
    position:fixed;
    top:0;
    left:0;
    z-index:999;

    background:#fff;

    box-shadow:
    0 5px 20px rgba(0,0,0,.04);

}

.nav_container{

    height:90px;

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

}

.logo{

    width:180px;

}

nav ul{

    margin:0;
    padding:0;
    list-style:none;

    display:flex;
    align-items:center;

    gap:70px;

}

nav li{

    display:block;

}

nav a{
    padding: 10px 0;
    font-size:14px;

    color:#333;

    font-weight:400;

    transition:.30s;

    position:relative;

}

nav a:hover{

    color:#111;

}

nav a::after{

    content:"";

    position:absolute;

    left:0;
    bottom:-8px;

    width:0;

    height:2px;

    background:#202020;

    transition:.30s;

}

nav a:hover::after{

    width:100%;

}


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

.hero{

    padding-top:90px;

}

.hero_container{

    display:grid;

    grid-template-columns:48% 52%;

    align-items:center;

}

/*=====================================
    LADO IZQUIERDO
======================================*/

.hero_left{

    position:relative;

    min-height:700px;

}

.robot{

    position:absolute;

    left:0;

    top:30px;

    width:310px;

    z-index:2;

}

.rope{
    width:100%;
}


/*=====================================
    LADO DERECHO
======================================*/

.hero_right{

    display:flex;

    flex-direction:column;

    align-items:center;

}

.hero_right h1{

    font-size:46px;

    font-weight:500;

    color:#1d1d1d;

    margin-bottom:60px;

    margin-top: 0;

    letter-spacing:-1px;

}

/*=====================================
    FOTO
======================================*/

.photo_frame{

    width:560px;

    height:330px;

    border:2px solid #d8d8d8;

    border-radius:45px;

    display:flex;

    justify-content:center;

    align-items:flex-end;

    overflow:hidden;

    background:#fff;

    position:relative;

}

.photo_frame::before{

    content:"";

    position:absolute;

    inset:0;

    border-radius:45px;

    box-shadow:
    inset 0 0 40px rgba(0,0,0,.02);

}

.photo_frame img{

    width:360px;

    object-fit:contain;

}


/*=====================================
    PEQUEÑOS EFECTOS
======================================*/

.hero_left img{

    transition:.4s;

}

.robot:hover{

    transform:translateY(-8px);

}

.photo_frame{

    transition:.35s;

}

.photo_frame:hover{

    transform:translateY(-5px);

    box-shadow:

    0 18px 45px rgba(0,0,0,.08);

}


/*=====================================
    SEPARADOR
======================================*/

.about{

    margin-top:20px;

}

/*=====================================
    ABOUT
======================================*/

.about{

    padding:80px 0 120px;

}

.about_container{
    width: 90%;
    display:grid;

    grid-template-columns:68% 32%;

    gap:70px;

    align-items:flex-start;

}


/*=====================================
    COLUMNA IZQUIERDA
======================================*/

.about_left h2{

    font-size:48px;

    font-weight:500;

    margin:0 0 15px;

    color:#202020;

    letter-spacing:-1px;

}

.about_left h3{

    font-size:30px;

    font-weight:500;

    margin:0 0 40px;

    color:#333;

}

.about_left p{

    font-size:17px;

    line-height:1.95;

    color:#5b5b5b;

    margin-bottom:28px;

    text-align:justify;

}

.about_left p:last-child{

    margin-bottom:0;

}


/*=====================================
    COLUMNA DERECHA
======================================*/

.about_right{

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:flex-start;

    padding-top:90px;

}


/*=====================================
    BLOG BOX
======================================*/

.blog_box{

    width:250px;

    height:250px;

    border-radius:40px;

    border:2px solid #dadada;

    background:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    margin-bottom:35px;

    transition:.35s;

}

.blog_box:hover{

    transform:translateY(-6px);

    box-shadow:0 18px 45px rgba(0,0,0,.08);

}

.blog_box i{

    font-size: 100px;

    transition:.35s;

}

.blog_box:hover img{

    transform:scale(1.08);

}


/*=====================================
    BOTON BLOG
======================================*/

.blog_btn{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    width:220px;

    height:56px;

    border:2px solid #222;

    border-radius:35px;

    background:#fff;

    color:#222;

    font-size:22px;

    font-weight:500;

    transition:.35s;

    letter-spacing:.5px;

}

.blog_btn:hover{

    background:#222;

    color:#fff;

    transform:translateY(-3px);

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

}

.blog_btn:active{

    transform:translateY(1px);

}


/*=====================================
    DECORACIONES
======================================*/

.about_left{

    position:relative;

}

.about_left::before{

    content:"";

    position:absolute;

    left:-35px;

    top:10px;

    width:6px;

    height:85px;

    border-radius:10px;

    background:#d6d6d6;

    opacity:.45;

}


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

.about_left,
.about_right{

    animation:fadeUp .8s ease;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

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

footer{

    margin-top:100px;

    padding:35px 0;

    border-top:1px solid #ececec;

    background:#fafafa;

}

footer .wrp{

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:14px;

    color:#777;

}


/*==================================================
    SCROLL SUAVE
==================================================*/

html{

    scroll-behavior:smooth;

}


/*==================================================
    SELECCIÓN DE TEXTO
==================================================*/

::selection{

    background:#222;

    color:#fff;

}


/*==================================================
    BARRA SCROLL
==================================================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#f2f2f2;

}

::-webkit-scrollbar-thumb{

    background:#bfbfbf;

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:#999;

}


/*==================================================
    TRANSICIONES
==================================================*/

*{

    transition:
    color .25s,
    background .25s,
    border-color .25s,
    box-shadow .25s;

}


/*==================================================
    TABLET
==================================================*/

@media(max-width:1200px){

.hero{

    padding-top:130px;

}

.hero_container{

    grid-template-columns:1fr;

    gap:50px;

}

.hero_left{

    min-height:420px;

}

.robot{

    position:relative;

    width:250px;

    margin:auto;

    left:auto;

    top:auto;

}

.rope{

    display:none;

}

.hero_right h1{

    text-align:center;

    font-size:38px;

}

.photo_frame{

    width:500px;

    max-width:100%;

}

.about_container{

    grid-template-columns:1fr;

    gap:60px;

}

.about_right{

    padding-top:0;

}

.blog_box{

    width:220px;

    height:220px;

}

.about_left::before{

    display:none;

}

}


/*==================================================
    MOVIL
==================================================*/

@media(max-width:768px){

header{

    position:relative;

}

.nav_container{

    flex-direction:column;

    justify-content:center;

    height:auto;

    padding:25px 0;

}

nav ul{

    gap:18px;

    flex-wrap:wrap;

    justify-content:center;

    margin-top:20px;

}

nav a{

    font-size:15px;

}

.hero{

    padding-top:60px;

    padding-bottom:60px;

}

.hero_left{

    min-height:auto;

}

.robot{

    width:210px;

}

.hero_right h1{

    font-size:30px;

    line-height:1.25;

    margin-bottom:35px;

    text-align:center;

}

.photo_frame{

    width:100%;

    height:auto;

    padding-top:35px;

}

.photo_frame img{

    width:260px;

}

.about{

    padding:60px 0;

}

.about_left h2{

    font-size:34px;

}

.about_left h3{

    font-size:24px;

}

.about_left p{

    font-size:16px;

    line-height:1.8;

    text-align:left;

}

.blog_box{

    width:180px;

    height:180px;

}

.blog_box img{

    width:90px;

}

.blog_btn{

    width:180px;

    height:50px;

    font-size:20px;

}

footer{

    margin-top:60px;

    text-align:center;

}

}


/*==================================================
    MOVILES MUY PEQUEÑOS
==================================================*/

@media(max-width:480px){

.logo{

    width:140px;

}

.hero_right h1{

    font-size:26px;

}

.about_left h2{

    font-size:30px;

}

.about_left h3{

    font-size:22px;

}

.about_left p{

    font-size:15px;

}

.photo_frame{

    border-radius:25px;

}

.blog_box{

    border-radius:25px;

}

.blog_btn{

    width:170px;

    font-size:18px;

}

}


/*==================================================
    EFECTOS
==================================================*/

nav a.active{

    font-weight:600;

}

nav a.active::after{

    width:100%;

}

.hero_right h1{

    animation:fadeInDown .8s ease;

}

.photo_frame{

    animation:fadeInUp .9s ease;

}

@keyframes fadeInDown{

    from{

        opacity:0;

        transform:translateY(-40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

@keyframes fadeInUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}