* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --default-padding: 0 2rem;
    --bg-button: linear-gradient(135deg, #f1d388 0%, #d9a941 50%, #bc8a24 100%);
    --text-secondary: #EEBD2B;
}

p,
a {
    font-family: "Inter", sans-serif;
    text-decoration: none;
}

ul {
    list-style: none;
}

body {
    background: #FAF9F6;
}

.cta-whatsapp {
    display: block;
    width: max-content;
    padding: 14px 24px;
    border-radius: 60px;
    background: var(--bg-button);
    color: #3d2b07 !important;
    text-transform: uppercase;
    font-size: 0.8em;
    font-weight: 600;
    transition: transform 0.3s ease;
}
.cta-whatsapp:hover{
    transform: scale(1.050) !important;
}

.text-container {
    text-align: center;
    padding: 0 1rem;

    small {
        text-transform: uppercase;
        color: var(--text-secondary);
        font-family: "Inter", sans-serif;
        font-weight: 500;
        letter-spacing: 1px;
    }

    h2 {
        font-size: 2.4em;
        font-family: "Lora", sans-serif;
        color: #2D2D2D;
        margin: 8px 0;
        font-size: 500;
    }

    .contrast {
        color: var(--text-secondary);
        font-style: italic;
        font-weight: 400;
    }

    .desc {
        color: rgba(107, 91, 79, 0.7);
    }
}

.img-high-res {
    opacity: 0;
}

.img-high-res.loaded {
    opacity: 1;
}


/* Animation */
@keyframes clickMe {
    0% {
        transform: scale(1.2);
    }

    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.1);
    }

    0% {
        transform: scale(1);
    }
}

.fade-up {
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
    opacity: 0;
}

.fade-up.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.stagger-from-left{
    transform: translateX(-40px);
    opacity: 0;
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.stagger-from-right{
    transform: translateX(40px);
    opacity: 0;
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.stagger-from-left.is-visible,
.stagger-from-right.is-visible{
    transform: translateX(0);
    opacity: 1;
}

.scale{
    transform: scale(0.95);
    opacity: 0;
    transition: transform 0.8s ease, opacity 0.8s ease;
}
.scale.is-visible{
    transform: scale(1);
    opacity: 1;
}
.fade-up-3d{
    opacity: 0;
    transform: translate3d(0, 40px, 0);
}

.fade-up-3d.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition:
        opacity 0.6s ease,
        transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}


.modal{
    width: 80%;
    max-width: 520px;
    max-height: 80vh;
    border-radius: 20px;
    overflow: hidden;
    position: fixed;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    z-index: 20;
    border: 8px solid #494747;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #000;
    display: none;

    .close-modal{
        position: absolute;
        top: 10px; right: 10px;
        color: #494747;
        cursor: pointer;
        z-index: 21;
        background-color: #FFFFFF;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 28px;
        aspect-ratio: 1/1;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);;
    }

    video{
        width: 100%;
        max-height: 80vh;
    }
}
.modal.active{
    display: flex;
}

.overlay-modal{
    position: fixed;
    z-index: 11;
    inset: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
.overlay-modal.active{
    opacity: 1;
    visibility: visible;
}

#navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 2rem;
    background: #FFF;
    position: fixed;
    width: 100%;
    gap: 2rem;
    z-index: 10;

    .overlay {
        position: fixed;
        inset: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        z-index: 10;
        cursor: pointer;
        display: none;
    }

    .overlay.visible {
        display: block;
    }

    .logo {
        font-size: 1.2em;
        font-weight: 600;
        color: #4A3F35;
    }

    .mobile {
        position: relative;
        display: none;
        z-index: 12;

        button {
            background: none;
            border: none;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;

            img {
                width: 28px;
            }
        }

        .close {
            position: absolute;
            inset: 0;
            display: none;
        }
    }

    #navigation {
        display: flex;
        align-items: center;
        gap: 1.3rem;
        position: relative;
        z-index: 11;

        a {
            color: #6B6663;
            transition: color 0.3s ease, transform 0.3s ease;
        }
        a:hover{
            color: var(--text-secondary)
        }
    }
}

.hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2em;
    padding-top: 60px;

    .hero-content {
        flex-basis: 60%;
        padding-left: 2rem;
        position: relative;
        z-index: 3;

        h1 {
            font-family: "Lora", sans-serif;
            color: #4A3F35;
            font-size: clamp(2.2em, 5vw, 6em);
            font-weight: 600;
            line-height: 1;
        }

        .contrast {
            color: #C4A484;
            font-style: italic;
        }

        p {
            color: rgba(44, 42, 41, 0.8);
            margin: 1em 0;
        }
    }

    .hero-image {
        position: relative;
        z-index: 1;
        width: 50%;
        text-align: end;

        img {
            max-width: 540px;
            width: 100%;
        }

        .img-high-res {
            position: absolute;
            top: 0;
            right: 0;
            z-index: 1;
        }
    }

    .hero-image.mobile {
        display: none;
    }
}

#benefits {
    padding: var(--default-padding);
    margin: 4rem 0 5rem;

    .cards {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        gap: 2em;

        .card {
            width: 380px;
            height: 180px;
            background: #FFFFFF;
            box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
            border-radius: 20px;
            position: relative;
            overflow: hidden;

            display: flex;
            align-items: center;
            gap: 1em;

            .image {
                width: 70%;
                height: 100%;
                position: relative;

                img {
                    z-index: 3;
                }
            }

            .text-content {
                padding: 1em;

                h3 {
                    font-size: 1.3em;
                    font-family: "Lora", sans-serif;
                    color: #433122;
                    font-weight: 500;
                }

                .line {
                    width: 90%;
                    height: 1px;
                    background-color: rgba(67, 49, 34, .4);
                    margin: 1em 0;
                }

                p {
                    color: #433122;
                    font-size: 0.9em;
                    line-height: 1.3;
                }
            }
        }

        .card-1 {
            .image {

                img {
                    position: absolute;
                    bottom: -30px;
                    right: -20px;
                    width: 200px;
                }
            }

            .waves {
                position: absolute;
                bottom: -50px;
                right: -80px;
            }
        }

        .card-2 {

            .image {
                order: 2;

                img {
                    position: absolute;
                    bottom: -60px;
                    left: -40px;
                    width: 220px;
                }
            }

            .text-content {
                padding-right: 0;
            }

            .waves {
                position: absolute;
                bottom: -120px;
                right: 100px;
            }
        }

        .card-3 {
            .image {

                img {
                    position: absolute;
                    bottom: -50px;
                    right: -20px;
                    width: 200px;
                }
            }

            .waves {
                position: absolute;
                bottom: -70px;
                right: -120px;
            }
        }
    }
}

#transformations {
    background-color: #FBF2E8;
    padding: 3em 0;

    .cards {
        margin: 5em 0;
        padding: var(--default-padding);
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 3.5rem;
        flex-wrap: wrap;

        .card {
            .image-container {
                position: relative;
                max-width: 340px;
                border-radius: 20px;
                overflow: hidden;
                cursor: pointer;

                .before-img,
                .after-img {
                    img {
                        width: 340px;
                        aspect-ratio: 1/1;
                        object-fit: cover;
                    }
                }

                .before-img {
                    width: 100%;
                    height: 100%;
                    position: absolute;
                    inset: 0;
                    z-index: 3;
                    opacity: 0;
                    transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1);
                }

                .before-img::before {
                    content: 'Antes';
                    position: absolute;
                    background-color: #C5A262;
                    padding: 5px 14px;
                    font-family: "Inter", sans-serif;
                    font-size: 0.7em;
                    text-transform: uppercase;
                    font-weight: 500;
                    border-radius: 40px;
                    color: #FFF;
                    top: 10px;
                    left: 10px;
                    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
                }

                .before-img.visible {
                    opacity: 1;
                }

                .after-img {
                    position: relative;

                    img {
                        filter: brightness(1.05) contrast(1.02);
                    }
                }

                .after-img::before {
                    content: 'Depois';
                    position: absolute;
                    z-index: 2;
                    background-color: #C5A262;
                    padding: 5px 14px;
                    font-family: "Inter", sans-serif;
                    font-size: 0.7em;
                    text-transform: uppercase;
                    font-weight: 500;
                    border-radius: 40px;
                    color: #FFF;
                    top: 10px;
                    left: 10px;
                    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
                }

                .touch-me {
                    position: absolute;
                    bottom: 15px;
                    left: 50%;
                    transform: translateX(-50%);
                    z-index: 2;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    gap: 0.5rem;
                    pointer-events: none;
                    text-wrap-mode: nowrap;
                    color: #FFFFFF;
                    font-weight: 500;
                    text-transform: uppercase;
                    transition: opacity 0.3s ease;

                    background: rgba(0, 0, 0, 0.50);
                    backdrop-filter: blur(5px);
                    border-radius: 60px;
                    border: 1px solid rgba(255, 255, 255, 0.2);
                    font-size: 0.7em;
                    padding: 8px 20px;


                    .icon {
                        img {
                            width: 18px;
                            color: #FFF;
                            animation: clickMe infinite 1s ease;
                        }
                    }
                }
            }

            .text-content {
                display: flex;
                align-items: center;
                margin-top: 10px;
                gap: 8px;

                .vertical-line {
                    display: block;
                    width: 2px;
                    height: 50px;
                    background: #CCA491;
                }

                h3 {
                    color: #2C2A29;
                    font-family: "Cormorant Garamond", sans-serif;
                    font-weight: 600;
                    font-size: 1.6em;
                    margin-bottom: 6px;
                }

                p {
                    font-size: 0.8em;
                    text-transform: uppercase;
                    color: #CCA491;
                    font-weight: 400;
                }
            }
        }
        .card:hover{
            transform: scale(1.050);
        }
    }
}

#videos {
    position: relative;
    padding: 3rem 10px;

    .bg-section-video {
        width: 100%;
        height: 60vh;
        overflow: hidden;
        position: absolute;
        inset: 0;
        z-index: 1;

        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            filter: blur(2px);

        }
    }

    .bg-section-video::before {
        content: "";
        width: 100%;
        height: 100%;
        background-color: rgba(92, 77, 60, 0.85);
        position: absolute;
        inset: 0;
        z-index: 2;
    }

    .text-container {
        position: relative;
        z-index: 3;

        small {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
        }

        h2 {
            color: #FFFF;
        }

        p {
            color: rgba(255, 255, 255, 0.5);
        }
    }

    .video-container {
        position: relative;
        z-index: 4;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 3rem auto 2rem;
        gap: 2rem;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding: 10px 0;

        overflow-x: auto;
        width: 100%;

        .watchVideo {
            flex-shrink: 0;
            width: 300px;
            height: 480px;
            border: 8px solid #29241F;
            border-radius: 50px;
            background-image: url('../assets/video-bg-eyebrown.png');
            background-position: center center;
            background-size: cover;
            background-repeat: no-repeat;
            position: relative;
            cursor: pointer;
            transition: transform 0.3s ease;

            .icon-player,
            .text-contant {
                position: absolute;
                color: #FFF;
            }

            .icon-player {
                background: var(--text-secondary);
                padding: 10px;
                border-radius: 40px;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                display: flex;
                align-items: center;
                position: relative;
                width: max-content;
                z-index: 3;
            }

            .back-player {
                padding: 30px;
                background: rgba(255, 255, 255, .2);
                border: 1px solid rgba(255, 255, 255, .2);
                backdrop-filter: blur(4px);
                position: absolute;
                left: 50%;
                top: 50%;
                transform: translate(-50%, -50%);
                border-radius: 40px;
                z-index: 2;
            }

            .text-contant {
                bottom: 30px;
                left: 0;
                padding: 0 20px;
                font-family: "Inter", sans-serif;

                .profile {
                    display: flex;
                    align-items: center;
                    gap: 8px;

                    img {
                        width: 40px;
                        border: 2px solid #FFF;
                        border-radius: 50%;
                    }

                    p {
                        font-weight: 500;
                        font-size: 1em;
                        color: #FFF;
                    }
                }

                h3 {
                    font-size: 1.2em;
                    letter-spacing: 1px;
                    margin: 4px 0 8px;
                }

                p {
                    color: rgba(255, 255, 255, .8);
                    font-size: 0.8em;
                }
            }
        }
        .watchVideo:hover{
            transform: translateY(-10px);
        }

        .watchVideo::before {
            content: '';
            width: 100%;
            height: 100%;
            border-radius: 40px;
            position: absolute;
            inset: 0;
            background-color: rgba(0, 0, 0, 0.4);
        }
        .watchVideo:nth-child(2){
            background-image: url('../assets/video-bg-reaction.png');
        }
        .watchVideo:nth-child(3){
            background-image: url('../assets/video-bg-space.png');
        }
    }

    .suggest-mobile {
        text-align: center;
        color: rgba(82, 82, 82, 0.80);
        font-size: 1.1em;
        display: none;
    }

    .cta-instagram{
        background: #1F2937;
        color: #FFFFFF;
        text-transform: uppercase;
        padding: 10px 30px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 4px;
        border-radius: 40px;
        width: max-content;
        margin: 2rem auto;
        box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
        transition: background 0.3s ease, opacity 0.6s ease, transform 0.6s ease;
    }
    .cta-instagram:hover{
        background: #213046;
    }

}

#services{
    margin: 2rem 0;

    .services-cards{
        padding: 0 1em;
        margin: 4rem 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 3rem;
        flex-wrap: wrap;

        .card{
            max-width: 480px;
            padding: 2rem;
            border-radius: 12px;
            background: #FFFFFF;
            box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
            display: flex;
            flex-direction: column;
            gap: 1em;

            .icon{
                width: 58px;
                aspect-ratio: 1/1;
                display: flex;
                align-items: center;
                justify-content: center;
                border-radius: 8px;

                background: linear-gradient(
                    90deg,
                    rgba(203, 168, 60, 1.0) 0%,
                    rgba(203, 168, 60, 0.9) 56%,
                    rgba(203, 168, 60, 1.0) 100%
                );
            }

            h3{
                color: #5C4D3C;
                font-size: 1.6em;
                font-weight: 600;
                font-family: "Lora", sans-serif;
            }

            .desc{
                color: rgba(107, 91, 79, .8);
            }

            ul{
                font-family: "Inter", sans-serif;

                li{
                    display: flex;
                    align-items: center;
                    gap: 6px;
                    margin-bottom: 10px;
                }
                li:last-child{
                    margin-bottom: 0;
                }

                img{
                    width: 18px;
                }

                span{
                    font-size: 1em;
                    color: #6B5B4F;
                }
            }

            .line{
                width: 100%;
                height: 1px;
                background-color: rgba(209, 173, 54, .3);
            }

            .investment{
                text-transform: uppercase;
                font-weight: 500;
                font-size: 0.9em;
                color: #8B7355;
                margin: 10px 0 -5px;
            }

            .price{
                font-size: 1.2em;
                color: #D4AF37;
                font-weight: 600;
            }

            .service-cta-whatsapp{
                font-family: "Inter", sans-serif;
                color: #FFFFFF;
                background: linear-gradient(to right, #23CD68, #14937C);
                padding: 12px;
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 6px;
                border-radius: 12px;
                cursor: pointer;

                svg{
                    width: 24px;
                }
            }
            .service-cta-whatsapp:hover{
                background: linear-gradient(to left, #23CD68, #14937C);
            }
        }
    }
}

#block-cta{
    background: #8a7156;
    padding: 4rem 10px;
    text-align: center;

    small{
        text-transform: uppercase;
        font-family: "Inter", sans-serif;
        color: var(--text-secondary);
        font-weight: 300;
        letter-spacing: 2px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 4px;
    }
    h2{
        font-family: "Cormorant Garamond", sans-serif;
        color: #FFF;
        font-size: 4em;
        font-weight: 600;
        margin: 3px;
        line-height: 1;

        .contrast{
            color: var(--text-secondary);
            font-style: italic;
        }
    }
    .cta-whatsapp{
        font-family: "Inter", sans-serif;
        letter-spacing: 1px;
        margin: 20px auto 0;
        max-width: 320px;
        width: 100%;
        padding: 16px;
        cursor: pointer;
    }
}

footer {
    background-color: #2A2520;
    padding: 4rem 2rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 3rem;
    align-items: start;
    
    border-top: 4px solid;
    border-image: linear-gradient(90deg, 
        rgba(203, 168, 60, 1.0) 0%, 
        rgba(203, 168, 60, 0.9) 56%, 
        rgba(203, 168, 60, 1.0) 100%) 1;

    font-family: 'Inter', sans-serif;
    color: rgba(255, 255, 255, 0.7);
}

.studio h2 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 2.5rem;
    color: #FFF;
    margin-bottom: 1.5rem;
    text-transform: uppercase;
}

.studio h2::after {
    content: " RENATA";
    background: linear-gradient(90deg, #CBA83C 0%, rgba(203, 168, 60, 0.9) 56%, #CBA83C 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.studio p {
    line-height: 1.6;
    max-width: 300px;
}

footer h3 {
    color: #FFF;
    text-transform: uppercase;
    font-size: 1.1rem;
    letter-spacing: 1px;
    margin-bottom: 1.5rem;
}

footer ul {
    list-style: none;
    padding: 0;
}

footer ul li {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    font-size: 0.95rem;
}

footer a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s;
}

footer a:hover {
    color: #CBA83C;
}

address {
    font-style: normal;
}

.social-media .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    cursor: pointer;
    transition: background 0.3s;
}

.social-media .icon:hover {
    background: #CBA83C;
}


@media (max-width: 420px) {
    #benefits {
        .cards {
            .card {
                height: 150px;

                .text-content {

                    h3 {
                        font-size: 1.1em;
                    }

                    .line {
                        margin: 10px 0;
                    }
                }
            }

            .card-1 {

                .image {
                    width: 60%;

                    img {
                        position: absolute;
                        bottom: -30px;
                        right: -20px;
                        width: 180px;
                    }
                }

            }

            .card-2 {

                .image {
                    img {
                        position: absolute;
                        bottom: -40px;
                        left: -30px;
                        width: 180px;
                    }
                }

                .text-content {

                    .line {
                        width: 80%;
                    }
                }

                .waves {
                    position: absolute;
                    bottom: -120px;
                    right: 25px;
                }
            }

            .card-3 {
                .image {

                    img {
                        position: absolute;
                        bottom: -60px;
                    }
                }

                .waves {
                    position: absolute;
                    bottom: -50px;
                    right: -100px;
                    width: 220px;
                }
            }
        }
    }

    #transformations{
        .cards{
            .card{
                width: 320px;
                aspect-ratio: 1/1;
            }
        }
    }

    #block-cta{
        small{
            font-size: 0.8rem;
        }

        h2{
            font-size: 3rem;
        }
    }
}

@media (max-width: 780px) {
    #navbar {
        .mobile {
            display: flex;
            z-index: 999;
        }


        #navigation {
            position: fixed;
            top: 0;
            right: 0;
            height: 100dvh;
            background: #FFF;
            flex-direction: column;
            z-index: 10;
            padding: 5rem 1.5rem 0;
            gap: 2em;
            transform: translateX(300px);
            transition: transform 0.3s ease;
        }

        #navigation.active {
            transform: translateX(0);
        }
    }

    .hero {
        flex-direction: column-reverse;
        align-items: center;
        padding-top: 50px;


        .hero-content {
            text-align: center;
            padding: 0 2em;
            margin-top: -100px;

            .cta-whatsapp {
                margin: 0 auto;
            }
        }

        .hero-image {
            display: none;
            text-align: center;
        }

        .img-high-res {
            top: 0;
            left: 0;
        }

        .hero-image.mobile {
            display: block;
            width: 100%;
            text-align: center;

            img {
                max-width: 100%;
                width: 100%;
            }
        }
    }

    #videos{
        .suggest-mobile {
            display: block;
        }
    }

}

@media (max-width: 970px) {
    .video-container {
        justify-content: flex-start !important;
    }
}