/* 
  Design Original: Envato User 
  Licença de Uso: Comercial (Cliente Final)
  Proibida a revenda do código fonte.
*/
:root {
            --bg: #0f1115;
            --card-bg: #1a1d24;
            --text: #e2e8f0;
            --accent: #c6a87c; /* Gold */
            --accent-hover: #b08d55;
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body { font-family: 'DM Sans', sans-serif; background: var(--bg); color: var(--text); line-height: 1.6; }
        h1, h2, h3, h4 { font-family: 'Playfair Display', serif; color: white; }

        /* Utilities */
        .container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
        .section { padding: 100px 0; }
        .text-center { text-align: center; }
        .btn {
            display: inline-block;
            padding: 15px 35px;
            border: 1px solid var(--accent);
            color: var(--accent);
            text-decoration: none;
            text-transform: uppercase;
            letter-spacing: 2px;
            transition: 0.3s;
            font-size: 0.8rem;
            cursor: pointer;
            background: transparent;
        }
        .btn:hover { background: var(--accent); color: var(--bg); }
        .btn-fill { background: var(--accent); color: var(--bg); }
        .btn-fill:hover { background: var(--accent-hover); color: white; border-color: var(--accent-hover); }

        /* Header */
        header { padding: 25px 0; position: absolute; width: 100%; z-index: 10; background: linear-gradient(to bottom, rgba(0,0,0,0.9), transparent); }
        .nav { display: flex; justify-content: space-between; align-items: center; }
        .logo { font-size: 1.8rem; font-weight: 700; color: white; text-decoration: none; letter-spacing: 1px; }
        .logo span { color: var(--accent); font-style: italic; }
        .nav-menu { display: flex; gap: 30px; }
        .nav-menu a { color: white; text-decoration: none; text-transform: uppercase; font-size: 0.8rem; letter-spacing: 1px; transition: 0.3s; }
        .nav-menu a:hover { color: var(--accent); }
        .mobile-toggle { display: none; color: white; font-size: 1.5rem; cursor: pointer; }

        /* Hero */
        .hero {
            height: 100vh;
            background: url('../images/b23f4902fcbaeac8438103272fb85eda.jpg') center/cover;
            display: flex;
            align-items: center;
            position: relative;
        }
        .hero::before { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,0.4); }
        .hero-content { position: relative; z-index: 1; max-width: 800px; padding: 0 20px; }
        .hero h1 { font-size: 4rem; line-height: 1.1; margin-bottom: 20px; }
        .hero p { font-size: 1.3rem; margin-bottom: 40px; opacity: 0.9; font-weight: 300; max-width: 600px; }
        .hero-line { width: 60px; height: 2px; background: var(--accent); margin-bottom: 30px; }

        /* Featured Properties */
        .featured { background: var(--bg); }
        .section-header { margin-bottom: 60px; display: flex; justify-content: space-between; align-items: end; }
        .section-header h2 { font-size: 3rem; line-height: 1; }
        .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 40px; }
        .card { background: var(--card-bg); transition: 0.4s; group; cursor: pointer; }
        .card:hover { transform: translateY(-10px); }
        .card-img { height: 300px; overflow: hidden; position: relative; }
        .card-img img { width: 100%; height: 100%; object-fit: cover; transition: 0.5s; }
        .card:hover .card-img img { transform: scale(1.1); }
        .card-tag { position: absolute; top: 20px; left: 20px; background: var(--accent); color: var(--bg); padding: 5px 15px; text-transform: uppercase; font-size: 0.7rem; font-weight: 700; letter-spacing: 1px; }
        .card-info { padding: 30px; }
        .card-title { font-size: 1.5rem; margin-bottom: 10px; }
        .card-price { color: var(--accent); font-size: 1.3rem; margin-bottom: 20px; display: block; font-family: 'Playfair Display', serif; }
        .card-details { display: flex; gap: 20px; border-top: 1px solid rgba(255,255,255,0.1); padding-top: 20px; color: #94a3b8; font-size: 0.9rem; }
        .card-details span { display: flex; align-items: center; gap: 8px; }

        /* About */
        .about { background: #15181e; }
        .about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
        .about-img { position: relative; }
        .about-img img { width: 100%; filter: grayscale(100%); transition: 0.5s; }
        .about-img:hover img { filter: grayscale(0%); }
        .about-img::after { content: ''; position: absolute; top: 20px; left: 20px; width: 100%; height: 100%; border: 1px solid var(--accent); z-index: -1; }
        .about-text h2 { font-size: 3rem; margin-bottom: 30px; }
        .about-text p { margin-bottom: 30px; color: #94a3b8; }

        /* Services/Valuation */
        .services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin-top: 50px; }
        .service-item { padding: 40px; border: 1px solid rgba(255,255,255,0.1); text-align: center; transition: 0.3s; }
        .service-item:hover { border-color: var(--accent); background: rgba(198, 168, 124, 0.05); }
        .service-icon { font-size: 2rem; color: var(--accent); margin-bottom: 20px; }
        .service-item h3 { margin-bottom: 15px; font-size: 1.2rem; letter-spacing: 1px; }
        .service-item p { color: #94a3b8; font-size: 0.9rem; }

        /* Contact */
        .contact { background: url('../images/15530fcf3a99a3fa411dc36fe1120b6c.jpg') center/cover fixed; position: relative; }
        .contact::before { content: ''; position: absolute; inset: 0; background: rgba(15, 17, 21, 0.9); }
        .contact-content { position: relative; z-index: 1; text-align: center; max-width: 700px; margin: 0 auto; }
        .contact h2 { font-size: 3rem; margin-bottom: 20px; }
        .contact p { margin-bottom: 40px; font-size: 1.2rem; }

        /* Footer */
        footer { padding: 50px 0; border-top: 1px solid rgba(255,255,255,0.1); text-align: center; font-size: 0.8rem; color: #64748b; }

        /* Floating Button */
        .whatsapp-float { position: fixed; bottom: 30px; right: 30px; background: #25D366; color: white; width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 30px; box-shadow: 0 4px 15px rgba(0,0,0,0.5); z-index: 1000; transition: 0.3s; }
        .whatsapp-float:hover { transform: scale(1.1); background: #20bd5a; }

        @media (max-width: 768px) {
            .hero h1 { font-size: 2.5rem; }
            .section-header { flex-direction: column; align-items: flex-start; gap: 20px; }
            .about-grid { grid-template-columns: 1fr; }
            .services-grid { grid-template-columns: 1fr; }
            .nav-menu { display: none; position: absolute; top: 100%; left: 0; width: 100%; background: #000; flex-direction: column; padding: 20px; text-align: center; }
            .nav-menu.active { display: flex; }
            .mobile-toggle { display: block; }
            .about-img { margin-bottom: 40px; }
        }