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

:root {
  --tb-green-900: #0A2416;
  --tb-green-800: #0F3D22;
  --tb-green-700: #155E32;
  --tb-green-600: #1A7A3F;
  --tb-green-500: #16A34A;
  --tb-green-400: #22C55E;
  --tb-green-300: #4ADE80;
  --tb-green-100: #DCFCE7;
  --tb-green-50: #F0FDF4;
  --tb-gray-950: #0A0A0A;
  --tb-gray-900: #111111;
  --tb-gray-800: #1C1C1C;
  --tb-gray-700: #2A2A2A;
  --tb-gray-600: #404040;
  --tb-gray-400: #737373;
  --tb-gray-200: #E5E5E5;
  --tb-gray-100: #F5F5F5;
  --tb-gray-50: #FAFAFA;
  --tb-amber: #F59E0B;
  --tb-blue: #3B82F6;
  --tb-red: #EF4444;
  --font-display: "Plus Jakarta Sans", sans-serif;
  --font-body: "Inter", sans-serif;
  --font-mono: "JetBrains Mono", monospace;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-full: 9999px;
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.10);
  --shadow-lg: 0 8px 32px rgba(0,0,0,0.12);
  --shadow-green: 0 4px 20px rgba(22,163,74,0.20);
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --duration: 200ms;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-body);
  color: var(--tb-gray-900);
  background: #FFFFFF;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 { font-family: var(--font-display); }

.tb-btn {
  display: inline-flex; align-items: center;
  padding: 10px 20px; border-radius: var(--radius-full);
  font-weight: 600; font-size: 14px;
  text-decoration: none; cursor: pointer;
  border: none; transition: all var(--duration) var(--ease);
}
.tb-btn--primary {
  background: var(--tb-green-500); color: white;
  box-shadow: var(--shadow-green);
}
.tb-btn--primary:hover {
  background: var(--tb-green-600);
  transform: translateY(-1px);
  box-shadow: 0 6px 24px rgba(22,163,74,0.30);
  color: white;
}
.tb-btn--outline {
  background: white; color: var(--tb-green-500);
  border: 1.5px solid var(--tb-green-500);
  padding: 12px 24px; border-radius: var(--radius-full);
}
.tb-btn--outline:hover {
  background: var(--tb-green-500); color: white;
}

.tb-section { padding: var(--space-16) var(--space-6); }
.tb-container { max-width: 1200px; margin: 0 auto; }
.tb-section__header { text-align: center; margin-bottom: var(--space-12); }
.tb-section__title {
  font-family: var(--font-display);
  font-size: clamp(26px, 3.5vw, 40px);
  font-weight: 800; color: var(--tb-gray-900);
  margin-bottom: var(--space-3);
  letter-spacing: -0.5px;
}
.tb-section__sub { font-size: 17px; color: var(--tb-gray-400); max-width: 500px; margin: 0 auto; }
.tb-link-arrow { color: var(--tb-green-500); text-decoration: none; font-weight: 600; font-size: 15px; }
.tb-link-arrow:hover { color: var(--tb-green-600); }
