:root {
  /* 💼 Brand Core (Dark + Professional) */
  --primary-color: #0a071b;      /* Deep navy background */
  --secondary-color: #30395c;    /* Muted steel blue – accent sections & buttons */
  --light-color: #45d3df;        /* Slightly lighter navy tone for contrast */
  --hover-color: #ffcf0e;        /* Bright yellow for hover effects */

  /* 🚀 Accent / Highlights */
  --accent-color: #00c6ff;       /* Bright digital blue – for CTA, hover */
  --accent-light: #66e0ff;       /* Softer cyan for subtle highlights */

  /* ⚪ Neutrals / Backgrounds */
  --light-cream: #f8f9fc;        /* Very light grayish white (text background) */
  --light-beige: #eef1f8;        /* Light bluish gray for soft sections */
  --beige: #e2e6f3;              /* Subtle section divider background */
  --white: #ffffff;              /* Pure white for text or icons */

  /* ⚫ Grayscale (Text, Borders, Depth) */
  --gray-100: #e5e7eb;           /* Light gray border */
  --gray-300: #9ca3af;           /* Medium gray */
  --gray-600: #4b5563;           /* Dark gray text */
  --gray-800: #1f2937;           /* Deep gray text (for light sections) */

  /* 🌗 Opacity Variants (based on primary navy tone) */
  --opacity-10: rgba(10, 7, 27, 0.1);
  --opacity-20: rgba(10, 7, 27, 0.2);
  --opacity-30: rgba(10, 7, 27, 0.3);

  /* 🖼️ Gradients */
  --loader-gradient: radial-gradient(
    circle at bottom,
    var(--primary-color) 50%,
    var(--secondary-color) 90%
  );

  /* ✨ Shadows & Text */
  --shadow-color: rgba(0, 0, 0, 0.25);
  --text-primary: #f8f9fc;        /* Light text on dark background */
  --text-light: #cfd3e3;          /* Soft text for muted areas */
  --bg-primary: var(--primary-color);
  --bg-light: var(--light-beige);
}



/* Slide-down animation */
.menu-closed {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, opacity 0.3s ease;
}
.menu-open {
  max-height: 500px; /* enough for menu items */
  opacity: 1;
  transition: max-height 0.5s ease, opacity 0.4s ease;
}

/* Back to Top Button */
#backToTop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  display: none; /* Hidden by default */
  background-color: var(--primary-color);
  color: var(--light-cream);
  border: 2px solid var(--light-cream);
  border-radius: 50%; /* circle */
  width: 50px;
  height: 50px;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 1000;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  transition: all 0.3s ease;
}

#backToTop:hover {
  background-color: var(--accent-color);
  color: var(--secondary-color);
  transform: translateY(-3px);
}

/* Mailto Button */
a.mailtome {
  position: fixed;
  bottom: 90px;
  right: 20px;
  background-color: var(--secondary-color);
  color: var(--light-cream);
  border: 2px solid var(--light-cream);
  border-radius: 50%; /* circle */
  width: 50px;
  height: 50px;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 1000;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  transition: all 0.3s ease;
}

a.mailtome:hover {
  background-color: var(--light-color);
  color: var(--secondary-color);
  transform: translateY(-3px);
}

