  /* Base & Scroll */
  html {
    scroll-behavior: smooth;
    scroll-padding-top: 80px;
  }

  body {
    overflow-x: hidden;
  }

  /* Selection */
  ::selection {
    background: #a7f3d0;
    color: #064e3b;
  }

  /* Scroll Reveal */
  .reveal {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }

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

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

  /* Navbar */
  #navbar {
    background: transparent;
  }

  #navbar.scrolled {
    background: rgba(254, 253, 248, 0.95);
    backdrop-filter: blur(12px);
    box-shadow: 0 1px 0 rgba(4, 120, 87, 0.08);
  }

  #navbar.scrolled .font-serif {
    color: #064e3b !important;
  }

  /* Mobile Menu */
  #mobile-menu.open {
    opacity: 1;
    pointer-events: all;
  }

  /* Subtle line decorations */
  .thin-line {
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(4, 120, 87, 0.2), transparent);
  }

  /* Input autofill */
  input:-webkit-autofill,
  textarea:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 30px #f7f5eb inset !important;
    -webkit-text-fill-color: #064e3b !important;
  }
</style>
