/* Shared site-wide styles — extracted from duplicated inline <style> blocks */

:root {
  --primary-bg: #0a0e1a;
  --secondary-bg: #1a1f2e;
  --accent-bg: #2a2f3e;
  --primary-color: #fd6262;
  --secondary-color: #5A7070;
  --text-primary: #ffffff;
  --text-secondary: #b8c5d1;
  --text-muted: #7a8a9a;
}

body {
  font-family: 'Source Sans Pro', sans-serif;
  background-color: var(--primary-bg);
  color: var(--text-primary);
}

.font-display { font-family: 'Inter', sans-serif; }
.font-mono { font-family: 'JetBrains Mono', monospace; }

.nav-link {
  position: relative;
  transition: color 0.3s ease;
}

.nav-link::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--primary-color);
  transition: width 0.3s ease;
}

.nav-link:hover::after {
  width: 100%;
}

.nav-link[aria-current="page"]::after {
  width: 100%;
}

.reveal {
  opacity: 0;
  transform: translateY(30px);
}

.reveal.active {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.6s ease;
}

/* Hide cookie banner after user accepted/declined */
.cookie-consent-set #cookie-banner {
  display: none !important;
}

/* Keep anchor targets clear of the fixed nav bar */
section[id] {
  scroll-margin-top: 5rem;
}
