@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');

:root {
  --font-primary: 'Plus Jakarta Sans', sans-serif;
  --font-display: 'Outfit', sans-serif;
  --brand-green: #76B128;
  --brand-green-dark: #5a8a1e;
  --brand-dark: #1A1A1A;
  --brand-gray: #F5F5F5;
}

body {
  font-family: var(--font-primary);
  background-color: #ffffff;
  color: #1A1A1A;
  scroll-behavior: smooth;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
}

/* Custom Scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: #cccccc; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--brand-green); }

/* Cards */
.card-light {
  background: #ffffff;
  border: 1px solid #e8e8e8;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 4px 16px rgba(0,0,0,0.04);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.card-light:hover {
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
  transform: translateY(-2px);
}

.card-gray {
  background: #F8F8F8;
  border: 1px solid #eeeeee;
}

/* Nav */
.nav-light {
  background: rgba(255,255,255,0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid #eeeeee;
}

/* Dark section (like o site oficial) */
.section-dark {
  background-color: #1A1A1A;
  color: #ffffff;
}

/* Green accent text */
.text-brand { color: var(--brand-green); }

/* Button primary */
.btn-primary {
  background-color: var(--brand-green);
  color: #ffffff;
  font-weight: 700;
  transition: background-color 0.2s ease, transform 0.1s ease, box-shadow 0.2s ease;
}
.btn-primary:hover {
  background-color: var(--brand-green-dark);
  box-shadow: 0 4px 14px rgba(118,177,40,0.35);
}

/* Button outline */
.btn-outline {
  border: 2px solid var(--brand-green);
  color: var(--brand-green);
  font-weight: 700;
  transition: all 0.2s ease;
  background: transparent;
}
.btn-outline:hover {
  background-color: var(--brand-green);
  color: #ffffff;
}

/* Step number */
.step-number {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 4rem;
  line-height: 1;
  color: var(--brand-green);
  opacity: 0.15;
  position: absolute;
  top: -10px;
  left: -5px;
  pointer-events: none;
}

/* Section label */
.section-label {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--brand-green);
  background: rgba(118, 177, 40, 0.1);
  padding: 4px 12px;
  border-radius: 999px;
  border: 1px solid rgba(118, 177, 40, 0.2);
}

/* Tab buttons */
.tab-transition {
  transition: all 0.25s ease;
}

/* Hexagon clip (like brand logo shape) */
.hex-clip {
  clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
}

/* Stats */
.stat-divider {
  border-left: 1px solid #e0e0e0;
}

/* FAQ */
.faq-item {
  border: 1px solid #eeeeee;
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
}
.faq-item:hover {
  border-color: var(--brand-green);
}

/* Testimonial stars */
.stars { color: #F59E0B; }

/* Animations */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
.animate-fadeInUp {
  animation: fadeInUp 0.5s ease forwards;
}

/* Mobile menu */
#mobile-menu {
  background: #ffffff;
  border-top: 1px solid #eeeeee;
}
