<div class="home-hero-media" aria-hidden="true">
<svg viewBox="0 0 780 470" role="img" aria-label="Wallarm AI Control Platform continuous loop: APIs, AI agents and cloud estate feed into Discover, Observe, Enforce and Govern.">
  <g class="aicp-chips">
    <rect class="aicp-chip" x="20" y="104" width="176" height="40"/>
    <circle cx="44" cy="124" r="5" fill="#155DFC"/>
    <text class="aicp-chip-label" x="62" y="128">APIs</text>
    <rect class="aicp-chip" x="20" y="210" width="176" height="40"/>
    <circle cx="44" cy="230" r="5" fill="#9747FF"/>
    <text class="aicp-chip-label" x="62" y="234">AI agents</text>
    <rect class="aicp-chip" x="20" y="316" width="176" height="40"/>
    <circle cx="44" cy="336" r="5" fill="#00A63E"/>
    <text class="aicp-chip-label" x="62" y="340">Cloud estate</text>
  </g>
  <path class="aicp-conn" d="M196,124 C270,124 300,230 350,230"/>
  <path class="aicp-conn" d="M196,230 C260,230 300,230 336,230"/>
  <path class="aicp-conn" d="M196,336 C270,336 300,230 350,230"/>
  <circle class="aicp-ring" cx="500" cy="230" r="150"/>
  <circle class="aicp-inner" cx="500" cy="230" r="82"/>
  <text class="aicp-core-brand" x="500" y="222" text-anchor="middle">WALLARM</text>
  <text class="aicp-core-sub" x="500" y="240" text-anchor="middle">AI Control</text>
  <text class="aicp-core-sub" x="500" y="253" text-anchor="middle">Platform</text>
  <circle class="aicp-node n1" cx="500" cy="80" r="15"/>
  <circle class="aicp-node-dot d1" cx="500" cy="80" r="5"/>
  <text class="aicp-label" x="500" y="46" text-anchor="middle">Discover</text>
  <circle class="aicp-node n2" cx="650" cy="230" r="15"/>
  <circle class="aicp-node-dot d2" cx="650" cy="230" r="5"/>
  <text class="aicp-label" x="678" y="234" text-anchor="start">Observe</text>
  <circle class="aicp-node n3" cx="500" cy="380" r="15"/>
  <circle class="aicp-node-dot d3" cx="500" cy="380" r="5"/>
  <text class="aicp-label" x="500" y="416" text-anchor="middle">Enforce</text>
  <circle class="aicp-node n4" cx="350" cy="230" r="15"/>
  <circle class="aicp-node-dot d4" cx="350" cy="230" r="5"/>
  <text class="aicp-label" x="322" y="234" text-anchor="end">Govern</text>
  <g class="aicp-orbit">
    <circle class="aicp-orbit-dot" cx="500" cy="80" r="6"/>
  </g>
</svg>
</div>

<div class="home-verpick" id="homeVerpick">
<button type="button" id="homeVerMain" class="versions-main ver-pill" aria-expanded="false" aria-haspopup="true" aria-controls="homeVerList">
<span class="v-label">Version</span>
<span class="v-val">6.x · 0.14.x+</span>
<svg class="versions-drop" width="16" height="16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" stroke-width="2.25" fill="none"><path d="M8 10.5L12 14.5L16 10.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path></svg>
</button>
<div class="versions-list ver-menu" id="homeVerList" hidden>
<div class="vm-head">Documentation version</div>
<a class="vm-item" data-ver="6.x" href="https://docs.wallarm.com.md"><span class="vm-v">6.x · 0.14.x+</span><span class="vm-tag current">Current</span><svg class="vm-check" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg></a>
<a class="vm-item" data-ver="7.x" href="https://docs.wallarm.com/7.x.md"><span class="vm-v">7.x · 0.26.x+</span><span class="vm-tag preview">Preview</span><svg class="vm-check" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg></a>
<a class="vm-item" data-ver="5.x" href="https://docs.wallarm.com/5.x.md"><span class="vm-v">5.x · 0.13.x-</span><span class="vm-tag legacy">Legacy</span><svg class="vm-check" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg></a>
<a class="vm-item" data-ver="4.10" href="https://docs.wallarm.com/4.10.md"><span class="vm-v">4.10</span><span class="vm-tag eol">End of life</span><svg class="vm-check" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg></a>
<hr>
<a class="vm-foot" data-ver-policy href="https://docs.wallarm.com/updating-migrating/versioning-policy.md"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 3h6v6"/><path d="M10 14 21 3"/><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/></svg>Version support policy</a>
</div>
</div>

<style>
/* Home-page Node version picker. Nav (with its version selector) is hidden on
   the home page, so this exposes the SAME selector in the hero. It reuses the
   article selector's classes (.ver-pill / .ver-menu / .vm-*) for an identical
   look; only the positioning is overridden here (open downward under the pill,
   instead of upward at the sidebar foot). */
.home-verpick { position: relative; display: inline-flex; margin: 0 0 18px; }

/* Anchor the dropdown below the pill and beat the sidebar's upward-open rule. */
.home-verpick .versions-list.ver-menu {
  top: calc(100% + 6px);
  bottom: auto;
  left: 0;
  right: auto;
  margin: 0;
  min-width: 260px;
  z-index: 30;
}
.home-verpick .versions-list.ver-menu[hidden] { display: none; }

/* The picker sits inside .md-typeset on the home page, so the content-link
   styles (.homepage .md-typeset a / :hover) leak in — black text, Signal-Red
   hover, underline. Neutralize them so hovers and text colors match the
   in-article selector exactly. */
.home-verpick .ver-menu .vm-item,
.home-verpick .ver-menu .vm-foot { text-decoration: none; transition: none; }
.home-verpick .ver-menu .vm-foot { color: var(--w-core-blue); }
.home-verpick .ver-menu .vm-item:hover {
  color: inherit;
  text-decoration: none;
  background: #F8FAFC;
}
.home-verpick .ver-menu .vm-foot:hover {
  color: var(--w-core-blue);
  text-decoration: underline;
}
</style>

<script>
(function () {
  var VAL = { "6.x": "6.x · 0.14.x+", "7.x": "7.x · 0.26.x+", "5.x": "5.x · 0.13.x-", "4.10": "4.10" };

  function initHomeVerpick() {
    var root = document.getElementById("homeVerpick");
    if (!root || root.dataset.hooked) return;
    root.dataset.hooked = "1";

    var btn = document.getElementById("homeVerMain");
    var menu = document.getElementById("homeVerList");
    var val = root.querySelector(".v-val");

    // Detect current version from the URL (matches extra.js version segments).
    var p = location.pathname;
    var cur = "6.x";
    if (/^\/7\.x(\/|$)/.test(p)) cur = "7.x";
    else if (/^\/5\.x(\/|$)/.test(p)) cur = "5.x";
    else if (/^\/4\.10(\/|$)/.test(p)) cur = "4.10";

    if (val) val.textContent = VAL[cur];

    var items = root.querySelectorAll(".vm-item");
    for (var i = 0; i < items.length; i++) {
      items[i].classList.toggle("active", items[i].getAttribute("data-ver") === cur);
    }

    // Version support policy link honors the current version prefix.
    var foot = root.querySelector("[data-ver-policy]");
    if (foot) {
      foot.setAttribute("href", cur === "6.x"
        ? "/updating-migrating/versioning-policy/"
        : "/" + cur + "/updating-migrating/versioning-policy/");
    }

    function open() {
      menu.hidden = false;
      btn.setAttribute("aria-expanded", "true");
      btn.classList.add("versions-main-active");
    }
    function close() {
      menu.hidden = true;
      btn.setAttribute("aria-expanded", "false");
      btn.classList.remove("versions-main-active");
    }

    btn.addEventListener("click", function (e) {
      e.preventDefault();
      if (menu.hidden) open(); else close();
    });
    document.addEventListener("click", function (e) {
      if (!root.contains(e.target)) close();
    });
    document.addEventListener("keydown", function (e) {
      if (e.key === "Escape") close();
    });
  }

  if (window.document$ && typeof window.document$.subscribe === "function") {
    window.document$.subscribe(initHomeVerpick);
  } else {
    document.addEventListener("DOMContentLoaded", initHomeVerpick);
    document.addEventListener("navigation:load", initHomeVerpick);
  }
})();
</script>

# Wallarm Documentation

Wallarm AI Control Platform — discover, observe, enforce, and govern AI workloads and APIs across your environment.

<div class="homepage-actions">
  
  <div id="homepage-search-mount"></div>

</div>


<div class="home-section-label">Explore by area</div>
<div class="navigation navigation-4col">

  <div class="navigation-card homepage-intro">
    <h3 class="icon-homepage quick-start-title"><a href="https://docs.wallarm.com/about-wallarm/overview.md">Introduction <span class="card-arrow">→</span></a></h3>
    <p class="card-description">Get started with the Wallarm platform and learn the fundamentals.</p>
    <p><ul>
      <li><a href="https://docs.wallarm.com/about-wallarm/overview.md">Platform Overview</a></li>
      <li><a href="https://docs.wallarm.com/quickstart/getting-started.md">Quick Start</a></li>
      <li><a href="https://docs.wallarm.com/demo-videos/platform-overview.md">Video Guides</a></li>
    </ul></p>
  </div>

  <div class="navigation-card">
    <h3 class="icon-homepage api-threat-prevent"><a href="https://docs.wallarm.com/about-wallarm/api-security-overview.md">API Security <span class="card-arrow">→</span></a></h3>
    <p class="card-description">Discover and protect your APIs against the OWASP API Top 10, abuse, account takeover, and AI-targeted attacks.</p>
    <p><ul>
      <li><a href="https://docs.wallarm.com/api-discovery/overview.md">API Discovery</a></li>
      <li><a href="https://docs.wallarm.com/about-wallarm/api-protection-overview.md">API Protection</a></li>
      <li><a href="https://docs.wallarm.com/agentic-ai/agentic-ai-protection.md">AI Agent Protection</a></li>
      <li><a href="https://docs.wallarm.com/api-sessions/overview.md">API Sessions</a></li>
      <li><a href="https://docs.wallarm.com/about-wallarm/waap-overview.md">Threat Protection (WAAP)</a></li>
    </ul></p>
  </div>

  <div class="navigation-card">
    <h3 class="icon-homepage deployment-title"><a href="https://docs.wallarm.com/installation/supported-deployment-options.md">Deployment <span class="card-arrow">→</span></a></h3>
    <p class="card-description">Deploy Wallarm Node for API Security using managed, self-hosted, or connector-based options.</p>
    <p><ul>
      <li><a href="https://docs.wallarm.com/installation/supported-deployment-options.md">All deployment options</a></li>
      <li><a href="https://docs.wallarm.com/installation/security-edge/overview.md">Security Edge (Managed)</a></li>
      <li><a href="https://docs.wallarm.com/installation/supported-deployment-options.md#kubernetes">Kubernetes</a></li>
      <li><a href="https://docs.wallarm.com/installation/supported-deployment-options.md#cloud-platforms">Cloud Platforms</a></li>
      <li><a href="https://docs.wallarm.com/installation/supported-deployment-options.md#api-gateways">API Gateways</a></li>
      <li><a href="https://docs.wallarm.com/installation/supported-deployment-options.md#cdn">CDN</a></li>
    </ul></p>
  </div>

  <div class="navigation-card">
    <h3 class="icon-homepage maintenance-title"><a href="https://docs.wallarm.com/maintenance/overview.md">Maintenance <span class="card-arrow">→</span></a></h3>
    <p class="card-description">Keep your Wallarm deployment healthy: nodes, monitoring, upgrades, and troubleshooting.</p>
    <p><ul>
      <li><a href="https://docs.wallarm.com/maintenance/overview.md">Overview</a></li>
      <li><a href="https://docs.wallarm.com/user-guides/nodes/nodes.md">Nodes & Infrastructure</a></li>
      <li><a href="https://docs.wallarm.com/admin-en/nginx-node-metrics.md">Monitoring & Metrics</a></li>
      <li><a href="https://docs.wallarm.com/updating-migrating/versioning-policy.md">Upgrades & Migration</a></li>
      <li><a href="https://docs.wallarm.com/troubleshooting/overview.md">Troubleshooting</a></li>
    </ul></p>
  </div>

  <div class="navigation-card">
    <h3 class="icon-homepage integration-title"><a href="https://docs.wallarm.com/user-guides/settings/integrations/integrations-intro.md">Integrations <span class="card-arrow">→</span></a></h3>
    <p class="card-description">Connect Wallarm with your existing security tools, SIEMs, and alerting systems.</p>
    <p><ul>
      <li><a href="https://docs.wallarm.com/user-guides/settings/integrations/email.md">Messaging & Alerts</a></li>
      <li><a href="https://docs.wallarm.com/user-guides/settings/integrations/pagerduty.md">Incident Management</a></li>
      <li><a href="https://docs.wallarm.com/user-guides/settings/integrations/splunk.md">SIEM & Analytics</a></li>
      <li><a href="https://docs.wallarm.com/user-guides/settings/integrations/fluentd.md">Log Collectors</a></li>
      <li><a href="https://docs.wallarm.com/user-guides/settings/integrations/amazon-s3.md">Cloud Storage</a></li>
      <li><a href="https://docs.wallarm.com/user-guides/settings/integrations/webhook.md">Webhooks</a></li>
    </ul></p>
  </div>

  <div class="navigation-card">
    <h3 class="icon-homepage platform-management-title"><a href="https://docs.wallarm.com/platform-management/overview.md">Wallarm Console <span class="card-arrow">→</span></a></h3>
    <p class="card-description">Monitor threats, configure alerts, and manage users and access in the unified web interface.</p>
    <p><ul>
      <li><a href="https://docs.wallarm.com/user-guides/events/overview.md">Monitoring & Events</a></li>
      <li><a href="https://docs.wallarm.com/user-guides/triggers/triggers.md">Triggers & Alerts</a></li>
      <li><a href="https://docs.wallarm.com/user-guides/search-and-filters/use-search.md">Search & Reports</a></li>
      <li><a href="https://docs.wallarm.com/user-guides/settings/users.md">Users & Access</a></li>
      <li><a href="https://docs.wallarm.com/troubleshooting/overview.md">Troubleshooting</a></li>
    </ul></p>
  </div>

  <div class="navigation-card">
    <h3 class="icon-homepage ai-hypervisor-title"><a href="https://docs.wallarm.com/ai-hypervisor/overview.md">AI Hypervisor <span class="card-arrow">→</span></a></h3>
    <p class="card-description">Runtime observability, enforcement, and governance for AI workloads on Amazon EKS.</p>
    <p><ul>
      <li><a href="https://docs.wallarm.com/ai-hypervisor/overview.md">Overview</a></li>
      <li><a href="https://docs.wallarm.com/ai-hypervisor/deploy.md">Scanner Installation</a></li>
      <li><a href="https://docs.wallarm.com/ai-hypervisor/findings.md">Findings & Risk Model</a></li>
      <li><a href="https://docs.wallarm.com/ai-hypervisor/findings.md">Enforcement</a></li>
    </ul></p>
  </div>

  <div class="navigation-card">
    <h3 class="icon-homepage infrastructure-discovery-title"><a href="https://docs.wallarm.com/infrastructure-discovery/overview.md">Infra Discovery <span class="card-arrow">→</span></a></h3>
    <p class="card-description">Cross-account AWS asset and shadow AI discovery on a single relationship graph.</p>
    <p><ul>
      <li><a href="https://docs.wallarm.com/infrastructure-discovery/overview.md">Overview</a></li>
      <li><a href="https://docs.wallarm.com/infrastructure-discovery/setup.md">Setup</a></li>
      <li><a href="https://docs.wallarm.com/infrastructure-discovery/exploring.md">Exploring Inventory</a></li>
    </ul></p>
  </div>

  <div class="navigation-card">
    <h3 class="icon-homepage api-security-testing"><a href="https://docs.wallarm.com/about-wallarm/detecting-vulnerabilities.md">API Security Testing <span class="card-arrow">→</span></a></h3>
    <p class="card-description">Find vulnerabilities before attackers do with automated security testing.</p>
    <p><ul>
      <li><a href="https://docs.wallarm.com/about-wallarm/detecting-vulnerabilities.md#passive-detection">Passive Detection</a></li>
      <li><a href="https://docs.wallarm.com/api-attack-surface/overview.md">Attack Surface (AASM)</a></li>
    </ul></p>
  </div>

  <div class="navigation-card">
    <h3 class="icon-homepage references-title"><a href="https://docs.wallarm.com/reference/overview.md">Reference <span class="card-arrow">→</span></a></h3>
    <p class="card-description">API reference, attack types, glossary, and platform policies.</p>
    <p><ul>
      <li><a href="https://docs.wallarm.com/api/overview.md">API Reference</a></li>
      <li><a href="https://docs.wallarm.com/attacks-vulns-list.md">Attack Types</a></li>
      <li><a href="https://docs.wallarm.com/about-wallarm/data-retention-policy.md">Data Retention Policy</a></li>
      <li><a href="https://docs.wallarm.com/reference/docs-mcp-server.md">Docs MCP Server</a></li>
    </ul></p>
  </div>

</div>

<script>
/**
 * Homepage search behavior (MkDocs Material):
 * - Desktop (>= 960px): move the built-in header search into #homepage-search-mount
 *   and render results as a dropdown under the input.
 * - Tablet/Mobile (< 960px): restore search back to the header and let MkDocs Material
 *   handle search normally (overlay, toggle, back arrow, etc).
 *
 * Fixes:
 * - Mobile search icon opening a blank screen (search was moved/hidden).
 * - Mobile search icon sometimes "jumping" to the middle of the page (toggle opens but UI isn't in header).
 */
(function () {
  var BREAKPOINT = 960; // >= 960px = desktop, <= 959px = tablet/mobile
  var mql = window.matchMedia("(min-width: " + BREAKPOINT + "px)");

  // Remember original DOM position so we can restore exactly
  var original = { parent: null, nextSibling: null };

  function isHomepage() {
    var p = window.location.pathname.replace(/\/+$/, "");
    if (p === "" || p.endsWith("/index.html") || p.endsWith("/index")) return true;
    // Single path segment = locale or version root (e.g. /ar, /ja, /6.x)
    return /^\/[^/]+$/.test(p);
  }

  function getSearchEl() {
    // Search root (same element used by MkDocs Material)
    return document.querySelector(".md-search[data-md-component='search']");
  }

  function getHeaderContainerFallback() {
    // Best-effort header container where search usually lives
    return (
      document.querySelector(".md-header .md-header__inner") ||
      document.querySelector(".md-header") ||
      document.body
    );
  }

  function closeMaterialSearchToggle() {
    // MkDocs Material uses this checkbox to toggle the search overlay on mobile
    var toggle = document.getElementById("__search");
    if (toggle) toggle.checked = false;
  }

  function resetHomepageSearchState(searchEl) {
    if (!searchEl) return;

    // Remove homepage-only classes so default CSS/JS applies
    searchEl.classList.remove("homepage-search", "homepage-search--open");

    // Remove inline styles we set for homepage dropdown behavior
    var output = searchEl.querySelector(".md-search__output");
    if (output) {
      output.style.display = "";
      output.style.pointerEvents = "";
    }

    // Ensure toggle is closed to avoid a half-open/empty overlay state on mobile
    closeMaterialSearchToggle();
  }

  function restoreSearchToHeader(searchEl) {
    if (!searchEl) return;

    // Restore to the exact original DOM location if we have it
    if (original.parent) {
      if (original.nextSibling && original.nextSibling.parentNode === original.parent) {
        original.parent.insertBefore(searchEl, original.nextSibling);
      } else {
        original.parent.appendChild(searchEl);
      }
    } else {
      // Fallback if original was not recorded for some reason
      getHeaderContainerFallback().appendChild(searchEl);
    }

    resetHomepageSearchState(searchEl);
  }

  function mountSearchToHomepage(searchEl) {
    if (!searchEl) return;

    var mount = document.getElementById("homepage-search-mount");
    if (!mount) return;

    // Record original DOM position once
    if (!original.parent) {
      original.parent = searchEl.parentNode;
      original.nextSibling = searchEl.nextSibling; // can be null
    }

    if (!mount.contains(searchEl)) {
      mount.appendChild(searchEl);
    }

    searchEl.classList.add("homepage-search");

    // Homepage-only dropdown open/close hooks
    var input  = searchEl.querySelector("input[data-md-component='search-query'], .md-search__input");
    var output = searchEl.querySelector(".md-search__output");

    // Defensive: output must NOT intercept clicks when closed
    if (output) {
      output.style.display = "none";
      output.style.pointerEvents = "none";
    }

    function openDropdown() {
      searchEl.classList.add("homepage-search--open");
      if (output) {
        output.style.display = "";
        output.style.pointerEvents = "";
      }
    }

    function closeDropdown() {
      searchEl.classList.remove("homepage-search--open");
      if (output) {
        output.style.display = "none";
        output.style.pointerEvents = "none";
      }
    }

    // Attach homepage handlers only once
    if (input && !input.dataset.homepageSearchHooked) {
      input.dataset.homepageSearchHooked = "true";

      input.addEventListener("focus", openDropdown);
      input.addEventListener("click", openDropdown);
      input.addEventListener("input", openDropdown);

      // "/" focuses search on homepage desktop
      document.addEventListener("keydown", function (e) {
        if (!mql.matches) return; // desktop only
        if (!isHomepage()) return;
        if (!input) return;

        if (e.key === "/" && document.activeElement !== input) {
          e.preventDefault();
          openDropdown();
          input.focus();
        }
        if (e.key === "Escape") {
          closeDropdown();
        }
      });

      // Close dropdown when clicking outside
      document.addEventListener("pointerdown", function (e) {
        if (!mql.matches) return; // desktop only
        if (!isHomepage()) return;
        if (!searchEl.classList.contains("homepage-search--open")) return;

        if (typeof document.hasFocus === "function" && !document.hasFocus()) return;
        if (!e || !e.target || !(e.target instanceof Node)) return;

        if (searchEl.contains(e.target)) return;
        closeDropdown();
      }, { capture: true });

      // Close dropdown on blur (with small delay)
      input.addEventListener("blur", function () {
        setTimeout(function () {
          if (!mql.matches) return; // desktop only
          if (typeof document.hasFocus === "function" && !document.hasFocus()) return;
          if (document.activeElement && searchEl.contains(document.activeElement)) return;
          closeDropdown();
        }, 120);
      });
    }
  }

  function apply() {
    if (!isHomepage()) return;

    var searchEl = getSearchEl();
    if (!searchEl) return;

    if (mql.matches) {
      // Desktop: move search into homepage
      mountSearchToHomepage(searchEl);
    } else {
      // Tablet/Mobile: restore search back to header (default Material behavior)
      restoreSearchToHeader(searchEl);
    }
  }

  function init() {
    // Apply immediately
    apply();

    // Re-apply on breakpoint changes (resize/orientation)
    if (mql.addEventListener) {
      mql.addEventListener("change", apply);
    } else {
      // Safari fallback
      mql.addListener(apply);
    }

    // Extra safety: some browsers delay matchMedia updates
    window.addEventListener("resize", apply);

    // Ensure correct placement after full load (fonts/layout settle)
    window.addEventListener("load", apply);
  }

  // MkDocs Material navigation events
  if (window.document$ && typeof window.document$.subscribe === "function") {
    window.document$.subscribe(init);
  } else {
    document.addEventListener("DOMContentLoaded", init);
    document.addEventListener("navigation:load", init);
  }
})();
</script>

<style>
/* =====================================================
   Homepage search: DESKTOP ONLY
   Tablet and below → hide, header search is used instead
   ===================================================== */

/* Tablet and smaller */
@media screen and (max-width: 959px) {
  .homepage-actions { display: none !important; }
  .homepage .md-content__inner h1+p, .admonition {
    max-width: unset !important;
  }
}

.homepage .md-content {
  background-color: var(--w-surface);
}

.homepage .md-content__inner h1+p {
  max-width: unset !important;
}

/* Desktop-only homepage search styling */
@media screen and (min-width: 960px) {

/* ==========================
   Actions row: LEFT as before
   ========================== */

.homepage-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  overflow: visible;

  /* key: do NOT center */
  align-self: flex-start;
  justify-content: flex-start;
  /* Match intro tile width (50% of grid minus half gap) */
  width: calc(50% - 8px);
}

/* Search expands to fill available width */
#homepage-search-mount {
  flex: 1;
  min-width: 280px;
  overflow: visible;
}

/* ==========================
   Search: keep it stable
   ========================== */

.md-search { padding: unset; }

#homepage-search-mount .md-search {
  position: relative;
  display: block;
  width: 100%;
}

/* Match button height */
#homepage-search-mount .md-search__inner {
  height: 44px;
  border: 1px solid #DAE1EB;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
  background: #F9FAFB;
  width: 100%;
  display: flex;
  align-items: center;

  transition: none !important;

  /* KEY: anchor absolute ::after */
  position: relative;
}

#homepage-search-mount .md-search__inner:hover,
#homepage-search-mount .md-search__inner:active,
#homepage-search-mount .md-search__inner:focus,
#homepage-search-mount .md-search__inner:focus-within {
  background: #F9FAFB !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;
  outline: none !important;
}

#homepage-search-mount .md-search__form {
  display: flex;
  align-items: center;
  height: 44px;
  background-color: #ffffff1f;
}

#homepage-search-mount .md-search__input {
  height: 44px;
  line-height: 44px;
  padding: 0 16px 0 44px;
  font-size: 15px;
  background: transparent !important;
  width: 100%;

  /* Reserve space on the right so UI/clear doesn't cover the badge */
  padding-right: 64px;
}

/* Keep left icon + options centered */
#homepage-search-mount .md-search__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
}

.md-search__icon[for=__search] { top: unset; }

#homepage-search-mount .md-search__options {
  display: inline-flex !important;
  align-items: center !important;
  height: 44px !important;
  gap: 6px;
}

/* Disable fullscreen overlay behavior on homepage (desktop dropdown instead) */
#homepage-search-mount .md-search__overlay {
  display: none !important;
}

/* Output dropdown under input */
#homepage-search-mount .md-search__output {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  width: 100%;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.12);
  z-index: 2;
}

/* Default: hidden + non-interactive */
#homepage-search-mount .md-search__output {
  display: none !important;
  pointer-events: none !important;
}

/* Only when open/focused: visible + interactive */
#homepage-search-mount .md-search__inner:focus-within .md-search__output,
#homepage-search-mount .md-search.homepage-search--open .md-search__output {
  display: block !important;
  pointer-events: auto !important;
  opacity: 1 !important;
  transform: none !important;
}

#homepage-search-mount .md-search__scrollwrap {
  max-height: min(60vh, 26rem);
  width: unset;
}

/* Hotkey indicator for the search field (desktop only) */
#homepage-search-mount .md-search__inner::after {
  content: "⌘K";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 11px;
  font-weight: 500;
  color: #6B7280;
  background-color: white;
  border: 1px solid #D1D5DB;
  border-radius: 4px;
  padding: 2px 6px;
  pointer-events: none;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Hide the badge while typing (desktop dropdown UX) */
#homepage-search-mount .md-search__inner:focus-within::after,
#homepage-search-mount .md-search.homepage-search--open .md-search__inner::after {
  display: none !important;
}

/* Links in search results */
#homepage-search-mount a:hover {
  color: unset;
  text-decoration: none;
}

/* Lists styling ONLY inside homepage search results */
[dir=ltr] #homepage-search-mount .md-search-result__list {
  margin-top: 0;
  margin-left: 0;
  padding-left: 0;
}

[dir=ltr] #homepage-search-mount .md-search-result__item {
  margin-left: 0;
}

/* =========================================================
   Homepage search styling ONLY (ported from default styles)
   No header selectors, no toggle dependencies
   ========================================================= */

/* Input base style */
#homepage-search-mount .md-search__input {
  color: #000000;
  border-radius: .1rem;
}

/* Input background when NOT focused */
#homepage-search-mount .md-search__input:not(:focus-visible) {
  background-color: #F7F7F8;
}

/* Placeholder color */
#homepage-search-mount input.md-search__input::placeholder {
  color: #959DAC;
}

/* Search icon color */
#homepage-search-mount .md-search__icon,
#homepage-search-mount .md-search__icon svg {
  color: #959DAC;
}

/* Result meta background */
#homepage-search-mount .md-search-result__meta {
  background-color: #FAFAFB;
}

/* Result link hover / focus */
#homepage-search-mount a.md-search-result__link:hover {
  background-color: #F7F7F8;
  box-shadow: inset 0px -1px 0px rgba(229, 229, 229, 0.5);
}

#homepage-search-mount .md-search-result__link:focus code,
#homepage-search-mount .md-search-result__link:hover code {
    background-color: unset !important;
}

#homepage-search-mount .md-search-result__link:focus,
#homepage-search-mount .md-search-result__link:hover {
  background-color: #F7F7F8;
}

/* "More results" hover / focus */
#homepage-search-mount .md-search-result__more > summary:focus > div,
#homepage-search-mount .md-search-result__more > summary:hover > div {
  background-color: #F7F7F8;
  box-shadow: inset 0px -1px 0px rgba(229, 229, 229, 0.5);
}

#homepage-search-mount .md-search-result__more > summary {
    padding-right: 0px;
    padding-top: 0px;
    padding-left: 0px;
    padding-bottom: 0px;
    background-color: var(--md-default-bg-color) !important;
}

#homepage-search-mount .md-search-result__more {
    border: unset;
}

#homepage-search-mount .md-search-result__more > summary:before {
    display: none !important;
}

/* Highlighted matches */
#homepage-search-mount .md-search-result em {
  color: #FC7303;
  text-decoration: none;
  font-weight: inherit;
}

/* ==========================
   Search button: fixed height
   ========================== */

.md-search__button {
  width: 100%;
  height: 44px;
  background-color: #F9FAFB;
  font-size: 15px;
  color: rgb(160, 160, 160);
}

.md-search__button:before {
  background-color: rgb(160, 160, 160);
  top: unset;
}

.md-search__button:after {
  top: .60rem;
  background: white;
  border: 1px solid #DAE1EB;
}

.md-search__button:focus, .md-search__button:hover {
  background-color: #F9FAFB;
  color: rgb(160, 160, 160);
}

.homepage-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 16px;
  height: 44px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 400;
  text-align: center;
  border: 1px solid #DAE1EB;
  cursor: pointer;
  font-size: 15px;
  font-family: inherit;
}

/* Keep desktop actions row stable on small desktop widths */
@media screen and (max-width: 1100px) {
  .homepage-actions { width: 100%; }
}

} /* end min-width: 960px desktop block */

/* (Your existing styles below can remain as-is) */

.navigation-1col { margin-bottom: 24px; }

.card-arrow {
  opacity: 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
  display: inline-block;
}

.navigation-card:hover .card-arrow {
  opacity: 1;
  transform: translateX(3px);
}

.navigation-card { position: relative; }

.navigation-card h3 a::after {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  z-index: 0;
}

.navigation-card ul a { position: relative; z-index: 1; }

.navigation-4col {
  grid-template-columns: repeat(4, 1fr) !important;
  margin-bottom: 24px;
}

.navigation-3col {
  grid-template-columns: repeat(3, 1fr) !important;
  margin-bottom: 48px;
}

@media screen and (max-width: 1100px) {
  .navigation-4col { grid-template-columns: repeat(2, 1fr) !important; }
}

@media screen and (max-width: 900px) {
  .navigation-3col { grid-template-columns: repeat(2, 1fr) !important; }
}

@media screen and (max-width: 600px) {
  .navigation-4col,
  .navigation-3col {
    grid-template-columns: repeat(1, 1fr) !important;
  }
}

/* Demo CTA Section */
.demo-cta-section {
  background-color: #121B28;
  border-radius: 12px;
  padding: 48px;
  margin-top: 24px;
  margin-bottom: 24px;
}

.demo-cta-content {
  display: flex;
  gap: 48px;
  align-items: center;
}

.demo-cta-left { flex: 1; }

.demo-cta-label {
  color: #FC7303;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1px;
  margin-bottom: 12px;
}

.demo-cta-heading {
  color: white !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  margin: 0 0 24px 0 !important;
  line-height: 1.3 !important;
}

.demo-cta-right { flex: 1; }

.demo-cta-video-link {
  display: block;
  text-decoration: none;
}

.demo-cta-video {
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 5px 5px 0 #FC7303;
  background-color: white;
  position: relative;
  cursor: pointer;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.demo-cta-video:hover {
  box-shadow: 7px 7px 0 #FC7303;
  transform: translate(-2px, -2px);
}

.demo-cta-video iframe {
  width: 100%;
  height: 100%;
  border: none;
  pointer-events: none;
}

.demo-cta-video-overlay {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  cursor: pointer;
}

.demo-cta-button {
  display: inline-block;
  background-color: #3B82F6;
  color: white !important;
  padding: 14px 32px;
  border-radius: 6px;
  font-weight: 600;
  font-size: 16px;
  text-decoration: none !important;
  transition: all 0.2s ease;
}

.demo-cta-button:hover {
  background-color: #2563EB;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4);
  color: white !important;
  text-decoration: none !important;
}

@media screen and (max-width: 900px) {
  .demo-cta-content { flex-direction: column; gap: 32px; }
  .demo-cta-section { padding: 32px; }
  .demo-cta-heading { font-size: 24px !important; }
}

@media screen and (max-width: 600px) {
  .demo-cta-section { padding: 24px; }
  .demo-cta-heading { font-size: 20px !important; }
}

@media screen and (max-width: 475px) {
  .md-header__title {
    display: none !important;
  }
}

button.md-clipboard-page {
  display: none;
}

a.md-content__button {
  display: none;
}

</style>