
/* Reset e base otimizada */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Georgia',serif;line-height:1.6;color:#333333;overflow-x:hidden;background:#F5F5DC}

/* Variáveis CSS - Nova paleta clássica masculina */
:root{
    --primary:#8B4513;
    --secondary:#2C3E50;
    --accent:#C9A961;
    --dark:#1a1a1a;
    --cream:#F5F5DC;
    --white:#ffffff;
    --light-cream:#faf8f3;
    --text:#333333;
    --steel:#6c7b7f;
    --transition:all 0.4s cubic-bezier(0.23,1,0.32,1);
    --shadow:0 15px 40px rgba(139,69,19,0.2);
    --light-shadow:0 8px 20px rgba(139,69,19,0.1);
}

/* Typography hierarquia emocional */
.hero-title{font-size:clamp(2rem,6vw,4.5rem);font-weight:400;letter-spacing:-0.02em;line-height:1.1;color:var(--cream);text-shadow:0 8px 25px rgba(0,0,0,0.4);max-width:700px;margin:0 auto}
.section-title{font-size:clamp(1.6rem,4vw,2.8rem);color:var(--dark);margin-bottom:1.5rem;position:relative;font-weight:400;line-height:1.2}
.subtitle{font-family:'Arial',sans-serif;font-size:0.95rem;color:var(--accent);letter-spacing:0.12em;text-transform:uppercase;font-weight:600;margin-bottom:0.8rem}
.subtitle-light{color:var(--primary);background:var(--light-cream);padding:0.4rem 0.9rem;border-radius:20px;display:inline-block}

/* Layout responsivo inteligente */
.container{max-width:1300px;margin:0 auto;padding:0 1.5rem}
.section{padding:4rem 0;position:relative}

/* Header premium MAIS SUTIL - reduzido em 30% */
header{
    position:fixed;
    top:0;
    width:100%;
    z-index:1000;
    transition:var(--transition);
    backdrop-filter:blur(15px);
    background:rgba(26,26,26,0.92);
    border-bottom:1px solid rgba(201,169,97,0.15);
}
.nav{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:0.7rem 1.5rem;
    max-width:1300px;
    margin:0 auto;
}
.logo{
    font-size:1.3rem;
    color:var(--accent);
    font-weight:bold;
    text-decoration:none;
    z-index:1001;
    position:relative;
    display:flex;
    align-items:center;
    gap:0.5rem;
}
.logo-icon{
    width:28px;
    height:28px;
    background:linear-gradient(135deg,var(--primary),var(--accent));
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:0.9rem;
}
.nav-links{
    display:flex;
    list-style:none;
    gap:clamp(0.6rem,1.8vw,1.5rem);
    transition:var(--transition);
    flex-wrap:wrap;
    justify-content:flex-end;
}
.nav-links a{
    color:var(--cream);
    text-decoration:none;
    transition:var(--transition);
    position:relative;
    padding:0.4rem clamp(0.3rem,0.8vw,0.8rem);
    font-size:0.85rem;
    white-space:nowrap;
}
.nav-links a:hover{color:var(--accent);transform:translateY(-2px)}
.nav-links a::after{
    content:'';
    position:absolute;
    bottom:0;
    left:50%;
    width:0;
    height:2px;
    background:var(--accent);
    transition:var(--transition);
    transform:translateX(-50%);
}
.nav-links a:hover::after{width:70%}

/* Menu hamburger - MAIS COMPACTO */
.menu-toggle{
    display:none;
    flex-direction:column;
    cursor:pointer;
    z-index:1001;
    position:relative;
}
.menu-toggle span{
    width:22px;
    height:2px;
    background:var(--cream);
    margin:3px 0;
    transition:var(--transition);
    border-radius:2px;
}
.menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.menu-toggle.active span:nth-child(2){opacity:0}
.menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}

/* Mobile menu */
.nav-mobile{
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100vh;
    background:rgba(26,26,26,0.98);
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:1rem;
    opacity:0;
    transform:translateY(-100%);
    transition:var(--transition);
}
.nav-mobile.active{opacity:1;transform:translateY(0)}
.nav-mobile a{
    color:var(--cream);
    font-size:1.1rem;
    text-decoration:none;
    padding:0.7rem 1.3rem;
    transition:var(--transition);
    border-radius:8px;
}
.nav-mobile a:hover{
    color:var(--accent);
    background:rgba(201,169,97,0.15);
    transform:scale(1.05);
}

/* Hero section com imagem de fundo */
.hero{
    height:100vh;
    background:linear-gradient(135deg,rgba(26,26,26,0.88),rgba(44,24,16,0.85)),
                url('https://images.unsplash.com/photo-1585747860715-2ba37e788b70?w=1600&q=85') center/cover;
    background-attachment:fixed;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    position:relative;
}
.hero::before{
    content:'';
    position:absolute;
    inset:0;
    background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 800"><defs><pattern id="grain" patternUnits="userSpaceOnUse" width="80" height="80"><circle cx="40" cy="40" r="0.4" fill="%23C9A961" opacity="0.08"/></pattern></defs><rect width="100%" height="100%" fill="url(%23grain)"/></svg>');
    pointer-events:none;
}
.hero-content{z-index:2;max-width:750px;padding:0 1.5rem}
.hero-subtitle{
    color:var(--accent);
    margin-bottom:1rem;
    font-size:1rem;
    letter-spacing:0.18em;
    background:rgba(201,169,97,0.12);
    padding:0.4rem 1.2rem;
    border-radius:20px;
    border:1px solid rgba(201,169,97,0.25);
    display:inline-block;
}
.hero-description{
    color:var(--cream);
    font-size:1.15rem;
    margin:1.8rem 0;
    opacity:0.92;
    max-width:550px;
    margin-left:auto;
    margin-right:auto;
    line-height:1.6;
}

/* Botões premium */
.btn-premium{
    display:inline-block;
    background:linear-gradient(45deg,var(--primary),var(--accent));
    color:var(--white);
    padding:0.9rem 2.5rem;
    text-decoration:none;
    border-radius:40px;
    font-weight:bold;
    transition:var(--transition);
    position:relative;
    overflow:hidden;
    box-shadow:var(--shadow);
    text-transform:uppercase;
    letter-spacing:0.08em;
    margin:0.4rem;
    font-size:0.9rem;
}
.btn-premium:hover{
    transform:translateY(-3px);
    box-shadow:0 20px 60px rgba(139,69,19,0.35);
}
.btn-premium::before{
    content:'';
    position:absolute;
    top:0;
    left:-100%;
    width:100%;
    height:100%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,0.25),transparent);
    transition:var(--transition);
}
.btn-premium:hover::before{left:100%}

.btn-secondary{
    background:transparent;
    border:2px solid var(--accent);
    color:var(--cream);
}
.btn-secondary:hover{
    background:var(--accent);
    color:var(--dark);
}

/* Sobre section */
.about{background:var(--white);position:relative}
.about-content{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:3rem;
    align-items:center;
}
.about-text h2{color:var(--dark);margin-bottom:1.5rem}
.about-text p{
    color:var(--text);
    line-height:1.8;
    margin-bottom:1.2rem;
    font-size:1.05rem;
}
.about-stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1.5rem;
    margin-top:2rem;
}
.stat-item{text-align:center}
.stat-number{
    font-size:2.5rem;
    color:var(--primary);
    font-weight:bold;
    display:block;
}
.stat-label{
    color:var(--steel);
    font-size:0.9rem;
    margin-top:0.3rem;
}
.about-image{
    background:url('https://images.unsplash.com/photo-1503951914875-452162b0f3f1?w=800&q=85') center/cover;
    min-height:400px;
    border-radius:15px;
    box-shadow:var(--shadow);
    position:relative;
}
.about-image::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,rgba(139,69,19,0.15),transparent);
    border-radius:15px;
}

/* Seções com design sofisticado */
.services{background:var(--light-cream);position:relative}
.services-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:2rem;
    margin-top:2.5rem;
}
.service-card{
    background:var(--white);
    border-radius:15px;
    box-shadow:var(--light-shadow);
    transition:var(--transition);
    position:relative;
    overflow:hidden;
    border-top:3px solid var(--primary);
}
.service-card-image{
    width:100%;
    height:200px;
    background-size:cover;
    background-position:center;
    position:relative;
}
.service-card-image::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(to bottom, rgba(139,69,19,0.15), rgba(139,69,19,0.35));
}
.service-card-content{
    padding:2.5rem;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
}
.service-card:hover{
    transform:translateY(-8px);
    box-shadow:var(--shadow);
}
.service-icon{
    width:60px;
    height:60px;
    background:linear-gradient(45deg,var(--primary),var(--accent));
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:1.5rem;
    font-size:1.6rem;
    box-shadow:var(--light-shadow);
}
.service-title{
    font-size:1.4rem;
    margin-bottom:0.8rem;
    color:var(--dark);
    font-weight:500;
}
.service-description{
    color:var(--steel);
    line-height:1.6;
    margin-bottom:1.2rem;
}
.service-price{
    color:var(--primary);
    font-size:1.3rem;
    font-weight:bold;
    margin-top:1rem;
}
.service-btn{
    display:inline-block;
    background:var(--primary);
    color:var(--white);
    padding:0.7rem 2rem;
    border-radius:8px;
    text-decoration:none;
    font-weight:600;
    font-size:0.95rem;
    transition:var(--transition);
    margin-top:1.5rem;
    text-align:center;
    border:none;
    cursor:pointer;
}
.service-btn:hover{
    background:var(--accent);
    color:var(--dark);
    transform:translateY(-2px);
    box-shadow:var(--light-shadow);
}
.service-features{list-style:none;margin:1rem 0}
.service-features li{
    color:var(--steel);
    margin:0.4rem 0;
    position:relative;
    padding-left:1.3rem;
}
.service-features li::before{
    content:'✓';
    color:var(--primary);
    font-weight:bold;
    position:absolute;
    left:0;
}

/* Galeria sofisticada com imagens REAIS */
.gallery{background:var(--cream)}
.gallery-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:2rem;
    margin-top:2.5rem;
    max-width:1200px;
    margin-left:auto;
    margin-right:auto;
}
.gallery-item{
    background:var(--white);
    border-radius:15px;
    position:relative;
    overflow:hidden;
    cursor:pointer;
    transition:var(--transition);
    box-shadow:var(--light-shadow);
}
.gallery-item:hover{
    transform:scale(1.03);
    box-shadow:var(--shadow);
}

/* Imagens reais de cortes */
.gallery-image{
    width:100%;
    height:280px;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    position:relative;
}
.gallery-image img{
    width:100%;
    height:280px;
    object-fit:cover;
    display:block;
}

/* Overlay no hover */
.gallery-overlay{
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:70px;
    background:rgba(26,26,26,0.92);
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    transition:var(--transition);
    backdrop-filter:blur(5px);
}
.gallery-item:hover .gallery-overlay{opacity:1}
.gallery-overlay-content{
    text-align:center;
    color:var(--cream);
    padding:1.5rem;
}
.gallery-overlay-content h4{
    font-size:1.15rem;
    margin-bottom:0.5rem;
    color:var(--accent);
}
.gallery-overlay-content p{
    font-size:0.85rem;
    opacity:0.9;
    margin-bottom:1rem;
    line-height:1.4;
}
.gallery-cta{
    display:inline-block;
    background:var(--accent);
    color:var(--dark);
    padding:0.45rem 0.9rem;
    border-radius:20px;
    font-size:0.75rem;
    font-weight:bold;
    text-transform:uppercase;
    letter-spacing:0.05em;
    transition:var(--transition);
}
.gallery-cta:hover{
    background:var(--primary);
    transform:scale(1.05);
}

/* Legenda sempre visível */
.gallery-caption{
    padding:1rem;
    background:var(--white);
}
.gallery-caption h4{
    color:var(--dark);
    font-size:1rem;
    margin-bottom:0.3rem;
}
.gallery-caption p{
    color:var(--steel);
    font-size:0.85rem;
}

/* Depoimentos premium */
.testimonials{
    background:var(--dark);
    color:var(--cream);
    text-align:center;
}
.testimonials .section-title{color:var(--cream)}
.testimonials-container{max-width:850px;margin:0 auto}
.testimonial-carousel{
    position:relative;
    overflow:hidden;
    border-radius:15px;
    background:rgba(201,169,97,0.08);
    padding:2.5rem;
    margin:2.5rem 0;
}
.testimonial{
    display:none;
    opacity:0;
    transition:var(--transition);
}
.testimonial.active{display:block;opacity:1}
.testimonial-text{
    font-size:1.2rem;
    font-style:italic;
    line-height:1.7;
    margin-bottom:1.8rem;
    color:var(--cream);
}
.testimonial-author{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:1rem;
}
.testimonial-avatar{
    width:55px;
    height:55px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.4rem;
    color:var(--white);
    background-size:cover;
    background-position:center;
    border:3px solid var(--accent);
}
.testimonial-info h4{
    color:var(--accent);
    margin-bottom:0.4rem;
}
.testimonial-info p{
    color:var(--steel);
    font-size:0.85rem;
}
.testimonial-nav{
    display:flex;
    justify-content:center;
    gap:0.8rem;
    margin-top:1.8rem;
}
.testimonial-nav button{
    width:10px;
    height:10px;
    border-radius:50%;
    border:none;
    background:rgba(201,169,97,0.3);
    cursor:pointer;
    transition:var(--transition);
}
.testimonial-nav button.active{
    background:var(--accent);
    transform:scale(1.2);
}

/* Contato */
.contact{background:var(--light-cream)}
.contact-wrapper{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:3rem;
    margin-top:2.5rem;
}
.contact-info{background:var(--dark);padding:2.5rem;border-radius:15px;color:var(--cream)}
.contact-info h3{
    color:var(--accent);
    margin-bottom:1.5rem;
    font-size:1.5rem;
}
.contact-item{
    display:flex;
    align-items:center;
    gap:1rem;
    margin-bottom:1.5rem;
}
.contact-icon{
    width:45px;
    height:45px;
    background:linear-gradient(45deg,var(--primary),var(--accent));
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.1rem;
}
.contact-details h4{
    color:var(--accent);
    font-size:0.9rem;
    margin-bottom:0.3rem;
}
.contact-details p{
    color:var(--cream);
    font-size:0.95rem;
}

.contact-form{background:var(--white);padding:2.5rem;border-radius:15px;box-shadow:var(--light-shadow)}
.contact-form h3{
    color:var(--dark);
    margin-bottom:1.5rem;
    font-size:1.5rem;
}
.form-group{margin-bottom:1.3rem}
.form-group label{
    display:block;
    color:var(--dark);
    margin-bottom:0.5rem;
    font-weight:500;
    font-size:0.9rem;
}
.form-group input,
.form-group textarea{
    width:100%;
    padding:0.9rem;
    border:2px solid var(--cream);
    border-radius:8px;
    font-family:inherit;
    font-size:0.95rem;
    transition:var(--transition);
    background:var(--light-cream);
}
.form-group input:focus,
.form-group textarea:focus{
    outline:none;
    border-color:var(--accent);
    background:var(--white);
}
.form-group textarea{
    resize:vertical;
    min-height:120px;
}
.submit-btn{
    width:100%;
    background:linear-gradient(45deg,var(--primary),var(--accent));
    color:var(--white);
    padding:1rem;
    border:none;
    border-radius:8px;
    font-weight:bold;
    font-size:1rem;
    cursor:pointer;
    transition:var(--transition);
    text-transform:uppercase;
    letter-spacing:0.05em;
}
.submit-btn:hover{
    transform:translateY(-2px);
    box-shadow:var(--shadow);
}

/* FAQ Section */
.faq{background:var(--white)}
.faq-container{max-width:850px;margin:2.5rem auto 0}
.faq-item{
    background:var(--light-cream);
    margin-bottom:1rem;
    border-radius:10px;
    overflow:hidden;
    transition:var(--transition);
}
.faq-question{
    padding:1.3rem;
    cursor:pointer;
    display:flex;
    justify-content:space-between;
    align-items:center;
    color:var(--dark);
    font-weight:500;
    transition:var(--transition);
}
.faq-question:hover{background:var(--cream)}
.faq-icon{
    font-size:1.3rem;
    color:var(--primary);
    transition:var(--transition);
}
.faq-item.active .faq-icon{transform:rotate(45deg)}
.faq-answer{
    max-height:0;
    overflow:hidden;
    transition:max-height 0.4s ease;
    padding:0 1.3rem;
    color:var(--text);
    line-height:1.7;
}
.faq-answer.active{
    max-height:500px;
    padding:0 1.3rem 1.3rem;
}

/* Footer */
footer{
    background:var(--dark);
    color:var(--cream);
    padding:3rem 0 1.5rem;
}
.footer-content{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:2.5rem;
    margin-bottom:2rem;
}
.footer-section h3{
    color:var(--accent);
    margin-bottom:1rem;
    font-size:1.2rem;
}
.footer-section p,
.footer-section a{
    color:var(--cream);
    line-height:1.7;
    text-decoration:none;
    display:block;
    margin-bottom:0.5rem;
    transition:var(--transition);
    font-size:0.9rem;
}
.footer-section a:hover{color:var(--accent);padding-left:5px}
.social-links{
    display:flex;
    gap:1rem;
    margin-top:1rem;
}
.social-links a{
    width:40px;
    height:40px;
    background:rgba(201,169,97,0.15);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--accent);
    transition:var(--transition);
    font-size:1.1rem;
}
.social-links a:hover{
    background:var(--accent);
    color:var(--dark);
    transform:translateY(-3px);
}
.footer-bottom{
    text-align:center;
    padding-top:1.5rem;
    border-top:1px solid rgba(201,169,97,0.2);
    color:var(--steel);
    font-size:0.85rem;
}

/* WhatsApp flutuante com ondas pulsantes */
.whatsapp-float{
    position:fixed;
    bottom:25px;
    right:25px;
    z-index:999;
}
.whatsapp-button{
    position:relative;
    background:linear-gradient(135deg,#25D366,#128C7E);
    border-radius:50px;
    display:flex;
    align-items:center;
    gap:0.7rem;
    padding:0.6rem 1.3rem;
    color:white;
    font-size:0.95rem;
    font-weight:600;
    font-family:'Arial',sans-serif;
    box-shadow:0 5px 25px rgba(37,211,102,0.4);
    text-decoration:none;
    transition:var(--transition);
    z-index:2;
}
.whatsapp-button:hover{
    transform:translateY(-3px);
    box-shadow:0 8px 35px rgba(37,211,102,0.6);
}
.whatsapp-icon{
    font-size:1.5rem;
    display:flex;
    align-items:center;
    justify-content:center;
}
.whatsapp-icon svg{
    width:24px;
    height:24px;
    fill:white;
}

/* Efeito de ondas pulsantes */
.whatsapp-button::before,
.whatsapp-button::after{
    content:'';
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:100%;
    height:100%;
    border:2px solid #25D366;
    border-radius:50px;
    opacity:0;
    z-index:-1;
}
.whatsapp-button::before{
    animation:wave 2s ease-out infinite;
}
.whatsapp-button::after{
    animation:wave 2s ease-out infinite 1s;
}
@keyframes wave{
    0%{
        width:100%;
        height:100%;
        opacity:0.8;
    }
    100%{
        width:150%;
        height:150%;
        opacity:0;
    }
}

/* Animações */
.animate{animation:fadeInUp 0.8s ease forwards}
@keyframes fadeInUp{
    from{opacity:0;transform:translateY(30px)}
    to{opacity:1;transform:translateY(0)}
}

/* Responsividade */
@media (max-width: 768px){
    .menu-toggle{display:flex}
    .nav-links{display:none}
    .nav-mobile{display:flex}
    .hero{height:90vh}
    .hero-title{font-size:2rem}
    .section{padding:3rem 0}
    .services-grid{grid-template-columns:1fr}
    .gallery-grid{grid-template-columns:1fr}
    .about-content{grid-template-columns:1fr}
    .about-stats{grid-template-columns:repeat(3,1fr);gap:1rem}
    .stat-number{font-size:2rem}
    .contact-wrapper{grid-template-columns:1fr}
    .footer-content{grid-template-columns:1fr}
    
    /* WhatsApp responsivo */
    .whatsapp-button{
        padding:0.7rem 1.2rem;
        font-size:0.85rem;
        gap:0.5rem;
    }
    .whatsapp-icon{font-size:1.3rem}
}

@media (min-width: 769px) and (max-width: 1024px){
    .gallery-grid{grid-template-columns:repeat(2,1fr)}
}