  /* ── Base & Utilities ── */
  *, *::before, *::after { box-sizing: border-box; }
  html { scroll-behavior: smooth; scroll-padding-top: 80px; }
  body { overflow-x: hidden; }

  /* ── Scroll Reveal ── */
  .reveal { opacity: 1; transform: none; transition: opacity 0.7s ease, transform 0.7s ease; }
  @media (prefers-reduced-motion: no-preference) {
    .reveal { opacity: 0; transform: translateY(30px); }
    .reveal.visible { opacity: 1; transform: none; }
    .reveal.card-card { transition-delay: 0.1s; }
  }

  /* ── Navbar ── */
  #navbar { position: fixed; top: 0; left: 0; right: 0; z-index: 50; transition: background 0.3s ease, box-shadow 0.3s ease, padding 0.3s ease; }
  #navbar.scrolled { background: rgba(253, 251, 247, 0.95); backdrop-filter: blur(12px); box-shadow: 0 1px 20px rgba(0,0,0,0.06); }

  /* ── Mobile Menu ── */
  #mobile-menu.open { opacity: 1; pointer-events: auto; }
  #mobile-menu.closed { opacity: 0; pointer-events: none; }
  .mobile-link { transition: color 0.2s ease; }
  .mobile-link:hover { color: #c4785a; }

  /* ── Card Hover ── */
  .card-card { transform: translateY(0); transition: transform 0.3s ease, box-shadow 0.3s ease; }
  @media (prefers-reduced-motion: no-preference) {
    .card-card:hover { transform: translateY(-4px); }
  }

  /* ── Form Focus ── */
  input:focus, select:focus, textarea:focus { outline: none; }

  /* ── Selection ── */
  ::selection { background: #f3bfb8; color: #5f3326; }
