: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 { 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; }
.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; }
.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); } }
@media (max-width: 768px) { .hero-section { background-attachment: scroll; min-height: 80vh; } }
