@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&amp;family=Playfair+Display:wght@700&amp;display=swap');

:root {
  --primary: #0A5C4A;
}

.font-display {
  font-family: 'Playfair Display', Georgia, serif;
}

.section-padding {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

@media (min-width: 768px) {
  .section-padding {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

.nav-link {
  transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.nav-link:hover {
  color: #0A5C4A;
}

.premium-card {
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), 
              box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1),
              border-color 0.2s ease;
}

.premium-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.05), 0 8px 10px -6px rgb(0 0 0 / 0.05);
  border-color: #0A5C4A;
}

.stat-number {
  font-feature-settings: "tnum";
}

.clean-divider {
  height: 1px;
  background: linear-gradient(to right, transparent, #E2E8F0, transparent);
}

.focus-ring {
  transition: all 0.2s ease;
}

.focus-ring:focus-visible {
  outline: 2px solid #0A5C4A;
  outline-offset: 2px;
}

.nav-scrolled {
  background-color: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(12px);
  box-shadow: 0 1px 0 0 #f1f5f9;
}

.hero-bg {
  background: linear-gradient(145deg, #0A2F26 0%, #0F172A 100%);
}

.text-balance {
  text-wrap: balance;
}

.minimal-shadow {
  box-shadow: 0 10px 15px -3px rgb(15 23 42 / 0.05), 0 4px 6px -4px rgb(15 23 42 / 0.05);
}