 :root {
            --primary: #5a3d2c;    
            --secondary: #b8860b;  
            --accent: #eeb31f;     
            --light: #f9f7f5;
            --text: #333;
            --white: #ffffff;
        }

        * { 
            margin: 0; 
            padding: 0; 
            box-sizing: border-box; 
        }
        html { 
            scroll-behavior: smooth; 
        }
        body { 
            font-family: 'Montserrat', sans-serif; 
            background: var(--white); 
            color: var(--text); 
            line-height: 1.6; 
        }

        .hidden { 
            opacity: 0; 
            transform: translateY(30px); 
            transition: all 0.8s ease-out; 
        }
        .show { 
            opacity: 1; 
            transform: translateY(0); 
        }

        header {
            display: flex; 
            justify-content: space-between; 
            align-items: center;
            padding: 0 8%; 
            background: 
            var(--primary); 
            height: 90px;
            position: sticky; 
            top: 0; 
            z-index: 1000;
            transition: 0.4s;
            box-shadow: 0 4px 20px rgba(0,0,0,0.1);
        }
        header.scrolled { 
            height: 70px; 
            background: rgba(90, 61, 44, 0.98); 
        }
        header img { 
            height: 100px; 
        }
        
        nav a {
            margin-left: 30px; 
            text-decoration: none; 
            color: var(--accent);
            font-weight: 500; 
            font-size: 0.85rem; 
            text-transform: uppercase; 
            letter-spacing: 1px;
            transition: 0.3s;
        }
        nav a:hover { 
            color: var(--white); 
        }

        .hero {
            padding: 140px 8% 100px;
            text-align: center;
            background: linear-gradient(rgba(255,255,255,0.92), rgba(250, 250, 250, 0.92)), 
                        url('https://www.transparenttextures.com/patterns/white-diamond.png');
        }
        .hero h1 {
            font-size: clamp(32px, 5vw, 50px);
            margin-bottom: 25px; 
            color: #1a1a1a; 
            line-height: 1.2;
        }
        .hero p { 
            max-width: 800px; 
            margin: 0 auto 40px; 
            font-size: 1.1rem; 
            color: #555; 
            font-weight: 300; 
        }

        .btn {
            background: var(--primary); 
            color: var(--white);
            padding: 16px 35px; 
            border-radius: 4px; 
            text-decoration: none;
            font-weight: 600; 
            display: inline-flex; 
            align-items: center; 
            gap: 12px;
            transition: 0.4s; 
            border: 1px solid var(--primary);
        }
        .btn:hover { 
            background: transparent; 
            color: var(--primary); 
            transform: translateY(-3px); 
        }

        .btn-whats-float {
            position: fixed; 
            bottom: 30px; 
            right: 30px; 
            background: #25D366;
            width: 60px; 
            height: 60px; 
            border-radius: 50%; 
            display: flex;
            justify-content: center; 
            align-items: center; 
            z-index: 999;
            box-shadow: 0 4px 15px rgba(0,0,0,0.2); transition: 0.3s;
        }
        .btn-whats-float img { width: 30px; }

       #sobre { 
            padding: 100px 8%; 
            background: var(--white); 
        }
        .sobre-container { 
            display: flex; 
            align-items: center; 
            gap: 80px; 
            max-width: 1100px; 
            margin: 0 auto; 
        }
        .sobre-img { 
            flex: 1; 
            position: relative; 
        }
        .sobre-img img {
            width: 100%; 
            border-radius: 2px; 
            filter: grayscale(20%); 
        }
        .sobre-img::after {
            content: ''; 
            position: absolute; 
            top: 20px; 
            left: -20px;
            width: 100%; 
            height: 100%; 
            border: 2px solid var(--secondary);
            z-index: -1; 
            border-radius: 4px;
        }
        .sobre-texto { 
            flex: 1.2; 
        }
        .sobre-texto h2 { 
            font-family: 'Playfair Display', serif; 
            font-size: 40px; 
            color: var(--primary); 
            margin-bottom: 25px; }
        .sobre-texto p { 
            margin-bottom: 20px; 
            font-size: 1.05rem; 
            color: #444; 
        }
        /*  ÁREAS  */
        #areas { 
            padding: 100px 8%; 
            background: var(--light); 
        }
        .section-title { 
            text-align: center; 
            font-family: 'Playfair Display', serif; 
            font-size: 36px; 
            margin-bottom: 60px; 
            color: var(--primary); 
        }
        .areas-grid { 
            display: grid; 
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); 
            gap: 30px; 
        }
        
        .card {
            background: var(--white); 
            border-radius: 8px; 
            overflow: hidden;
            transition: 0.4s; 
            box-shadow: 0 10px 30px rgba(0,0,0,0.05);
            text-align: center; 
            border-bottom: 4px solid transparent;
        }
        .card:hover { 
            transform: translateY(-10px); 
            border-bottom: 4px solid var(--secondary); 
        }
        .card img { 
            width: 100%; 
            height: 350px; 
            object-fit: cover; 
        }
        .card h3 { 
            font-family: 'Playfair Display', serif; 
            color: var(--primary);
            margin: 20px 0 10px; 
            font-size: 22px; }
        .card p { 
            color: #666; 
            font-size: 0.95rem; 
            padding: 0 20px 30px; 
        }

        /* CONTATO  */
        #contato { 
            padding: 80px 8%;
            text-align: center; 
            background: var(--white); 
        }
        .contato-info { 
            display: flex; 
            justify-content: center; 
            gap: 40px; 
            flex-wrap: wrap; 
            margin-top: 40px; 
        }
        .info-item h4 { 
            color: var(--secondary); 
            text-transform: uppercase; 
            font-size: 12px; 
            letter-spacing: 2px; 
            margin-bottom: 5px; 
        }
        .info-item p, .info-item a { 
            font-size: 1rem; 
            text-decoration: none; 
            color: var(--text); 
            font-weight: 500; 
        }

        /* FOOTER */
        footer { 
            background: var(--primary); 
            color: rgba(255,255,255,0.7); 
            text-align: center; 
            padding: 30px; 
            font-size: 13px; 
        }

        /* RESPONSIVO */
        @media(max-width: 900px) {
            .sobre-container { 
                flex-direction: column; 
                text-align: center; 
            }
            header { 
                padding: 0 5%; 
            }
            nav { 
                display: none; 
            }
        }