diff --git a/.bundle/config b/.bundle/config
index decc94833f..2369228816 100644
--- a/.bundle/config
+++ b/.bundle/config
@@ -1,2 +1,2 @@
 ---
-BUNDLE_PATH: "vendor/bundle"
\ No newline at end of file
+BUNDLE_PATH: "vendor/bundle"
diff --git a/.tool-versions b/.tool-versions
index 59511e1d28..306ab3370b 100644
--- a/.tool-versions
+++ b/.tool-versions
@@ -1 +1 @@
-ruby 2.7.8
+ruby 3.1.4
diff --git a/Gemfile.lock b/Gemfile.lock
index 8f5e6c086c..415aa7ed78 100755
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,18 +1,21 @@
 GIT
   remote: https://github.com/jekyll/jekyll.git
-  revision: 58a1f62b2349bb477fc9999c40331cecdca577d8
+  revision: 1f319fb273b6cdf876bc6edd38d7477935cdda8c
   specs:
-    jekyll (4.3.2)
+    jekyll (4.4.1)
       addressable (~> 2.4)
+      base64 (~> 0.2)
       colorator (~> 1.0)
+      csv (~> 3.0)
       em-websocket (~> 0.5)
       i18n (~> 1.0)
       jekyll-sass-converter (>= 2.0, < 4.0)
       jekyll-watch (~> 2.0)
+      json (~> 2.6)
       kramdown (~> 2.3, >= 2.3.1)
       kramdown-parser-gfm (~> 1.0)
       liquid (~> 4.0)
-      mercenary (>= 0.3.6, < 0.5)
+      mercenary (~> 0.3, >= 0.3.6)
       pathutil (~> 0.9)
       rouge (>= 3.0, < 5.0)
       safe_yaml (~> 1.0)
@@ -22,33 +25,41 @@ GIT
 GEM
   remote: https://rubygems.org/
   specs:
-    addressable (2.8.4)
-      public_suffix (>= 2.0.2, < 6.0)
+    addressable (2.8.7)
+      public_suffix (>= 2.0.2, < 7.0)
     algolia_html_extractor (2.6.4)
       json (~> 2.0)
       nokogiri (~> 1.10)
     algoliasearch (1.27.5)
       httpclient (~> 2.8, >= 2.8.3)
       json (>= 1.5.1)
+    base64 (0.2.0)
+    bigdecimal (3.1.9)
     colorator (1.1.0)
-    commonmarker (0.23.9)
-    concurrent-ruby (1.2.2)
+    commonmarker (0.23.11)
+    concurrent-ruby (1.3.5)
+    csv (3.3.3)
     dotenv (2.8.1)
     em-websocket (0.5.3)
       eventmachine (>= 0.12.9)
       http_parser.rb (~> 0)
     eventmachine (1.2.7)
-    faraday (2.7.5)
-      faraday-net_http (>= 2.0, < 3.1)
-      ruby2_keywords (>= 0.0.4)
-    faraday-net_http (3.0.2)
-    ffi (1.15.5)
+    faraday (2.12.2)
+      faraday-net_http (>= 2.0, < 3.5)
+      json
+      logger
+    faraday-net_http (3.4.0)
+      net-http (>= 0.5.0)
+    ffi (1.17.1-x86_64-darwin)
     filesize (0.2.0)
     forwardable-extended (2.6.0)
-    google-protobuf (3.23.2-x86_64-darwin)
+    google-protobuf (4.30.2-x86_64-darwin)
+      bigdecimal
+      rake (>= 13)
     http_parser.rb (0.8.0)
-    httpclient (2.8.3)
-    i18n (1.13.0)
+    httpclient (2.9.0)
+      mutex_m
+    i18n (1.14.7)
       concurrent-ruby (~> 1.0)
     jekyll-algolia (1.7.1)
       algolia_html_extractor (~> 2.6)
@@ -66,62 +77,62 @@ GEM
       jekyll (~> 4)
     jekyll-include-cache (0.2.1)
       jekyll (>= 3.7, < 5.0)
-    jekyll-last-modified-at (1.3.0)
+    jekyll-last-modified-at (1.3.2)
       jekyll (>= 3.7, < 5.0)
-      posix-spawn (~> 0.3.9)
     jekyll-redirect-from (0.16.0)
       jekyll (>= 3.3, < 5.0)
-    jekyll-sass-converter (3.0.0)
-      sass-embedded (~> 1.54)
+    jekyll-sass-converter (3.1.0)
+      sass-embedded (~> 1.75)
     jekyll-sitemap (1.4.0)
       jekyll (>= 3.7, < 5.0)
     jekyll-watch (2.2.1)
       listen (~> 3.0)
-    json (2.6.3)
-    kramdown (2.4.0)
-      rexml
+    json (2.10.2)
+    kramdown (2.5.1)
+      rexml (>= 3.3.9)
     kramdown-parser-gfm (1.1.0)
       kramdown (~> 2.0)
     liquid (4.0.4)
-    listen (3.8.0)
+    listen (3.9.0)
       rb-fsevent (~> 0.10, >= 0.10.3)
       rb-inotify (~> 0.9, >= 0.9.10)
+    logger (1.6.6)
     mercenary (0.4.0)
-    nokogiri (1.15.2-x86_64-darwin)
+    mutex_m (0.3.0)
+    net-http (0.6.0)
+      uri
+    nokogiri (1.18.6-x86_64-darwin)
       racc (~> 1.4)
     pathutil (0.16.2)
       forwardable-extended (~> 2.6)
-    posix-spawn (0.3.15)
     premonition (2.0.1)
     progressbar (1.13.0)
-    public_suffix (5.0.1)
-    racc (1.6.2)
-    rake (13.0.6)
+    public_suffix (6.0.1)
+    racc (1.8.1)
+    rake (13.2.1)
     rb-fsevent (0.11.2)
-    rb-inotify (0.10.1)
+    rb-inotify (0.11.1)
       ffi (~> 1.0)
-    rexml (3.2.5)
-    rouge (4.1.2)
-    ruby2_keywords (0.0.5)
+    rexml (3.4.1)
+    rouge (4.5.1)
     safe_yaml (1.0.5)
-    sass-embedded (1.62.1-x86_64-darwin)
-      google-protobuf (~> 3.21)
+    sass-embedded (1.86.0-x86_64-darwin)
+      google-protobuf (~> 4.30)
     terminal-table (3.0.2)
       unicode-display_width (>= 1.1.1, < 3)
     thread_safe (0.3.6)
     tzinfo (1.2.11)
       thread_safe (~> 0.1)
-    tzinfo-data (1.2023.3)
+    tzinfo-data (1.2025.2)
       tzinfo (>= 1.0.0)
-    unicode-display_width (2.4.2)
+    unicode-display_width (2.6.0)
+    uri (1.0.3)
     verbal_expressions (0.1.5)
     wdm (0.1.1)
-    webrick (1.8.1)
+    webrick (1.9.1)
 
 PLATFORMS
-  ruby
-  x86_64-darwin-19
-  x86_64-darwin-20
+  x86_64-darwin-23
 
 DEPENDENCIES
   dotenv
@@ -141,4 +152,4 @@ DEPENDENCIES
   wdm (~> 0.1.0)
 
 BUNDLED WITH
-   2.2.18
+   2.3.26
diff --git a/netlify.toml b/netlify.toml
index 76d7ade33b..4b515ded40 100644
--- a/netlify.toml
+++ b/netlify.toml
@@ -4,6 +4,9 @@
   # then runs the standard build command. See package.json for more details 
   # about the available build targets (develop, develop-inc, build)
   command = "jekyll algolia && yarn build"
+  
+  [build.environment]
+    RUBY_VERSION = "3.1.4"
 
 [context.deploy-preview]
   # For deploy previews, use the testing Jekyll environment, the develop build target calls