/* ===== CUSTOM PROPERTIES ===== */
:root {
  --midnight-900: #0a2540;
  --midnight-800: #0d3154;
  --midnight-700: #113d68;
  --midnight-600: #154a7d;
  --midnight-300: #7fb3d5;
  --midnight-400: #9ec5e0;
  --midnight-500: #b8d4e8;
  --mint-900: #0f4f4a;
  --mint-800: #136b63;
  --mint-700: #1a8a7e;
  --mint-600: #2aa89a;
  --mint-500: #5eead4;
  --mint-400: #89f0db;
  --mint-300: #b2f5e3;
  --mint-200: #d0f8ee;
  --mint-100: #e8fbf6;
  --mint-50: #f4fcf9;
}

/* ===== CUSTOM TAILWIND CONFIG ===== */
tailwind.config = {
  theme: {
    extend: {
      colors: {
        midnight: {
          900: '#0a2540',
          800: '#0d3154',
          700: '#113d68',
          600: '#154a7d',
          500: '#1a5a94',
          400: '#9ec5e0',
          300: '#7fb3d5',
        },
        mint: {
          900: '#0f4f4a',
          800: '#136b63',
          700: '#1a8a7e',
          600: '#2aa89a',
          500: '#5eead4',
          400: '#89f0db',
          300: '#b2f5e3',
          200: '#d0f8ee',
          100: '#e8fbf6',
          50: '#f4fcf9',
        },
      },
      fontFamily: {
        serif: ['"DM Serif Display"', 'Georgia', 'serif'],
        sans: ['"Nunito"', 'system-ui', 'sans-serif'],
      },
    },
  },
};

/* ===== BASE & RESET ===== */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
}

body {
  font-family: 'Nunito', system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ===== NAVBAR ===== */
#navbar {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(10, 37, 64, 0.06);
}

#navbar.scrolled {
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 4px 30px rgba(10, 37, 64, 0.08);
}

/* ===== MOBILE MENU ===== */
#mobileMenu {
  box-shadow: -10px 0 40px rgba(10, 37, 64, 0.15);
}

/* ===== ANIMATED BLOBS ===== */
@keyframes blob {
  0%, 100% { transform: translate(0, 0) scale(1); }
  25% { transform: translate(20px, -30px) scale(1.1); }
  50% { transform: translate(-10px, 20px) scale(0.95); }
  75% { transform: translate(15px, 10px) scale(1.05); }
}

.animate-blob {
  animation: blob 7s ease-in-out infinite;
}

/* ===== SCROLL REVEAL (below fold only) ===== */
.reveal {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: no-preference) {
  .reveal {
    opacity: 0;
    transform: translateY(24px);
  }
  .reveal.revealed {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ===== STAGGER CHILDREN ===== */
.stagger > * {
  transition-delay: calc(var(--i, 0) * 0.08s);
}

/* ===== SELECTION ===== */
::selection {
  background: var(--mint-200);
  color: var(--midnight-900);
}

/* ===== SCROLLBAR ===== */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: var(--mint-50);
}
::-webkit-scrollbar-thumb {
  background: var(--midnight-400);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--midnight-600);
}
