
:root{
    --rosa:#d94f8c;
    --lilas:#8b5cf6;
    --azul:#2563eb;
    --branco:#ffffff;
    --texto:#273043;
    --cinza:#f7f7fb;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Montserrat',sans-serif;
    background:var(--cinza);
    color:var(--texto);
}

header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:1000;

   background: linear-gradient(135deg, #d94f8c, #925bee);

    padding:14px 8%;

    box-shadow:
    0 8px 25px rgba(0,0,0,0.15);
}

/* CONTAINER */

.header-content{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}

/* LOGO */

.logo-area{
    display:flex;
    align-items:center;
    text-decoration:none;
}

.logo-area img{
    height:72px;
    width:auto;
    object-fit:contain;

    transition:0.3s;
}

.logo-area img:hover{
    transform:scale(1.05);
}

/* MENU */

nav{
    display:flex;
    align-items:center;
    gap:28px;
}

/* LINKS */

nav a{

    color:white;

    text-decoration:none;

    font-size:0.95rem;

    font-weight:700;

    letter-spacing:0.3px;

    position:relative;

    transition:0.3s;
}

/* LINHA ANIMADA */

nav a::after{

    content:"";

    position:absolute;

    left:0;
    bottom:-8px;

    width:0%;
    height:3px;

    border-radius:999px;

    background:white;

    transition:0.3s;
}

nav a:hover{

    opacity:0.95;
}

nav a:hover::after{

    width:100%;
}

/* MOBILE */

@media(max-width:900px){

    .header-content{

        flex-direction:column;
    }

    nav{

        flex-wrap:wrap;

        justify-content:center;

        gap:18px;
    }

    .logo-area img{

        height:60px;
    }
}

.hero{
    min-height:100vh;
    position:relative;
    padding:140px 8% 80px;
    background:url('../img/background/bg-hero.jpg') center/cover;
}

.overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,rgba(255,255,255,0.88),rgba(255,255,255,0.70));
}

.hero-content{
    position:relative;
    display:grid;
    grid-template-columns:1fr 1.1fr;
    align-items:center;
    gap:60px;
}

.hero-image img{
    width:100%;
    border-radius:32px;
    box-shadow:0 20px 50px rgba(0,0,0,0.18);
}

.tag{
    display:inline-block;
    background:#ffe6f1;
    color:var(--rosa);
    padding:10px 18px;
    border-radius:999px;
    font-weight:800;
    margin-bottom:20px;
}

.hero-text h2{
    font-size:4rem;
    line-height:1;
    margin-bottom:24px;
}

.hero-text h2 strong{
    color:var(--rosa);
}

.hero-text p{
    font-size:1.1rem;
    line-height:1.8;
    margin-bottom:30px;
}

.buttons{
    display:flex;
    gap:16px;
    flex-wrap:wrap;
}

.btn{
    padding:15px 24px;
    border-radius:999px;
    text-decoration:none;
    font-weight:700;
}

.primary{
    background:linear-gradient(135deg,var(--rosa),var(--lilas));
    color:white;
}

.secondary{
    background:white;
    color:var(--rosa);
}

section{
    padding:90px 8%;
}

.section-title{
    text-align:center;
    margin-bottom:50px;
}

.section-title span{
    color:var(--rosa);
    font-weight:800;
    text-transform:uppercase;
}

.section-title h2{
    font-size:3rem;
    margin-top:10px;
}

.cards{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.card{
    background:white;
    padding:35px;
    border-radius:28px;
    box-shadow:0 12px 35px rgba(0,0,0,0.08);
}

.card i{
    font-size:2rem;
    color:var(--rosa);
    margin-bottom:18px;
}

.card h3{
    margin-bottom:14px;
}

.card p{
    line-height:1.8;
}

.destaque{
    background:linear-gradient(135deg,var(--rosa),var(--lilas));
    color:white;
    text-align:center;
}

.light span,
.light h2{
    color:white;
}

.destaque p{
    max-width:900px;
    margin:auto;
    font-size:1.1rem;
    line-height:1.9;
}

.galeria{
    background:#fff7fb;
}

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

.gallery-grid img{
    width:100%;
    height:260px;
    object-fit:cover;
    border-radius:24px;
}

.social-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
}

.social-card{
    background:white;
    text-decoration:none;
    text-align:center;
    padding:35px;
    border-radius:28px;
    color:var(--texto);
    box-shadow:0 12px 35px rgba(0,0,0,0.08);
}

.social-card i{
    font-size:2rem;
    margin-bottom:18px;
}

.instagram i{color:#dd2a7b;}
.facebook i{color:#1877f2;}
.tse i{color:#16a34a;}
.estadao i{color:#1f2937;}

footer{
    background:#1f2937;
    color:white;
    text-align:center;
    padding:30px;
}

@media(max-width:900px){

    .hero-content,
    .cards,
    .gallery-grid,
    .social-grid{
        grid-template-columns:1fr;
    }

    .hero-text h2{
        font-size:2.8rem;
    }

    .header-content{
        flex-direction:column;
        gap:15px;
    }

    nav{
        flex-wrap:wrap;
        justify-content:center;
    }
}
