:root {
    --primary: #006837;
    --gold: #c9a34a;
    --text: #1f2937;
    --border: #e5e7eb;
    --shadow: 0 10px 30px rgba(0,0,0,0.1);
}

* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Inter', sans-serif; padding-top: 110px; color: var(--text); }

/* SLOWER TICKER */
.ticker-wrap { 
    background: var(--primary); 
    color: #fff; 
    height: 40px; 
    line-height: 40px; 
    position: fixed; 
    top: 0; 
    width: 100%; 
    z-index: 10000; 
    overflow: hidden; 
}
.ticker { display: inline-block; white-space: nowrap; animation: tickerMove 90s linear infinite; }
.ticker span { padding: 0 60px; font-weight: 600; font-size: 0.9rem; }
@keyframes tickerMove { 0% { transform: translateX(100%); } 100% { transform: translateX(-100%); } }

/* NAVBAR */
.navbar { position: fixed; top: 40px; width: 100%; background: #fff; border-bottom: 1px solid var(--border); z-index: 999; height: 70px; display: flex; align-items: center; }
.nav-container { display: flex; justify-content: space-between; width: 92%; margin: auto; align-items: center; }
.logo { font-weight: 800; color: var(--primary); font-size: 1.1rem; text-decoration: none; }
.nav-menu { display: flex; gap: 20px; list-style: none; }
.nav-menu a { text-decoration: none; color: var(--text); font-weight: 600; font-size: 0.9rem; }

/* FOOTER CENTERED */
footer { background: #0f172a; color: #fff; padding: 50px 0 30px; text-align: center; }
.footer-content { display: flex; flex-direction: column; align-items: center; gap: 25px; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,0.1); margin-top: 20px; padding-top: 20px; width: 100%; }

/* RULES & TABLES */
.rules-card { background: #fff; padding: 25px; border-radius: 15px; border: 1px solid var(--border); margin-top: 30px; }
table { width: 100%; border-collapse: collapse; margin-top: 10px; }
th, td { padding: 12px; border: 1px solid var(--border); text-align: left; }

/* LAYOUT */
.container { width: 92%; max-width: 1000px; margin: auto; }
.btn { padding: 12px 28px; border-radius: 50px; font-weight: 700; text-decoration: none; display: inline-block; cursor: pointer; border: none; }
.btn-primary { background: var(--primary); color: #fff; }
.timeline { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 20px; margin-top: 20px; }

/* FAQ */
.faq-item { border-bottom: 1px solid var(--border); }
.faq-question { width: 100%; text-align: left; padding: 15px 0; background: none; border: none; font-weight: 700; cursor: pointer; display: flex; justify-content: space-between; }
.faq-answer { max-height: 0; overflow: hidden; transition: 0.3s; }
.faq-item.active .faq-answer { max-height: 100px; padding-bottom: 15px; }

/* ANIMATIONS */
.reveal { opacity: 0; transform: translateY(20px); transition: 0.6s; }
.reveal.active { opacity: 1; transform: translateY(0); }

@media (max-width: 600px) { .nav-menu { display: none; } }