/* Responsividade para iPad (tablet) */
@media (width <= 1024px) {
    .vinheta p {
        background-color: rgba(255, 255, 255, 0.075);
        animation: typing 2s steps(300, end) forwards;
        font-size: 0.7em;
    }
    @keyframes typing {
        from {
            width: 0;
        }
        to {
            width: 33%;
        }
    }

    .container {
        padding: 0;
    }
    .text-headline-skills h2 {
        font-size: 1.5em;
    }

    /*** SOBRE ***/
    .sobre {
        height: auto;
        padding: 0;
    }
    .bnt {
        padding: 0.7rem 1.6rem;
        font-size: 1em;
    }
    .bntt-3 {
        padding: 0.8rem 1.6rem;
        font-size: 1em;
    }

    .container-sobre {
        height: auto;
    }
    
    .headline-sobre {
        height: auto;
        position: relative;
    }

    .conteudo-sobre {
        flex-direction: column-reverse;
        height: auto;
        gap: 0;
        padding:  1.5em;

    }

    .left-sobre {
        width: 100%;
        height: auto;
    }

    .right-sobre {
        width: 100%;
        height: auto;
    }

    .imagem-sobre {
        justify-content: center;
        position: relative;
    }

    .complemento-sobre {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .complemento-sobre img {
        position: unset;
        width: 75%;
    }
    .imagem-sobre img {
        width: 100%;
    }

    /************************** SERVIÇOS ***/

    .headline-servicos {
        flex-direction: column;
        height: auto;
    }

    .titulo-servicos {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: left;
    }

    .titulo-servicos h1 {
        font-size: 6rem;
    }

    .descricao-servicos {
        width: 100%;
        text-align: right;
        font-size: 1.4rem;
    }

    /***** PORTFOLIO ***/

    .container-portfolio {
        gap: 2rem;
        padding: 2rem 1rem;
    }

    .headline-portfolio {
        flex-direction: column;
        height: auto;
    }
    .destaque-quemsoueu {
        font-size: 14px;
    }

    .headline-portfolio .titulo {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.5em;
    }

    .container-case {
        gap: 2rem;
        padding: 1em;
    }
    .textos-sobre h1 {
        font-size: 20px;
        width: 95%;
        margin-top: 10px;
    }
    .textos-sobre .txt-p {
        margin-top: 10px;
        font-size: 12px;
        width: 100%;
    }

    .case1,
    .case3 {
        flex-direction: column;
        gap: 1rem;
        height: auto;
        justify-content: center;
    }

    .case2, 
    .case4 {
        flex-direction: column-reverse;
        gap: 1rem;
        height: auto;
        height: auto;
        justify-content: center;
    }
    
    .imagens-case {
        width: 100%;
        height: 100%;
        margin: auto;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .textos-case {
        width: 100%;
        height: 35vh;
    }

    /************************** CONTATO ***/
    .contato {
        padding: 0rem 1rem 2rem 1rem;
        height: auto;
    }

    .container-contato {
        width: 100%;
        height: auto;
    }

    .headline-contato {
        flex-direction: column;
        height: auto;
    }

    .titulo-contato {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: left;
    }

    .titulo-contato h1 {
        font-size: 6rem;
    }

    .descricao-contato {
        width: 100%;
        text-align: right;
        font-size: 1.4rem;
    }

    .descricao-contato a {
        text-decoration: none;
        color: var(--color-black);
        font-size: 1.5rem;
        letter-spacing: 1.5px;
        line-height: 1.4;
        font-weight: bold;
    }


    .conteudo-contato {
        padding-top: 2rem;
        flex-direction: column-reverse;
    }

    .logo-contato {
        width: 100%;
        margin: auto;
        justify-content: center;
    }

    .logo-contato img{
        width: 100%;
        max-height: 500px;
        object-fit: cover;
        margin: auto;
    }

    .formulario-contato {
        width: 100%;
        padding: 0;
    }

    .credits-column {
        width: auto;
        text-align: right;
        margin-top: 0;
    }
    .box-skills p {
        color: var(--color-gray2);
        font-size: 1rem;
        font-weight: 500;
        line-height: 1.4;
    }
    

    .slide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: opacity 1s ease-in-out;
        margin: auto;

    }
    .textos-case {
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .conteudo-textos-case {
        width: 100%;
        height: 100%;
        display: flex;
        align-items: left;
        justify-content: center;
        flex-direction: column;
    }
    
    .conteudo-textos-case h1 {
        color: var(--color-white);
        font-size: 1.5em;
        letter-spacing: 3px;
    }
    
    .conteudo-textos-case p {
        color: var(--color-gray2);
        font-size: 16px;
        line-height: normal;
        letter-spacing: normal;
        padding-bottom: 1.5rem;
    }
    


    .div-tech .tecno {
        display: flex;
        gap: 0.5em;
        text-align: center;
        width: 100%;
        flex-wrap: wrap;
    }
    .tecno {
        text-align: center;
    }
    .tecno p {
        border: 1px solid var(--color-white);
        text-align: center;
        font-size: 13px;
        padding: 5px;
        border-radius: 10px;
        color: var(--color-white);
    }
    .tecno p:hover {
        color: var(--color-white);
        border: 1px solid var(--color-white);
    }
    .button-project a {
        font-size: 13px;
    }

    /*** FOOTER ***/
    .container-footer {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }

    .footer-column h3 {
        font-size: 1.2rem;
    }

    .footer-column h4 {
        font-size: 1rem;
    }

    .footer-nav a,
    .social-links a {
        font-size: 0.9rem;
    }

    .credits-column p {
        font-size: 0.85rem;
    }

    .footer-bottom p {
        font-size: 0.75rem;
    }
}

@media (width > 1024px) {
    @keyframes typing {
        from {
            width: 0;
        }
        to {
            width: 14%;
        }
    }
}

@media (max-width: 768px) {
    /*** FOOTER ***/
    .container-footer {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .footer-column {
        align-items: center;
        text-align: center;
    }

    .footer-nav,
    .social-links {
        align-items: center;
    }

    .footer-nav a:hover,
    .social-links a:hover {
        margin-left: 0;
    }

    .footer-column h3 {
        font-size: 1.1rem;
    }

    .footer-column h4 {
        font-size: 0.95rem;
    }

    .footer {
        padding: 2rem 1rem;
    }

    .footer-bottom {
        padding: 0.5rem 1rem;
    }
}

@media (max-width: 480px) {
    /*** FOOTER ***/
    .container-footer {
        gap: 1rem;
    }

    .footer-column h3 {
        font-size: 1rem;
    }

    .footer-column h4 {
        font-size: 0.9rem;
    }

    .footer-nav a,
    .social-links a {
        font-size: 0.85rem;
    }

    .footer-subtitle {
        font-size: 0.85rem;
    }

    .footer-status {
        font-size: 0.8rem;
    }

    .credits-column p {
        font-size: 0.8rem;
    }

    .footer-year {
        font-size: 0.75rem;
    }

    .footer-bottom p {
        font-size: 0.7rem;
    }

    .footer-divider {
        width: 95%;
    }
}
@media (width > 1500px) {
    @keyframes typing {
        from {
            width: 0;
        }
        to {
            width: 10%;
        }
    }
}