:root {
    --emerald-green: #2D5F4F;
    --sage-green: #A8C686;
    --warm-gold: #D4A574;
    --off-white: #FAF9F7;
    --warm-cream: #F5F3EF;
    --light-sand: #E8E6E3;
    --deep-forest: #1A3A2E;
    --charcoal: #2C2C2C;
    --emerald-dark: #1F4A3C;
}
* { scroll-behavior: smooth; }
body { font-family: 'Inter', sans-serif; color: var(--deep-forest); background: var(--off-white); overflow-x: hidden; }
h1, h2, h3, h4, h5, h6 { font-family: 'Cormorant Garamond', serif; letter-spacing: 0.02em; }
#scroll-progress { position: fixed; top: 0; left: 0; height: 2px; background: linear-gradient(90deg, var(--emerald-green), var(--warm-gold)); width: 0%; z-index: 9999; transition: width 100ms ease; }
#loading-screen { position: fixed; inset: 0; background: var(--off-white); display: flex; align-items: center; justify-content: center; z-index: 10000; transition: opacity 600ms ease; }
#loading-screen.hidden { opacity: 0; pointer-events: none; }
header.scrolled { background: rgba(250, 249, 247, 0.85); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(45, 95, 79, 0.08); }
.hero-section { font-family: 'Poppins', sans-serif; background: linear-gradient(135deg, rgba(26, 58, 46, 0.3), rgba(26, 58, 46, 0.1)), url('https://images.unsplash.com/photo-1476514525535-07fb3b4ae5f1?w=1920&q=80'); background-size: cover; background-position: center; background-attachment: fixed; min-height: 100vh; }
.hero-section, .hero-section * { font-family: 'Poppins', sans-serif; }
.hero-section .hero-title { font-family: 'Playfair Display', serif; font-style: normal; font-weight: 400; color: rgb(255, 255, 255); font-size: 80px; line-height: 88px; text-shadow: 0 2px 16px rgba(0,0,0,0.3); margin-bottom: 24px; }
.hero-section .hero-description { font-family: 'Montserrat', sans-serif; font-style: normal; font-weight: 300; color: rgb(255, 255, 255); font-size: 26px; line-height: 42px; }
header, header *, .mega-menu, .mega-menu *, .mobile-menu, .mobile-menu * { font-family: 'Poppins', sans-serif; }
.mega-menu { opacity: 0; visibility: hidden; transition: all 0.3s ease; transform: translateY(10px); }
.group:hover .mega-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.bg-glass { background: rgba(255, 255, 255, 0.92); backdrop-filter: blur(12px); }
.carousel-container { scroll-behavior: smooth; -ms-overflow-style: none; scrollbar-width: none; }
.carousel-container::-webkit-scrollbar { display: none; }
.descubra-select-wrap { position: relative; min-width: 240px; }
.descubra-select { width: 100%; height: 46px; padding: 0 44px 0 16px; color: #fff; border: 1px solid rgba(180, 138, 50, 0.45); background: linear-gradient(135deg, rgba(255,255,255,0.14), rgba(255,255,255,0.07)); backdrop-filter: blur(10px); font-family: 'Montserrat', sans-serif; font-size: 12px; text-transform: uppercase; letter-spacing: 0.14em; outline: none; transition: border-color 260ms ease, box-shadow 260ms ease, background 260ms ease; appearance: none; }
.descubra-select-wrap svg { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); pointer-events: none; color: rgba(255,255,255,0.8); }
.descubra-chip { padding: 9px 14px; border: 1px solid rgba(255, 255, 255, 0.28); background: rgba(255, 255, 255, 0.05); color: rgba(255,255,255,0.9); font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.14em; transition: all 240ms ease; }
.descubra-chip.is-active { color: #fff; border-color: rgba(180, 138, 50, 0.95); background: linear-gradient(135deg, rgba(180,138,50,0.95), rgba(180,138,50,0.72)); box-shadow: 0 10px 22px rgba(180, 138, 50, 0.28); }
.descubra-nav-btn { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.22); transition: all 260ms ease; }
.btn-primary { background: var(--emerald-green); color: var(--off-white); padding: 16px 36px; border-radius: 2px; font-family: 'Inter', sans-serif; font-size: 15px; font-weight: 500; letter-spacing: 0.02em; border: 1px solid transparent; transition: all 400ms cubic-bezier(0.4, 0.0, 0.2, 1); display: inline-block; text-decoration: none; }
.btn-secondary { background: transparent; color: var(--off-white); padding: 16px 36px; border-radius: 2px; font-family: 'Inter', sans-serif; font-size: 15px; font-weight: 500; letter-spacing: 0.02em; border: 1px solid rgba(250, 249, 247, 0.4); backdrop-filter: blur(4px); transition: all 400ms cubic-bezier(0.4, 0.0, 0.2, 1); display: inline-block; text-decoration: none; }
#whatsapp-float { position: fixed; bottom: 32px; right: 32px; width: 56px; height: 56px; background: #25D366; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 24px rgba(37, 211, 102, 0.3); z-index: 999; transition: transform 300ms ease, box-shadow 300ms ease; animation: pulse 2s infinite; }
#back-to-top { position: fixed; bottom: 100px; right: 32px; width: 44px; height: 44px; background: rgba(45, 95, 79, 0.9); backdrop-filter: blur(8px); border-radius: 50%; display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity 400ms ease, transform 400ms ease, background 300ms ease; z-index: 999; cursor: pointer; }
#back-to-top.visible { opacity: 1; pointer-events: auto; }
.form-input { background: var(--off-white); border: 1px solid var(--light-sand); border-radius: 2px; padding: 14px 18px; font-family: 'Inter', sans-serif; font-size: 15px; font-weight: 300; transition: all 300ms ease; width: 100%; }
.form-label { font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 500; letter-spacing: 0.02em; color: var(--deep-forest); margin-bottom: 8px; display: block; }
/* ===== SCROLL REVEAL ===== */
[data-reveal] {
    transition: opacity 700ms ease, transform 700ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

[data-reveal="fade-up"] {
    opacity: 0;
    transform: translateY(48px);
}

[data-reveal="slide-left"] {
    opacity: 0;
    transform: translateX(-60px);
}

[data-reveal="slide-right"] {
    opacity: 0;
    transform: translateX(60px);
}

[data-reveal].revealed {
    opacity: 1;
    transform: translate(0, 0);
}

/* ===== SEÇÃO CONTATO ===== */
.section-contato {
    background: #d4d4d5;
    padding: 80px 0;
}

.section-contato-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 48px;
    align-items: start;
}

.section-contato-form-wrap {
    background: #ffffff;
    padding: 52px 48px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.06);
}

.contato-box-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 32px;
    font-weight: 400;
    line-height: 1.3;
    color: var(--deep-forest);
    margin-bottom: 32px;
    text-align: center;
}

.section-contato-side {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.contato-side-info {
    background: #ffffff;
    padding: 48px 40px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.06);
}

.contato-janela-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
}

.contato-janela-img {
    width: 100%;
    max-width: 420px;
    height: auto;
    display: block;
    margin: 0 auto;
    filter: drop-shadow(0 16px 48px rgba(0,0,0,0.15));
}

.mobile-menu { position: fixed; inset: 0; background: var(--off-white); z-index: 9998; opacity: 0; pointer-events: none; transition: opacity 500ms cubic-bezier(0.4, 0.0, 0.2, 1); }
.mobile-menu.active { opacity: 1; pointer-events: auto; }
.mobile-menu-content { transform: translateX(100%); transition: transform 500ms cubic-bezier(0.4, 0.0, 0.2, 1); }
.mobile-menu.active .mobile-menu-content { transform: translateX(0); }
.fade-in { opacity: 0; transform: translateY(40px); transition: opacity 800ms cubic-bezier(0.4, 0.0, 0.2, 1), transform 800ms cubic-bezier(0.4, 0.0, 0.2, 1); }
.fade-in.visible { opacity: 1; transform: translateY(0); }
@keyframes pulse { 0%,100% { box-shadow: 0 8px 24px rgba(37, 211, 102, 0.3); } 50% { box-shadow: 0 8px 32px rgba(37, 211, 102, 0.5); } }
/* ========== MOBILE (até 768px) ========== */
@media (max-width: 768px) {
    /* Top bar (câmbio + redes + telefone) */
    .top-bar { padding: 10px 16px; font-size: 11px; }
    .top-bar .container { justify-content: center; }
    .top-bar .flex.gap-6 { gap: 12px; }

    /* Header / Nav */
    header nav { padding: 12px 16px; }
    header .flex-col .text-2xl { font-size: 1.25rem; }
    header .relative.w-14.h-14 { width: 44px; height: 44px; }
    header .relative.w-10.h-10 { width: 28px; height: 28px; }
    header .text-\[11px\] { font-size: 9px; }

    /* Menu mobile */
    .mobile-menu-content { max-width: 100%; }
    .mobile-nav-link { font-size: 24px !important; }

    /* Hero */
    .hero-section { background-attachment: scroll; min-height: 80vh; }
    .hero-inner { padding: 32px 16px !important; text-align: center; }
    .hero-inner p:first-of-type { font-size: 11px; margin-bottom: 16px; }
    .hero-inner .hero-title { font-size: clamp(28px, 8vw, 44px) !important; line-height: 1.15 !important; margin-bottom: 16px; }
    .hero-inner .hero-description { font-size: 16px !important; line-height: 1.5 !important; margin-bottom: 32px; max-width: 100% !important; }
    .hero-cta-buttons {
        flex-direction: column;
        align-items: center;
        width: 100%;
    }
    .hero-cta-buttons .btn-secondary {
        display: block;
        width: 100%;
        max-width: 280px;
        text-align: center;
    }

    /* Sobre */
    .section-sobre { padding: 48px 0 !important; }
    .section-inner { padding: 0 20px !important; }
    .section-sobre-grid {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
        margin-bottom: 48px !important;
    }
    .section-sobre-img-wrap { order: 1; }
    .section-sobre-text { order: 2; padding: 32px 24px !important; }
    .section-sobre-img { height: 280px !important; min-height: 240px; }

    /* Descubra */
    .section-descubra { padding: 48px 0 !important; }
    .section-descubra .container { padding-left: 20px; padding-right: 20px; }
    .descubra-header { margin-bottom: 24px !important; text-align: center; }
    .descubra-header h2 { font-size: 1.75rem !important; }
    .descubra-header .flex.items-center.gap-4 { flex-wrap: wrap; justify-content: center; }
    .descubra-select-wrap { min-width: 200px; }
    .descubra-chips-wrap { margin-bottom: 20px; }
    /* Um card por coluna, centralizado no smartphone */
    .carousel-container {
        padding-bottom: 12px;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        padding-left: 5%;
        padding-right: 5%;
        gap: 1rem;
    }
    .carousel-container > div {
        scroll-snap-align: center;
        scroll-snap-stop: always;
        min-width: 90% !important;
        width: 90% !important;
        max-width: 90% !important;
        flex: 0 0 90% !important;
    }

    /* Contato */
    .section-contato { padding: 40px 0 !important; }
    .section-contato-grid {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        padding: 0 20px !important;
    }
    .section-contato-form-wrap { padding: 28px 20px !important; }
    .contato-box-title { font-size: 24px !important; }
    .contato-side-info { padding: 28px 20px !important; }
    .section-contato-side { gap: 24px; }
    .contato-janela-img { max-width: 280px; }
    #contact-form .form-input,
    #contact-form .form-label { font-size: 16px; } /* evita zoom no iOS */

    /* Footer */
    .site-footer { padding: 40px 20px !important; }
    .site-footer .flex.flex-col.items-center.gap-4 { margin-bottom: 24px; }
    .site-footer p { font-size: 14px; }

    /* Flutuantes */
    #whatsapp-float { bottom: 24px; right: 24px; width: 52px; height: 52px; }
    #back-to-top { bottom: 88px; right: 24px; width: 40px; height: 40px; }
}

/* Mobile pequeno (até 480px) */
@media (max-width: 480px) {
    .hero-inner .hero-title { font-size: 26px !important; }
    .section-sobre-img { height: 220px !important; }
    .descubra-select { font-size: 11px; }
    .descubra-chip { padding: 8px 12px; font-size: 10px; }
}
