diff --git a/contributing/adding-page-components.md b/contributing/adding-page-components.md
index 68294e7d149..7a92d627995 100644
--- a/contributing/adding-page-components.md
+++ b/contributing/adding-page-components.md
@@ -4,7 +4,7 @@ You can use the following components to provide code snippets for each supported
 
 Identify code by labeling with the warehouse names:
 
-```code
+```sql
         <WHCode>
 
         <div warehouse="warehouse#1">
@@ -32,7 +32,7 @@ You can use the following components to provide code snippets in a tabbed view.
 
 Identify code and code files by labeling with the component they are describing:
 
-```code
+```sql
         <Tabs
         defaultValue="models"
         values={[
@@ -91,11 +91,11 @@ Identify code and code files by labeling with the component they are describing:
 
 ### Link to tabbed content
 
-You can use the [queryString](https://docusaurus.io/docs/next/markdown-features/tabs?current-os=ios#query-string) prop in the `<Tabs>` tag. This allows you to share a link to a page with a pre-selected tab so that clicking on a tab creates a unique hyperlink for that tab. However, this feature doesn't provide an anchor link, which means the browser won't scroll to the tab. Additionally, you can define the search parameter name to use. If the tabs content is under a header, you can alternatively link to the header itself, instaed of the `queryString` prop.
+You can use the [queryString](https://docusaurus.io/docs/next/markdown-features/tabs?current-os=ios#query-string) prop in the `<Tabs>` tag. This allows you to share a link to a page with a pre-selected tab so that clicking on a tab creates a unique hyperlink for that tab. However, this feature doesn't provide an anchor link, which means the browser won't scroll to the tab. Additionally, you can define the search parameter name to use. If the tabs content is under a header, you can alternatively link to the header itself, instead of the `queryString` prop.
 
 In the following example, clicking a tab adds a search parameter to the end of the URL: `?current-os=android or ?current-os=ios`.
 
-```
+```sql
 <Tabs queryString="current-os">
   <TabItem value="android" label="Android">
     Android
@@ -105,3 +105,48 @@ In the following example, clicking a tab adds a search parameter to the end of t
   </TabItem>
 </Tabs>
 ```
+
+## Markdown Links
+
+Refer to the <a href="https://github.com/dbt-labs/docs.getdbt.com/blob/current/contributing/content-style-guide.md#Links" target="_blank" rel="noreferrer">Links section</a> of the Content Style Guide to read about how you can use links in the dbt product documentation.
+
+## Collapsible header
+
+<Collapsible header="The header info">
+    <div>
+        <p>Shows and hides children elements</p>
+    </div>
+</Collapsible>
+
+```markdown
+<Collapsible header="The header info">
+<div>
+<p>Shows and hides children elements</p>
+</div>
+</Collapsible>
+</div>
+```
+
+## File component
+
+```yml
+<File name="~/.dbt/profiles.yml">
+
+```yaml
+password: hunter2
+```
+</File>
+```
+
+## LoomVideo component
+ 
+<pre>{`<LoomVideo id="09919ddb02e44015878c9e93e15fe792" />`}</pre>
+
+<LoomVideo id="09919ddb02e44015878c9e93e15fe792" />
+
+## YoutubeVideo component
+
+<pre>{`<YoutubeVideo id="5yyGT1k2xzY" />`}</pre>
+
+<YoutubeVideo id="5yyGT1k2xzY" />
+
diff --git a/website/docs/docs/build/incremental-microbatch.md b/website/docs/docs/build/incremental-microbatch.md
index 18122af4b7b..38e0edddfd6 100644
--- a/website/docs/docs/build/incremental-microbatch.md
+++ b/website/docs/docs/build/incremental-microbatch.md
@@ -12,6 +12,8 @@ The `microbatch` strategy is available in beta for [dbt Cloud Versionless](/docs
 
 Read and participate in the discussion: [dbt-core#10672](https://github.com/dbt-labs/dbt-core/discussions/10672)
 
+Refer to [Supported incremental strategies by adapter](/docs/build/incremental-strategy#supported-incremental-strategies-by-adapter) for a list of supported adapters. 
+
 :::
 
 ## What is "microbatch" in dbt?
diff --git a/website/docs/docs/build/incremental-models.md b/website/docs/docs/build/incremental-models.md
index c48030cc32d..2968496290a 100644
--- a/website/docs/docs/build/incremental-models.md
+++ b/website/docs/docs/build/incremental-models.md
@@ -94,7 +94,7 @@ Not specifying a `unique_key` will result in append-only behavior, which means d
 
 The optional `unique_key` parameter specifies a field (or combination of fields) that defines the grain of your model. That is, the field(s) identify a single unique row. You can define `unique_key` in a configuration block at the top of your model, and it can be a single column name or a list of column names.
 
-The `unique_key` should be supplied in your model definition as a string representing a single column or a list of single-quoted column names that can be used together, for example, `['col1', 'col2', …])`. Columns used in this way should not contain any nulls, or the incremental model run may fail. Either ensure that each column has no nulls (for example with `coalesce(COLUMN_NAME, 'VALUE_IF_NULL')`), or define a single-column [surrogate key](https://www.getdbt.com/blog/guide-to-surrogate-key) (for example with [`dbt_utils.generate_surrogate_key`](https://github.com/dbt-labs/dbt-utils#generate_surrogate_key-source)).
+The `unique_key` should be supplied in your model definition as a string representing a single column or a list of single-quoted column names that can be used together, for example, `['col1', 'col2', …])`. Columns used in this way should not contain any nulls, or the incremental model may fail to match rows and generate duplicate rows. Either ensure that each column has no nulls (for example with `coalesce(COLUMN_NAME, 'VALUE_IF_NULL')`) or define a single-column [surrogate key](https://www.getdbt.com/blog/guide-to-surrogate-key) (for example with [`dbt_utils.generate_surrogate_key`](https://github.com/dbt-labs/dbt-utils#generate_surrogate_key-source)).
 
 :::tip
 In cases where you need multiple columns in combination to uniquely identify each row, we recommend you pass these columns as a list (`unique_key = ['user_id', 'session_number']`), rather than a string expression (`unique_key = 'concat(user_id, session_number)'`).
diff --git a/website/docs/docs/deploy/ci-jobs.md b/website/docs/docs/deploy/ci-jobs.md
index cd04d1f4035..0bdf9e711f5 100644
--- a/website/docs/docs/deploy/ci-jobs.md
+++ b/website/docs/docs/deploy/ci-jobs.md
@@ -14,7 +14,7 @@ dbt Labs recommends that you create your CI job in a dedicated dbt Cloud [deploy
 - You have a dbt Cloud account. 
 - CI features:
    - For both the [concurrent CI checks](/docs/deploy/continuous-integration#concurrent-ci-checks) and [smart cancellation of stale builds](/docs/deploy/continuous-integration#smart-cancellation) features, your dbt Cloud account must be on the [Team or Enterprise plan](https://www.getdbt.com/pricing/).
-   - The [SQL linting](/docs/deploy/continuous-integration#sql-linting) feature is currently available in beta to a limited group of users and is gradually being rolled out. If you're in the beta, the **Linting** option is available for use. 
+   - The [SQL linting](/docs/deploy/continuous-integration#sql-linting) feature is currently available in [beta](/docs/dbt-versions/product-lifecycles#dbt-cloud) to a limited group of users and is gradually being rolled out. If you're in the beta, the **Linting** option is available for use. 
 - [Advanced CI](/docs/deploy/advanced-ci) features:
    - For the [compare changes](/docs/deploy/advanced-ci#compare-changes) feature, your dbt Cloud account must be on the [Enterprise plan](https://www.getdbt.com/pricing/) and have enabled Advanced CI features. Please ask your [dbt Cloud administrator to enable](/docs/cloud/account-settings#account-access-to-advanced-ci-features) this feauture for you. After enablement, the **Run compare changes** option becomes available in the CI job settings.
 - Set up a [connection with your Git provider](/docs/cloud/git/git-configuration-in-dbt-cloud). This integration lets dbt Cloud run jobs on your behalf for job triggering.
diff --git a/website/docs/docs/deploy/continuous-integration.md b/website/docs/docs/deploy/continuous-integration.md
index 2119724e609..c10cdfc9db1 100644
--- a/website/docs/docs/deploy/continuous-integration.md
+++ b/website/docs/docs/deploy/continuous-integration.md
@@ -58,8 +58,8 @@ CI runs don't consume run slots. This guarantees a CI check will never block a p
 
 ### SQL linting <Lifecycle status="beta" />
 
-When enabled for your CI job, dbt invokes [SQLFluff](https://sqlfluff.com/) which is a modular and configurable SQL linter that warns you of complex functions, syntax, formatting, and compilation errors. By default, it lints all the SQL files in your project. 
+When enabled for your CI job, dbt invokes [SQLFluff](https://sqlfluff.com/) which is a modular and configurable SQL linter that warns you of complex functions, syntax, formatting, and compilation errors. By default, it lints all the changed SQL files in your project (compared to the last deferred production state). 
 
 If the linter runs into errors, you can specify whether dbt should fail the job or continue running it. When failing jobs, it helps reduce compute costs by avoiding builds for pull requests that don't meet your SQL code quality CI check. 
 
-To override the default linting behavior, create an `.sqlfluff` config file in your project and add your linting rules to it. dbt Cloud will use the rules defined in the config file when linting. For details about linting rules, refer to [Custom Usage](https://docs.sqlfluff.com/en/stable/gettingstarted.html#custom-usage) in the SQLFluff documentation.
+You can use [SQLFluff Configuration Files](https://docs.sqlfluff.com/en/stable/configuration/setting_configuration.html#configuration-files) to override the default linting behavior in dbt. Create an `.sqlfluff` configuration file in your project, add your linting rules to it, and dbt Cloud will use them when linting. For complete details, refer to [Custom Usage](https://docs.sqlfluff.com/en/stable/gettingstarted.html#custom-usage) in the SQLFluff documentation. 
diff --git a/website/docs/reference/commands/build.md b/website/docs/reference/commands/build.md
index c7ac29862c2..9f8e83d2abd 100644
--- a/website/docs/reference/commands/build.md
+++ b/website/docs/reference/commands/build.md
@@ -31,32 +31,9 @@ In DAG order, for selected resources or an entire project.
 
 The `build` command supports the `--empty` flag for building schema-only dry runs. The `--empty` flag limits the refs and sources to zero rows. dbt will still execute the model SQL against the target data warehouse but will avoid expensive reads of input data. This validates dependencies and ensures your models will build properly.
 
-#### SQL compilation error when running the `--empty` flag on a model
-
-If you encounter the error: `SQL compilation error: syntax error line 1 at position 21 unexpected '('.` when running a model with the `--empty` flag, explicitly call the `.render()` method on that relation.
-
-
-<File name='models.sql'>
-
-```Jinja
-
--- models/staging/stg_sys__customers.sql
-{{ config(
-    pre_hook = [
-        "alter external table {{ source('sys', 'customers').render() }} refresh"
-    ]
-) }}
-
-with cus as (
-    select * from {{ source("sys", "customers") }} -- leave this as is!
-)
-
-select * from cus
-
-```
-
-</File>
+import SQLCompilationError from '/snippets/_render-method.md';
 
+<SQLCompilationError />
 
 ## Tests
 
diff --git a/website/docs/reference/global-configs/behavior-changes.md b/website/docs/reference/global-configs/behavior-changes.md
index d35b83765e3..ae109b8f7c7 100644
--- a/website/docs/reference/global-configs/behavior-changes.md
+++ b/website/docs/reference/global-configs/behavior-changes.md
@@ -60,7 +60,7 @@ flags:
 
 </File>
 
-When we use dbt Cloud in the following table, we're referring to accounts that have gone "[Versionless](/docs/dbt-versions/upgrade-dbt-version-in-cloud#versionless)."
+When we use dbt Cloud in the following table, we're referring to accounts that have gone "[Versionless](/docs/dbt-versions/upgrade-dbt-version-in-cloud#versionless)." This table outlines which version of dbt Core contains the behavior change or the date the behavior change was added to dbt Cloud.
 
 | Flag                                                            | dbt Cloud: Intro | dbt Cloud: Maturity | dbt Core: Intro | dbt Core: Maturity | 
 |-----------------------------------------------------------------|------------------|---------------------|-----------------|--------------------|
diff --git a/website/docs/reference/resource-configs/pre-hook-post-hook.md b/website/docs/reference/resource-configs/pre-hook-post-hook.md
index ce818768134..bd01a7be840 100644
--- a/website/docs/reference/resource-configs/pre-hook-post-hook.md
+++ b/website/docs/reference/resource-configs/pre-hook-post-hook.md
@@ -154,6 +154,10 @@ Pre- and post-hooks can also call macros that return SQL statements. If your mac
 
 dbt aims to provide all the boilerplate SQL you need (DDL, DML, and DCL) via out-of-the-box functionality, which you can configure quickly and concisely. In some cases, there may be SQL that you want or need to run, specific to functionality in your data platform, which dbt does not (yet) offer as a built-in feature. In those cases, you can write the exact SQL you need, using dbt's compilation context, and pass it into a `pre-` or `post-` hook to run before or after your model, seed, or snapshot.
 
+import SQLCompilationError from '/snippets/_render-method.md';
+
+<SQLCompilationError />
+
 ## Examples
 
 <Snippet path="hooks-to-grants" />
diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js
index f43420eb11f..b68e2e8ec5c 100644
--- a/website/docusaurus.config.js
+++ b/website/docusaurus.config.js
@@ -205,6 +205,7 @@ var siteSettings = {
             src="https://solve-widget.forethought.ai/embed.js" id="forethought-widget-embed-script" data-api-key="9d421bf3-96b8-403e-9900-6fb059132264" 
             data-ft-workflow-tag="docs" 
             config-ft-greeting-message="Welcome to dbt Product docs! Ask a question."
+            config-ft-widget-header-title = "Ask a question"
           ></script>
 
           <div class='footer__items'>
diff --git a/website/snippets/_render-method.md b/website/snippets/_render-method.md
new file mode 100644
index 00000000000..00407a20251
--- /dev/null
+++ b/website/snippets/_render-method.md
@@ -0,0 +1,17 @@
+#### The render method
+
+The `.render()` method is generally used to resolve or evaluate Jinja expressions (such as `{{ source(...) }}`) during runtime. 
+
+When using the `--empty flag`, dbt may skip processing `ref()` or `source()` for optimization. To avoid compilation errors and to explicitly tell dbt to process a specific relation (`ref()` or `source()`), use the `.render()` method in your model file. For example:
+
+
+<File name='models.sql'>
+
+```Jinja
+{{ config(
+    pre_hook = [
+        "alter external table {{ source('sys', 'customers').render() }} refresh"
+    ]
+```
+
+</File>
diff --git a/website/src/pages/styles.js b/website/src/pages/styles.js
deleted file mode 100644
index 23d13d10813..00000000000
--- a/website/src/pages/styles.js
+++ /dev/null
@@ -1,176 +0,0 @@
-
-import React from 'react';
-import Layout from '@theme/Layout';
-import CodeBlock from '@theme/CodeBlock';
-import Changelog from '@site/src/components/changelog';
-import CloudCore from '@site/src/components/cloudcore';
-import Collapsible from '@site/src/components/collapsible';
-import FAQ from '@site/src/components/faqs';
-import File from '@site/src/components/file';
-import Lightbox from '@site/src/components/lightbox';
-import LoomVideo from '@site/src/components/loom';
-import Tabs from '@theme/Tabs';
-import TabItem from '@theme/TabItem';
-import YoutubeVideo from '@site/src/components/youtube';
-
-function Styles() {
-  return (
-    <Layout permalink="/">
-        <div className="container">
-            <div className='section' style={{marginTop: '40px'}}>
-                <p>
-                The following components are baked into the Markdown compilation context,
-                so there is no need to import them from Markdown files. Simply add the components
-                inline to use them.
-                </p>
-            </div>
-            <div className='section' style={{marginTop: '40px'}}>
-                <h1>Changelog</h1>
-<pre>{`<Changelog>
-    <p>This functionality has changed in dbt v0.16.0</p>
-</Changelog>
-`}</pre>
-                <Changelog>This functionality has changed in dbt v0.16.0</Changelog>
-            </div>
-            <div className='section' style={{marginTop: '40px'}}>
-                <h1>CloudCore</h1>
-<pre>{`<CloudCore>
-    <div>
-        <p>The first div contains Cloud info</p>
-    </div>
-    <div>
-        <p>The second div contains Core info</p>
-    </div>
-</CloudCore>
-`}</pre>
-                <CloudCore>
-                    <div>
-                        <p>The first div contains Cloud info</p>
-                    </div>
-                    <div>
-                        <p>The second div contains Core info</p>
-                    </div>
-                </CloudCore>
-            </div>
-            <div className='section' style={{marginTop: '40px'}}>
-                <h1>Collapsible</h1>
-<pre>{`<Collapsible header="The header info">
-    <div>
-        <p>Shows and hides children elements</p>
-    </div>
-</Collapsible>
-`}</pre>
-                <Collapsible header="The header info">
-                    <div>
-                        <p>Shows and hides children elements</p>
-                    </div>
-                </Collapsible>
-            </div>
-            <div className='section' style={{marginTop: '40px'}}>
-                <h1>FAQList</h1>
-<pre>{`<FAQList />`}</pre>
-                    <p>(Not shown)</p>
-            </div>
-
-            <div className='section' style={{marginTop: '40px'}}>
-                <h1>FAQ</h1>
-<pre>{`<FAQ path='Troubleshooting/sql-errors' alt_header="a header" />`}</pre>
-                <FAQ path='Troubleshooting/sql-errors' />
-                <FAQ path='Troubleshooting/sql-errors' alt_header="an overriden header" />
-            </div>
-
-            <div className='section' style={{marginTop: '40px'}}>
-                <h1>File</h1>
-<pre>{`<File name="~/.dbt/profiles.yml">
-
-\`\`\`yml
-password: hunter2
-\`\`\`
-
-
-</File>
-`}</pre>
-                <File name="~/.dbt/profiles.yml">
-                    <pre>
-                        password: hunter2
-                    </pre>
-                </File>
-            </div>
-
-            <div className='section' style={{marginTop: '40px'}}>
-                <h1>Lightbox</h1>
-                <pre>{`<Lightbox src="/img/dbt-logo.svg" title="The dbt logo" />`}</pre>
-                <Lightbox src="/img/dbt-logo.svg" title="The dbt logo" />
-            </div>
-
-            <div className='section' style={{marginTop: '40px'}}>
-                <h1>Markdown Links</h1>
-                  Refer to the <a href="https://github.com/dbt-labs/docs.getdbt.com/blob/current/contributing/content-style-guide.md#Links" target="_blank" rel="noreferrer">Links section</a> of the Content Style Guide to read about how you can use links in the dbt product documentation.
-            </div>
-
-            <div className='section' style={{marginTop: '40px'}}>
-                <h1>LoomVideo</h1>
-                <pre>{`<LoomVideo id="09919ddb02e44015878c9e93e15fe792" />`}</pre>
-                <LoomVideo id="09919ddb02e44015878c9e93e15fe792" />
-            </div>
-
-            <div className='section' style={{marginTop: '40px'}}>
-            <h1>Tabs</h1>
-<pre>{`
-<Tabs
-  defaultValue="default"
-  values={[
-    { label: 'Default', value: 'default', },
-    { label: 'Snowflake', value: 'snowflake', },
-  ]
-}>
-<TabItem value="default">
-
-\`\`\`sql
-select id from customers
-\`\`\`
-
-</TabItem>
-<TabItem value="snowflake">
-
-\`\`\`sql
-select "ID" from customers
-\`\`\`
-
-</TabItem>
-</Tabs>
-`}</pre>
-<Tabs
-  defaultValue="default"
-  values={[
-    { label: 'Default', value: 'default', },
-    { label: 'Snowflake', value: 'snowflake', },
-  ]
-}>
-<TabItem value="default">
-
-<pre>
-select id from customers
-</pre>
-
-</TabItem>
-<TabItem value="snowflake">
-
-<pre>
-select "ID" from customers
-</pre>
-
-</TabItem>
-</Tabs>
-</div>
-        <div className='section' style={{marginTop: '40px'}}>
-                <h1>YoutubeVideo</h1>
-                <pre>{`<YoutubeVideo id="5yyGT1k2xzY" />`}</pre>
-                <YoutubeVideo id="5yyGT1k2xzY" />
-            </div>
-        </div>
-    </Layout>
-  );
-}
-
-export default Styles;
diff --git a/website/vercel.json b/website/vercel.json
index 0674313f3f5..74f0eeff65b 100644
--- a/website/vercel.json
+++ b/website/vercel.json
@@ -2,6 +2,11 @@
   "cleanUrls": true,
   "trailingSlash": false,
   "redirects": [
+    {
+      "source": "/styles",
+      "destination": "https://github.com/dbt-labs/docs.getdbt.com/blob/current/contributing/adding-page-components.md",
+      "permanent": true
+    },
     {
       "source": "/docs/dbt-cloud-apis/sl-manifest",
       "destination": "/reference/artifacts/sl-manifest",