  /* ── Base ─────────────────────────────────────────── */
  *, *::before, *::after { box-sizing: border-box; }
  html { scroll-behavior: smooth; scroll-padding-top: 80px; }
  body { overflow-x: hidden; }
  img { max-width: 100%; height: auto; }

  /* ── Nav ──────────────────────────────────────────── */
  #nav { background: transparent; }
  #nav.scrolled {
    background: rgba(253, 252, 249, 0.92);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 1px 0 rgba(0,0,0,0.06);
  }
  #nav.scrolled .nav-logo-text { color: #1A1814; }

  /* ── Mobile Menu ──────────────────────────────────── */
  #mobile-menu.open { opacity: 1 !important; pointer-events: all !important; }
  #mobile-menu.open #bar1 { transform: rotate(45deg) translate(5px, 5px); }
  #mobile-menu.open #bar2 { opacity: 0; }
  #mobile-menu.open #bar3 { transform: rotate(-45deg) translate(5px, -5px); }

  /* ── Reveal Animations ────────────────────────────── */
  .reveal-up, .reveal-left, .reveal-right {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .reveal-left { transform: translateX(-40px); }
  .reveal-right { transform: translateX(40px); }
  .reveal-up.visible, .reveal-left.visible, .reveal-right.visible {
    opacity: 1;
    transform: translate(0, 0) translateX(0);
  }
  .reveal-up:nth-child(2) { transition-delay: 0.1s; }
  .reveal-up:nth-child(3) { transition-delay: 0.2s; }
  .reveal-up:nth-child(4) { transition-delay: 0.3s; }

  /* ── Scrollbar ────────────────────────────────────── */
  ::-webkit-scrollbar { width: 8px; }
  ::-webkit-scrollbar-track { background: #FAF6EE; }
  ::-webkit-scrollbar-thumb { background: #D0C9BC; border-radius: 4px; }
  ::-webkit-scrollbar-thumb:hover { background: #B85446; }

  /* ── Selection ────────────────────────────────────── */
  ::selection { background: #B85446; color: #FDFCF9; }

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

  /* ── Print ────────────────────────────────────────── */
  @media print {
    #nav, #mobile-menu, .animate-bounce { display: none; }
    body { background: white; color: black; }
  }
