:root {
  --ink: #0c1c2b;
  --sky: #e8f0f7;
  --accent: #1ea896;
  --accent-2: #f7b32b;
  --shadow: rgba(10, 22, 34, 0.15);
}

body {
  font-family: 'Space Grotesk', 'Trebuchet MS', sans-serif;
  background: linear-gradient(180deg, #f3f7fb 0%, #ffffff 60%);
  color: var(--ink);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

main {
  flex: 1 0 auto;
}

.navbar {
  box-shadow: 0 4px 24px var(--shadow);
}

.hero {
  background: radial-gradient(circle at top left, #f7efe1 0%, #f3f7fb 40%, #ffffff 100%);
  padding: 5rem 0;
}

.card-glow {
  box-shadow: 0 8px 30px var(--shadow);
  border: none;
}

.badge-soft {
  background: rgba(30, 168, 150, 0.15);
  color: var(--accent);
}

.section-title {
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.85rem;
  color: #607d8b;
}

.footer {
  background: #0c1c2b;
  color: #f5f7fa;
}

.table thead {
  background: #f0f5fa;
}

.news-ticker {
  overflow: hidden;
  white-space: nowrap;
}

.news-ticker span {
  display: inline-block;
  padding-right: 2rem;
  animation: ticker 18s linear infinite;
}

@keyframes ticker {
  0% { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}
