  /* Base & Smooth Scrolling */
  html {
    scroll-behavior: smooth;
  }

  body {
    overflow-x: hidden;
  }

  /* Hero Animations */
  @keyframes fadeInUp {
    from {
      opacity: 0;
      transform: translateY(30px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .fade-in-up {
    animation: fadeInUp 0.7s ease-out both;
  }

  /* Reveal on Scroll */
  .reveal {
    opacity: 0;
    transform: translateY(25px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
  }

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

  /* Header Scroll State */
  #header.scrolled {
    background: rgba(255, 255, 255, 0.97);
    backdrop-filter: blur(12px);
    box-shadow: 0 1px 20px rgba(0, 0, 0, 0.06);
  }

  #header.scrolled .font-display {
    color: #1e2024;
  }

  /* Custom Scrollbar */
  ::-webkit-scrollbar {
    width: 8px;
  }

  ::-webkit-scrollbar-track {
    background: #f6f6f7;
  }

  ::-webkit-scrollbar-thumb {
    background: #c4c6cb;
    border-radius: 4px;
  }

  ::-webkit-scrollbar-thumb:hover {
    background: #a1a5ad;
  }

  /* Selection */
  ::selection {
    background: #E8604B;
    color: white;
  }

  /* Focus Visible */
  :focus-visible {
    outline: 2px solid #E8604B;
    outline-offset: 2px;
  }

  /* Mobile Menu Animation */
  #mobile-menu {
    animation: slideDown 0.25s ease-out;
  }

  @keyframes slideDown {
    from {
      opacity: 0;
      transform: translateY(-8px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  /* Input autofill style */
  input:-webkit-autofill,
  textarea:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 30px white inset !important;
  }
