body {
      box-sizing: border-box;
      font-family: 'Inter', sans-serif;
    }
    
    * {
      scroll-behavior: smooth;
    }
    
    .gradient-primary {
      background: linear-gradient(135deg, #10b981 0%, #34d399 100%);
    }
    
    .text-primary {
      color: #10b981;
    }
    
    .bg-primary {
      background-color: #10b981;
    }
    
    .border-primary {
      border-color: #10b981;
    }
    
    .hover-primary:hover {
      background-color: #059669;
    }
    
    .card-competition {
      transition: all 0.3s ease;
      border: 2px solid #e5e7eb;
    }
    
    .card-competition:hover {
      border-color: #10b981;
      transform: translateY(-4px);
      box-shadow: 0 12px 24px rgba(16, 185, 129, 0.15);
    }
    
    .btn-primary {
      background: linear-gradient(135deg, #10b981 0%, #34d399 100%);
      transition: all 0.3s ease;
    }
    
    .btn-primary:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 16px rgba(16, 185, 129, 0.3);
    }
    
    .btn-outline {
      border: 2px solid #10b981;
      color: #10b981;
      transition: all 0.3s ease;
    }
    
    .btn-outline:hover {
      background: #10b981;
      color: white;
    }
    
    .faq-item {
      border-bottom: 1px solid #e5e7eb;
    }
    
    .faq-answer {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s ease;
    }
    
    .faq-answer.open {
      max-height: 500px;
    }
    
    .tab-button {
      padding: 12px 24px;
      border-bottom: 3px solid transparent;
      transition: all 0.3s ease;
    }
    
    .tab-button.active {
      border-bottom-color: #10b981;
      color: #10b981;
      font-weight: 600;
    }
    
    .mobile-menu {
      transform: translateX(-100%);
      transition: transform 0.3s ease;
    }
    
    .mobile-menu.open {
      transform: translateX(0);
    }
    
    .page-section {
      min-height: 100%;
    }

@view-transition { navigation: auto; }


/* Footer readability tweaks */
footer {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
footer a {
  text-decoration: none;
}
