:root{
    --Blue-950: hsl(233, 26%, 24%);
    --Green-500: hsl(136, 64%, 51%);
    --Cyan-400: hsl(192, 69%, 51%);

    --Gray-600: hsl(233, 8%, 62%);
    --Gray-100: hsl(220, 16%, 96%);
    --Gray-50: hsl(0, 0%, 98%);
    --White: hsl(0, 100%, 100%);
    font-size: 1.125rem;
}

@font-face {
    font-family: "Public Sans";
    src: url(../fonts/Public_Sans/PublicSans-VariableFont_wght.ttf) format('truetype');
    font-weight: 300 700;
    font-style: normal;
    font-display: swap;
}

body{
    margin: 0;
    padding: 0;
    font-family: "Public Sans",system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif ;
}
a{
    text-decoration: none;
}
figure{
    margin:0;
}
/* header */
header{
    background-color: var(--White);
    display:flex;
    justify-content: space-between;
    padding: 1.167rem 1.334rem 0.944rem;
}
.nav_menu{
    position: absolute;
    top:3.555rem;
    left:0;
    padding: 1.333rem;
    display:flex;
    z-index: 9999;
    justify-content: center;
    align-items: flex-start;
    background-color: hsla(233, 8%, 62%,0.6);
    width: 100%;
    height: 100dvh;
    box-sizing: border-box;
}
.nav_menu ul{
    background-color: var(--White);
    width:100%;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding:1.889rem 0;
    gap:1.278rem;
    border-radius: 4px;
}
.nav_menu a{
    font-size: 1rem;
    color: var(--Blue-950);
    position: relative;
    display: block;
    
}
.nav_menu a::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(45deg,var(--Cyan-400),var(--Green-500));
    opacity: 0;
    transform: scaleX(0); 
    transition: all 0.3s ease;
}
.nav_menu a:hover::after{
    opacity: 1;
    transform: scaleX(1);
}
.nav_menu a:hover{
    color: var(--Blue-950);
    transform: scale(1.1);
}
.open{
    display: inline-block;
}
.close{
    display: inline-block;
    transform: translateY(2px);
}
.invisible_menu{
    display: none;
}

ul{
    list-style: none;
}
.gamburger_menu{
    transform: translateY(-1px);
}
/* fisrst_section */
.first_section{
    background-color: var(--Gray-50);
    display: flex;
    flex-direction: column-reverse;
    padding-bottom: 3.056rem;
}
.mockups_img{
    position: relative;
    height: 74.667vw;
    background-image: url(../images/bg-intro-mobile.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position-y: -3.611rem;
    overflow: hidden;
}

.mockups_img img{
    width: 90.67vw;
    position: absolute;
    object-position: center;
    bottom: 0px;
    top:-32vw;
    right: 0;
    left: 0;
    margin: 0 auto;
    z-index: 11;    
}
h1,h2,h3,p{
    color: var(--Blue-950);
    text-align: center;
}
p{
    font-size: 0.778rem;
    font-weight: 400;
}
h1{
    margin: 2.611rem 0 1.333rem;
    font-weight: 300;
    font-size: 41px;
    letter-spacing: -0.03em;
    padding-inline-end: 0.111rem;
    
}
.first_section p{
    margin: 0;
    padding-inline:1.778rem;
}
.hero_container div{
    display: flex;
    justify-content: center;
    margin: 1.333rem auto 0;
}
.button_request{ 
    padding: 0.778rem 1.778rem;
    border-radius: 25px;
    font-size: 0.778rem;
    font-weight: 700;
    color: var(--Gray-100);
    background: linear-gradient(45deg,var(--Cyan-400),var(--Green-500));
    border: none;
}
.button_request:hover{
    cursor: pointer;
    filter: brightness(1.4)
}
/* second section */
.second_section{
    background-color: var(--Gray-100);
    padding: 3.667rem 1.5rem 2.778rem;
}
h2{
    margin: 0;
    font-weight: 300;
    font-size: 1.778rem;
    letter-spacing: -0.015em;
    line-height: 1.2;
}
.second_section article{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap:1.278rem;
    padding-top: 0.667rem;
}
.features{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap:0.333rem;
    margin-top: 0.167rem;
}
.features p{
    margin-top: 0;
}
h3{
    font-size: 1.389rem;
    letter-spacing: -0.035em;
    font-weight: 300;
    margin: 0.667rem 0 0;
}
.second_section_intro>p{
    margin-top: 0.778rem;
    margin-bottom: 2rem;
}

/* third section */
.third_section{
    padding:3.611rem 1.278rem 3.556rem;
    background-color: var(--Gray-50);
}
.third_section article{
    background-color: var(--White);

}
.third_section img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position:center;
    display: block; 
}
.article-container{
    padding-top: 2.556rem;
    display: flex;
    flex-direction: column;
    gap:0.889rem;
}
.article-container article{
    display: flex;
    flex-direction: column;
    align-items: start;
    overflow: hidden;
    border-radius: 6px;
    gap: 0.389rem;
    padding-bottom: 1.611rem;
}
.article-container p, .article-container h3{
    text-align: start;
    padding-inline: 1.778rem 2.111rem;
    margin: 0;
}

.article-container p{
    padding-inline: 1.778rem;
}
.article-container figure{
    width: 100%;
    aspect-ratio: 329 / 201;
    overflow: hidden;
    position: relative;
}
.article-container .article-card__author{
    margin: 0.944rem 0 0.444rem; 
    font-size: 0.611rem;
    letter-spacing: -0.04em;
    font-weight: 300;
}
.article-container h3{
    font-size: 0.944rem;
    letter-spacing: -0.045em;
    font-weight: 400;
    margin:0 0 1px;
    line-height: 1.1;
}
.article-container .short_text{
    padding-inline-end: 4.5rem;
}

/* footer */
footer{
    background-color: var(--Blue-950);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-block: 3.056rem 2.278rem;
    gap: 0.667rem;
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.footer__social ul{
    display: flex;
    padding: 0;
    gap:0.833rem;
    margin-block: 1.611rem 0.778rem;
}
footer a{
    color: var(--Gray-100);
    font-size: 0.833rem;
    font-weight: 400;
    letter-spacing: -0.03em;
}
footer a:hover{
    color: var(--Green-500);
}
footer p{
   color: var(--Gray-600); 
   margin-top: 1.333rem;

}
.footer_links ul{
    padding: 0;
    display: flex;
    flex-direction: column;
    gap:0.611rem;
    align-items: center;
    margin-block: 0 1.056rem;
}
.footer_action{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.footer_brand figure{
    margin-left: 0.277rem;
}

@media(min-width:64rem){
    p{
        color: var(--Gray-600);
        font-size: 1rem;
    }
    header{
        padding: 0 9.167rem;
        align-items: stretch;
        position: relative;
        z-index: 111;
        height: 80px;
    }
    header>figure{
        display: flex;
        align-items: center;
        transform: translateY(2px);
    }

    .invisible_menu{
        display: inline-block;
    }
    .nav_menu{
        position: static;
        padding: 0;
        display:flex;
        z-index: 0;
        background-color:inherit;
        width: auto;
        height: 100%;
        align-items: stretch;
    }
    .nav_menu ul{
        background-color: inherit;
        width:auto;
        flex-direction: row;
        padding:0;
        gap:1.778rem;
        border-radius: 0;
        transform: translate(2px,-2px);
        
    }
    .nav_menu ul li{
        height: 100%;
        display:flex;
        align-items: stretch;
    }
    .nav_menu a{
        display: flex;
        align-items: center;
        font-size: 0.778rem;
        color: var(--Gray-600);
        
    }
    nav+.invisible_menu{
        display: flex;
        align-items: center;
    }
    .open,.close,.gamburger_menu{
        display: none;
    }


    .button_request{ 
        padding-top: 0.778rem;
    }

    /* first section */
    .first_section{
        display: grid;
        grid-template-columns: 47% 53%;
        padding-bottom: 0;
        position: relative;
        z-index: 2;
        overflow: visible;
    }
    .hero_container{
        padding-inline: 8.944rem 72px;
        align-self: center;
        
    }
    .mockups_img{
        height: 36.444rem;
        background-image: url(../images/bg-intro-desktop.svg);
        background-size: auto;
        background-position: -2.889rem -14.444rem;
        overflow-x: clip; 
        overflow-y: visible;
    }

    .mockups_img img{
        width: 100%;
        max-width: 44.444rem;
        top:-9.056rem;
        left: 7.167rem;   
    }
    h1,h2,h3,p{
        text-align: left;
    }

    h1{
        margin: 0 0 1.444rem;
        font-size: 3.111rem;
        padding-inline: 0;
        letter-spacing: -0.02em;
    }
    .first_section p{
        letter-spacing: -0.015em;
        line-height: 1.556;
        padding: 0;
    }
    .hero_container div{
        justify-content: start;
        margin: 1.278rem auto 0;
    }
    .button_request{ 
        padding: 0.778rem 1.833rem 0.778rem 1.778rem;
    
    }
    /* second section */
    .second_section{
        padding: 5.444rem 7.222rem 4.778rem 9rem;
    }
    h2{
        font-size: 2.222rem;
        letter-spacing: -0.0205em;
    }
    .second_section article{
        flex:1;
        align-items: start;
    }
    .features{
        flex-direction: row;     
        gap: initial;
        margin-top: 0;
    }
    .features p{
        margin-top: 2px;
        font-size: 0.889rem;
        letter-spacing: -0.017em;
        line-height: 1.625;
        padding-inline-end: 1.889rem;
    }
    h3{
        letter-spacing: -0.035em;
    }
    .second_section_intro>p{
        margin-block: 1.778rem 3.222rem;
        padding-inline-end: 33vw;
        letter-spacing: -0.014em;
        line-height: 1.556;
    }


    /* third section */

    .third_section{
        padding:4.667rem 9rem 4.611rem;
    }

    .article-container{
        padding-top: 3.056rem;
        flex-direction: row;
        gap:1.778rem;
    }
    .article-container article{
        flex:1;
    }
    .article-container p, .article-container h3{
        padding-inline: 1.056rem 1.389rem;
    }
  
    .article-container article>p{
        font-size: 0.778rem;

        display: -webkit-box;
        -webkit-line-clamp: 4;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;

        display: -moz-box;
        -moz-box-orient: vertical;
        -moz-line-clamp: 4;

        max-height: calc(1.625em * 4);
    }
    .article-container figure{
        aspect-ratio: 255 / 200;
    }
    .article-container .article-card__author{
        margin: 0.889rem 0 0.444rem; 
        font-size: 0.556rem;
        letter-spacing:0;
        padding-inline-start: 1.111rem;
    }

    .article-container .short_text{
        padding-inline-end: 2.111rem;
    }

    /* footer */
    footer{
        display: grid;
        grid-template-columns: auto 1fr 1fr auto;
        padding: 1.167rem 9.167rem;
        gap: initial;
    }
    .footer_brand{
        display: flex;
        flex-direction: column;
        gap:1.889rem;
        
    }
    .footer_brand figure{
        margin-top: 1.444rem ;
        margin-left: initial;
    }
    
    .footer__social ul{
        margin-bottom: 1.167rem;
        margin-top: 1rem;
    }
    .footer__social ul li:nth-child(2n){
        margin-left: 1px;
    }
    footer a{
        white-space:nowrap;
    }
    footer p{
        margin: 1.333rem 0 0;
        white-space:nowrap;
        font-size: 0.778rem;
        letter-spacing: 0;
        }
    .footer_links{
        margin-left: 6.611rem;
    }
    .footer_links ul{
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: repeat(3, auto);
        grid-auto-flow: column;
        gap:1.056rem 1.667rem;
        place-items: center start;
        margin-top: 1rem;
    }
    .footer_action{
        justify-self: end;
        text-align: right;
        transform: translateY(-6px);
    }
    .footer_action button{
        align-self: flex-end;
    }

}

@media (prefers-reduced-motion: reduce) {
    *{
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}