---
updatedAt: 2026-09-17T11:17:33.000Z
agentTools:
  projectIndex: https://docs.sixfab.com/llms.txt
---

# Overview

A shared deployment stack for every Sixfab edge AI product. one DEEPX runtime, one .dxnn model format, and one compiler across the AI HAT+, Edge AI Expansion Board, and ALPON X5 AI.

<HTMLBlock>{`
<style>
/* ════════════════════════════════════════════════════════════════════════
   Sixfab AI Model Deployment — Overview
   Canonical URL:    /docs/ai-model-deployment-overview
   Page type:        §11.2 Hardware overview (platform variant) — design language
   Brand modifier:   AI feature-led
     · Hero    sf-hero--ai     (Neural Field gradient, Tier 3 — AI Model
                                Deployment is the platform-level AI value
                                proposition; AI Iris hero is canonical
                                per project §3)
     · AEO     sf-aeo--ai      (Tier 3 AI Iris — matches hero signal)
     · Product matrix          sf-product-matrix (card-table hybrid: per-product
                                header strip + spec rows. Two-Purples Rule
                                respected: ALPON Gradient never co-occurs with
                                AI Iris on the same surface; product identity
                                via text + pill + neutral strip color, no
                                ALPON gradient anywhere on the page)
     · Stack   sf-stack default (kernel/driver/runtime/app palette)
     · Bounds  sf-boundary-grid (four mini cards, Tier 5 semantic accents;
                                AI Iris reserved for AI feature signal, not
                                for capability-boundary honesty notes)
     · Cards   sf-card default  (product decision grid — neutral, not AI)
     · CTAs    sf-cta-card--ai for Model Zoo and Deployment Workflow
                                (AI feature destinations), default for
                                Supported Models Catalog (reference page)
   Tokens:         DESIGN.md v4 (Sixfab Teal · Signal Mint · Ink Navy · AI Iris)
   Typography:     DESIGN.md canonical (Gilroy + JetBrains Mono)
   Schema:         Article + BreadcrumbList + FAQPage (page-end comment block)
   Created:        2026-05-16
   Revised:        2026-05-17  (rename, em dash cleanup, matrix + boundaries
                                redesign, card-link underline fix)
   ════════════════════════════════════════════════════════════════════════ */

/* ─── FONTS ─────────────────────────────────────────────────────────────── */
@font-face { font-family:'Gilroy'; src:url('https://sixfab.com/wp-content/fonts/Gilroy-Regular.woff2')   format('woff2'); font-weight:400; font-display:swap; }
@font-face { font-family:'Gilroy'; src:url('https://sixfab.com/wp-content/fonts/Gilroy-Medium.woff2')    format('woff2'); font-weight:500; font-display:swap; }
@font-face { font-family:'Gilroy'; src:url('https://sixfab.com/wp-content/fonts/Gilroy-SemiBold.woff2')  format('woff2'); font-weight:600; font-display:swap; }
@font-face { font-family:'Gilroy'; src:url('https://sixfab.com/wp-content/fonts/Gilroy-Bold.woff2')      format('woff2'); font-weight:700; font-display:swap; }
@font-face { font-family:'Gilroy'; src:url('https://sixfab.com/wp-content/fonts/Gilroy-ExtraBold.woff2') format('woff2'); font-weight:800; font-display:swap; }
@font-face { font-family:'JetBrains Mono'; src:url('https://cdn.jsdelivr.net/gh/JetBrains/JetBrainsMono@2.304/fonts/webfonts/JetBrainsMono-Regular.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'JetBrains Mono'; src:url('https://cdn.jsdelivr.net/gh/JetBrains/JetBrainsMono@2.304/fonts/webfonts/JetBrainsMono-Medium.woff2')  format('woff2'); font-weight:500; font-style:normal; font-display:swap; }

/* ─── DESIGN TOKENS - DESIGN.md 6-tier system, scoped to .sf-doc ────────── */
.sf-doc {
  /* Tier 1 - Core Brand */
  --primary:       #034860;
  --secondary:     #00E0B8;
  --tertiary:      #1B2D45;
  --neutral:       #E8F5F0;

  /* Tier 2 - Neutral & Interface */
  --white:         #FFFFFF;
  --light:         #F6F8F9;
  --line:          #DDE6EC;
  --slate-light:   #94A8B5;
  --slate:         #52667A;
  --deep-ink:      #10202E;

  /* Tier 3 - AI / Product Accent */
  --ai-iris:       #6B47F0;
  --ai-iris-hover: #5638E0;
  --ai-mist:       #F0EDFF;

  /* Tier 5 - Semantic */
  --success:       #00B894;
  --warning:       #F59E0B;
  --danger:        #DC2626;
  --info:          #429CBF;
  --success-text:  #047857;
  --warning-text:  #92400E;
  --danger-text:   #B91C1C;
  --info-text:     #0E4A66;
  --success-bg:    #E0F5EE;
  --warning-bg:    #FDF1DC;
  --danger-bg:     #FBE5E5;
  --info-bg:       #DCEFF7;

  /* On-color */
  --on-primary:    #FFFFFF;
  --on-secondary:  #1B2D45;

  /* Spacing - DESIGN.md 4px base, 8-step scale */
  --xs: 4px; --sm: 8px; --md: 16px; --lg: 24px; --xl: 32px;
  --2xl: 48px; --3xl: 64px; --4xl: 96px;

  /* Radii - DESIGN.md canonical */
  --r-sm: 4px; --r-md: 6px; --r-lg: 8px; --r-xl: 12px; --r-2xl: 16px; --r-full: 9999px;

  /* Gradients - DESIGN.md named */
  --grad-edge-cloud: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
  --grad-neural:     linear-gradient(135deg, var(--tertiary) 0%, var(--ai-iris) 50%, var(--secondary) 100%);

  /* Shadows */
  --shadow-sm:    0 1px 2px rgba(10,23,33,.04);
  --shadow-md:    0 4px 12px rgba(10,23,33,.06);
  --shadow-lg:    0 8px 24px rgba(10,23,33,.08);
  --shadow-focus: 0 0 0 2px var(--white), 0 0 0 4px var(--secondary);

  /* Fonts */
  --font-sans: 'Gilroy', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', 'SF Mono', Menlo, Consolas, monospace;

  /* Wrapper base */
  font-family: var(--font-sans);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--deep-ink);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding: 0 0 80px;
  width: 100%;
  max-width: none;
}
.sf-doc *, .sf-doc *::before, .sf-doc *::after { box-sizing: border-box; }

/* ─── BASE TYPOGRAPHY - DESIGN.md canonical scale ────────────────────────── */
.sf-doc h1 {
  font-family: var(--font-sans);
  font-size: 3rem;
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: var(--deep-ink);
  margin: 0 0 var(--md);
}
.sf-doc h2 {
  font-family: var(--font-sans);
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: var(--primary);
  margin: var(--3xl) 0 var(--md);
  padding: 0;
  border: 0;
  scroll-margin-top: 24px;
}
.sf-doc h2:first-of-type { margin-top: 0; }
.sf-doc h3 {
  font-family: var(--font-sans);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--deep-ink);
  margin: var(--xl) 0 var(--md);
}
.sf-doc h4 {
  font-family: var(--font-sans);
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.015em;
  color: var(--deep-ink);
  margin: var(--lg) 0 var(--sm);
}
.sf-doc p {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: -0.005em;
  color: var(--deep-ink);
  margin: 0 0 var(--md);
}
.sf-doc p:last-child { margin-bottom: 0; }
.sf-doc .sf-lead {
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--deep-ink);
  margin: 0 0 var(--lg);
}
.sf-doc ul, .sf-doc ol { padding-left: var(--lg); margin: 0 0 var(--md); }
.sf-doc li { font-size: 1rem; line-height: 1.6; color: var(--deep-ink); margin-bottom: 6px; }
.sf-doc ul li::marker { color: var(--primary); }
.sf-doc a {
  color: var(--primary);
  text-decoration: none;
  font-weight: 500;
}
.sf-doc a:hover { color: var(--ai-iris); text-decoration: underline; }
.sf-doc code {
  font-family: var(--font-mono);
  font-size: 0.875em;
  background: rgba(3,72,96,0.06);
  color: var(--primary);
  border: 1px solid rgba(3,72,96,0.10);
  padding: 1px 6px;
  border-radius: var(--r-sm);
  white-space: nowrap;
}
.sf-doc strong { font-weight: 700; color: var(--deep-ink); }

/* ─── ICON HELPER ───────────────────────────────────────────────────────── */
.sf-icon {
  display: inline-flex; align-items: center; justify-content: center;
  flex-shrink: 0; vertical-align: middle; fill: currentColor; overflow: visible;
}

/* ─── HERO — compact, single-column (System Monitoring pattern) ──────────── */
.sf-hero {
  padding: var(--xl);
  margin: 0 0 var(--lg);
  background: var(--light);
  border: 1px solid var(--line);
  border-radius: var(--r-2xl);
}
.sf-hero__copy { min-width: 0; }
.sf-doc .sf-hero p.sf-hero__title,
.sf-doc .sf-hero .sf-hero__title {
  font-family: var(--font-sans);
  font-size: 2.75rem;
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: var(--deep-ink);
  margin: 0 0 var(--md);
}
.sf-doc .sf-hero p.sf-hero__lead,
.sf-doc .sf-hero .sf-hero__lead {
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--deep-ink);
  margin: 0 0 var(--md);
}
.sf-hero__chips { display: flex; flex-wrap: wrap; gap: 6px; }

/* sf-hero--ai — Neural Field gradient (Tier 3 AI Iris surface) */
.sf-doc .sf-hero.sf-hero--ai {
  background: var(--grad-neural);
  border-color: transparent;
  color: var(--white);
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow-md);
}
.sf-doc .sf-hero.sf-hero--ai::after {
  content: "";
  position: absolute;
  top: -40%; right: -10%;
  width: 360px; height: 360px;
  background: radial-gradient(circle, rgba(255,255,255,0.10) 0%, transparent 70%);
  pointer-events: none;
}
.sf-doc .sf-hero.sf-hero--ai .sf-hero__copy { position: relative; z-index: 1; }
.sf-doc .sf-hero.sf-hero--ai p.sf-hero__title,
.sf-doc .sf-hero.sf-hero--ai .sf-hero__title { color: var(--white); }
.sf-doc .sf-hero.sf-hero--ai p.sf-hero__lead,
.sf-doc .sf-hero.sf-hero--ai .sf-hero__lead { color: rgba(255,255,255,0.92); }
.sf-doc .sf-hero.sf-hero--ai code {
  background: rgba(255,255,255,0.14);
  color: var(--white);
  border-color: rgba(255,255,255,0.20);
}
.sf-doc .sf-hero.sf-hero--ai .sf-pill {
  background: rgba(255,255,255,0.12);
  color: var(--white);
  border-color: rgba(255,255,255,0.22);
  backdrop-filter: blur(6px);
}

@media (max-width: 820px) {
  .sf-hero { padding: var(--lg); }
  .sf-doc .sf-hero p.sf-hero__title,
  .sf-doc .sf-hero .sf-hero__title { font-size: 2.125rem; }
  .sf-doc .sf-hero p.sf-hero__lead,
  .sf-doc .sf-hero .sf-hero__lead  { font-size: 1rem; }
}
@media (max-width: 480px) {
  .sf-doc .sf-hero p.sf-hero__title,
  .sf-doc .sf-hero .sf-hero__title { font-size: 1.75rem; }
}

/* ─── PILL / BADGE ─────────────────────────────────────────────────────── */
.sf-pill {
  display: inline-flex; align-items: center; gap: var(--xs);
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: var(--r-sm);
  background: var(--light);
  color: var(--deep-ink);
  border: 1px solid var(--line);
  white-space: nowrap;
  line-height: 1.4;
}
.sf-pill--mono { font-family: var(--font-mono); font-weight: 500; }
.sf-pill--mint {
  background: var(--neutral);
  color: var(--primary);
  border-color: rgba(0,224,184,0.30);
}
.sf-pill--ai {
  background: var(--ai-iris);
  color: var(--white);
  border-color: var(--ai-iris);
  font-size: 0.875rem;
  font-weight: 700;
}

/* ─── META BAR — Quickstart-style badges (design language §6.6) ──────────── */
.sf-meta {
  display: flex; align-items: center; flex-wrap: wrap;
  gap: var(--sm);
  font-family: var(--font-mono);
  font-size: 0.75rem; color: var(--slate);
  margin: 0 0 var(--lg);
}
.sf-meta__badge {
  font-family: var(--font-sans);
  font-weight: 700; font-size: 0.75rem;
  padding: 3px 8px; border-radius: var(--r-sm);
  background: var(--light); color: var(--primary);
  border: 1px solid var(--line);
}
.sf-meta__badge--mint {
  background: var(--neutral); color: var(--primary); border-color: var(--neutral);
}
.sf-meta__sep { color: var(--line); }

/* ─── AEO BLOCK — question as heading; AI variant Tier 3 ────────────────── */
.sf-aeo {
  position: relative;
  background: var(--light);
  border: 1px solid var(--line);
  border-left: 4px solid var(--primary);
  border-radius: var(--r-md);
  padding: var(--lg) var(--xl);
  margin: 0 0 var(--xl);
}
.sf-aeo--ai {
  background: var(--ai-mist);
  border-color: rgba(107,71,240,0.20);
  border-left-color: var(--ai-iris);
}
.sf-aeo__label {
  display: block;
  font-family: var(--font-sans);
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.015em;
  text-transform: none;
  color: var(--primary);
  margin: 0 0 var(--sm);
}
.sf-aeo--ai .sf-aeo__label { color: var(--ai-iris); }
.sf-aeo__text {
  font-size: 1rem;
  line-height: 1.65;
  color: var(--deep-ink);
  margin: 0;
}
.sf-aeo__text strong { color: var(--primary); font-weight: 700; }
.sf-aeo--ai .sf-aeo__text strong { color: var(--ai-iris); }

/* ─── TOC — "In this guide" pill row (design language §6.15) ────────────── */
.sf-toc {
  display: flex; align-items: center; flex-wrap: wrap;
  gap: 6px;
  padding: var(--md) var(--lg);
  background: var(--light);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  margin: 0 0 var(--xl);
}
.sf-toc__label {
  font-family: var(--font-mono);
  font-size: 0.6875rem; font-weight: 500;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--slate);
  margin-right: var(--sm);
}
.sf-doc a.sf-toc__item,
.sf-doc .sf-toc__item {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 12px;
  background: var(--white); border: 1px solid var(--line);
  border-radius: var(--r-sm);
  font-family: var(--font-sans);
  font-size: 0.8125rem; font-weight: 600;
  color: var(--deep-ink);
  text-decoration: none !important;
  transition: border-color .15s; white-space: nowrap;
}
.sf-doc .sf-toc__item:hover,
.sf-doc .sf-toc__item:focus {
  background: var(--primary);
  color: var(--white) !important;
  border-color: var(--primary);
  text-decoration: none !important;
}
.sf-doc .sf-toc__item:hover .sf-toc__num,
.sf-doc .sf-toc__item:focus .sf-toc__num {
  color: var(--secondary);
}
.sf-toc__num {
  font-family: var(--font-mono);
  font-size: 0.6875rem; font-weight: 500; color: var(--slate);
}

/* ─── CALLOUT (Tier 5 semantic + Tier 3 AI) ──────────────────────────────── */
.sf-callout {
  display: flex; flex-direction: column; gap: var(--sm);
  border-radius: var(--r-md);
  padding: var(--md) var(--lg);
  margin: var(--lg) 0;
  border-left: 4px solid;
}
.sf-callout__header {
  display: flex; align-items: center; gap: var(--sm);
  font-size: 0.9375rem; font-weight: 700; line-height: 1.3;
}
.sf-callout__header .sf-icon { width: 18px; height: 18px; }
.sf-callout__content { font-size: 0.9375rem; line-height: 1.6; color: var(--deep-ink); }
.sf-callout__content p { margin: 0 0 var(--sm); font-size: 0.9375rem; color: inherit; }
.sf-callout__content p:last-child { margin-bottom: 0; }
.sf-callout__content ul { margin: 0; padding-left: var(--lg); }
.sf-callout__content li { margin-bottom: 8px; font-size: 0.9375rem; color: var(--deep-ink); line-height: 1.6; }
.sf-callout__content li:last-child { margin-bottom: 0; }
.sf-callout__content li strong { color: var(--deep-ink); font-weight: 700; }
.sf-callout__content a { color: inherit; text-decoration: underline; font-weight: 600; }
.sf-callout__content code { background: rgba(0,0,0,0.06); border: 0; color: inherit; }

.sf-callout--info    { background: var(--info-bg);    border-left-color: var(--info); }
.sf-callout--info    .sf-callout__header { color: var(--info-text); }
.sf-callout--success { background: var(--success-bg); border-left-color: var(--success); }
.sf-callout--success .sf-callout__header { color: var(--success-text); }
.sf-callout--warning { background: var(--warning-bg); border-left-color: var(--warning); }
.sf-callout--warning .sf-callout__header { color: var(--warning-text); }
.sf-callout--danger  { background: var(--danger-bg);  border-left-color: var(--danger); }
.sf-callout--danger  .sf-callout__header { color: var(--danger-text); }
.sf-callout--ai      { background: var(--ai-mist);    border-left-color: var(--ai-iris); }
.sf-callout--ai      .sf-callout__header { color: var(--ai-iris); }

/* ─── PRODUCT MATRIX ── 01 · The three products
   Card-table hybrid. Three product columns, each with a colored header strip
   and stacked spec rows. Header strips use distinct Tier 1 / Tier 2 hues per
   product (NO ALPON gradient; product identity is text + pill + neutral strip,
   Two-Purples Rule respected). On mobile, columns stack to single column.
   ────────────────────────────────────────────────────────────────────────── */
.sf-product-matrix {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--md);
  margin: var(--md) 0 var(--xl);
}
.sf-product-card {
  display: flex; flex-direction: column;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  overflow: hidden;
  transition: transform .18s, box-shadow .18s, border-color .18s;
}
.sf-product-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-lg);
  border-color: var(--primary);
}
/* Head is a flex column with a FIXED height so the three cards' header
   blocks render at identical heights regardless of product-name or eyebrow
   line count. Height covers worst case: 2-line eyebrow + 2-line name + pill.
   Eyebrow + name occupy a flex:1 inner block (top-aligned, allowed to grow);
   the TOPS pill is locked to the bottom of the head so all three pills line
   up across columns. */
.sf-product-card__head {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: var(--lg) var(--lg) var(--md);
  height: 200px;
  flex-shrink: 0;
  color: var(--white);
  overflow: hidden;
  isolation: isolate;
}
/* AI-themed luminous overlay: a single subtle top-right highlight so the
   product gradient stays the dominant visual. Dotted grid kept very faint
   for AI texture. */
.sf-product-card__head::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 110% -10%, rgba(255,255,255,0.16) 0%, transparent 50%);
  pointer-events: none;
  z-index: 0;
}
.sf-product-card__head::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255,255,255,0.08) 1px, transparent 1px);
  background-size: 16px 16px;
  background-position: 0 0;
  opacity: 0.5;
  pointer-events: none;
  z-index: 0;
}
.sf-product-card__head > * { position: relative; z-index: 1; }

.sf-product-card__head-top {
  flex: 1;
  min-width: 0;
}
/* Specificity-raised selectors (.sf-doc prefix) so .sf-doc h3 / .sf-doc p
   base styles don't override head text color. */
.sf-doc .sf-product-card__eyebrow {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.88);
  margin: 0 0 var(--sm);
  line-height: 1.4;
}
.sf-doc h3.sf-product-card__name {
  font-family: var(--font-sans);
  font-size: 1.125rem;
  font-weight: 800;
  line-height: 1.22;
  letter-spacing: -0.015em;
  color: var(--white) !important;
  margin: 0;
  text-shadow: 0 1px 2px rgba(0,0,0,0.22);
}
.sf-product-card__head .sf-pill {
  align-self: flex-start;
  margin-top: var(--md);
  background: rgba(255,255,255,0.22);
  color: var(--white);
  border-color: rgba(255,255,255,0.36);
  font-family: var(--font-mono);
  font-weight: 700;
  letter-spacing: 0.02em;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

/* Product-specific header gradients — all built from Sixfab brand tokens
   (Ink Navy + Sixfab Teal + AI Iris + Signal Mint). The three gradients
   share the same tonal depth so contrast against white text is uniform
   (WCAG AA on all three). What differs is the emphasis: HAT+ leans Teal
   (Tier 1 maker / Pi), Expansion leans AI Iris (Tier 3 AI signal),
   ALPON leans deep Navy (industrial weight). Two-Purples Rule respected:
   no ALPON Gradient on the page — ALPON card uses Sixfab tokens, not its
   own brand gradient. */
.sf-product-card--hat .sf-product-card__head {
  background:
    linear-gradient(135deg,
      #1B2D45 0%,
      #034860 35%,
      #0A6478 70%,
      #00A88F 100%);
}
.sf-product-card--expansion .sf-product-card__head {
  background:
    linear-gradient(135deg,
      #1B2D45 0%,
      #2D2890 35%,
      #5638E0 70%,
      #6B47F0 100%);
}
.sf-product-card--alpon .sf-product-card__head {
  background:
    linear-gradient(135deg,
      #10202E 0%,
      #1B2D45 35%,
      #2D2890 70%,
      #4A38C2 100%);
}

.sf-product-card__specs {
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1;
}
.sf-product-card__spec {
  display: flex; flex-direction: column; gap: 2px;
  padding: 12px var(--lg);
  border-top: 1px solid var(--line);
  font-size: 0.875rem;
  margin: 0;
}
.sf-product-card__spec:first-child { border-top: 0; }
.sf-product-card__spec-label {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--slate);
}
.sf-product-card__spec-value {
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--deep-ink);
}
.sf-product-card__spec-value code {
  font-size: 0.8125rem;
}
.sf-product-card__spec-value .sf-product-card__spec-sub {
  display: block;
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--slate);
  margin-top: 2px;
  line-height: 1.45;
}
.sf-product-card__foot {
  padding: 14px var(--lg);
  border-top: 1px solid var(--line);
  background: var(--light);
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--sm);
}
.sf-product-card__foot a {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--primary);
  text-decoration: none !important;
  letter-spacing: -0.005em;
}
.sf-product-card__foot a:hover { color: var(--ai-iris); }
.sf-product-card__foot a .sf-icon { width: 12px; height: 12px; }
.sf-product-card__foot-note {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--slate);
  letter-spacing: 0.04em;
}

@media (max-width: 820px) {
  .sf-product-matrix { grid-template-columns: 1fr; gap: var(--md); }
  .sf-product-card__head { padding: var(--md) var(--lg); height: auto; min-height: 0; }
}

/* ─── BOUNDARY GRID ── 03 · Capability boundaries
   Four mini cards replacing the single bullet-list info callout. Each card
   carries a Tier 5 semantic accent — info, warning, danger, success — so the
   four limits read as distinct, scannable facts rather than a wall of text.
   AI Iris remains reserved (per DESIGN.md governance) for AI feature signal;
   honesty notes stay on Tier 5 semantic palette.
   ────────────────────────────────────────────────────────────────────────── */
.sf-boundary-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--md);
  margin: var(--md) 0 var(--xl);
}
.sf-boundary {
  display: flex; flex-direction: column; gap: var(--sm);
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  padding: var(--lg);
  position: relative;
  overflow: hidden;
  transition: border-color .15s, transform .15s, box-shadow .15s;
}
.sf-boundary::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 4px;
}
.sf-boundary:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
.sf-boundary__head {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  font-weight: 800;
  letter-spacing: -0.005em;
  line-height: 1.3;
}
.sf-boundary__icon {
  width: 36px; height: 36px;
  border-radius: var(--r-md);
  display: inline-flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.sf-boundary__icon .sf-icon { width: 20px; height: 20px; }
.sf-boundary__title {
  flex: 1; min-width: 0;
}
.sf-boundary__body {
  font-size: 0.875rem;
  line-height: 1.55;
  color: var(--deep-ink);
  margin: 0;
}
.sf-boundary__body a {
  color: inherit;
  text-decoration: underline;
  font-weight: 600;
  text-underline-offset: 2px;
}
.sf-boundary__body a:hover { color: var(--ai-iris); }
.sf-boundary__body code { background: rgba(0,0,0,0.05); border: 0; }

/* Tier 5 semantic accents per boundary */
.sf-boundary--info    { background: linear-gradient(180deg, rgba(66,156,191,0.06) 0%, var(--white) 60%); }
.sf-boundary--info::before    { background: var(--info); }
.sf-boundary--info    .sf-boundary__icon { background: var(--info-bg); color: var(--info-text); }
.sf-boundary--info    .sf-boundary__head { color: var(--info-text); }

.sf-boundary--warning { background: linear-gradient(180deg, rgba(245,158,11,0.06) 0%, var(--white) 60%); }
.sf-boundary--warning::before { background: var(--warning); }
.sf-boundary--warning .sf-boundary__icon { background: var(--warning-bg); color: var(--warning-text); }
.sf-boundary--warning .sf-boundary__head { color: var(--warning-text); }

.sf-boundary--danger  { background: linear-gradient(180deg, rgba(220,38,38,0.05) 0%, var(--white) 60%); }
.sf-boundary--danger::before  { background: var(--danger); }
.sf-boundary--danger  .sf-boundary__icon { background: var(--danger-bg); color: var(--danger-text); }
.sf-boundary--danger  .sf-boundary__head { color: var(--danger-text); }

.sf-boundary--success { background: linear-gradient(180deg, rgba(0,184,148,0.06) 0%, var(--white) 60%); }
.sf-boundary--success::before { background: var(--success); }
.sf-boundary--success .sf-boundary__icon { background: var(--success-bg); color: var(--success-text); }
.sf-boundary--success .sf-boundary__head { color: var(--success-text); }

@media (max-width: 720px) {
  .sf-boundary-grid { grid-template-columns: 1fr; }
}

/* ─── SOFTWARE STACK (§6.19 sf-stack — canonical layer colors) ──────────── */
.sf-stack {
  display: flex; flex-direction: column;
  border: 1px solid var(--line); border-radius: var(--r-xl);
  overflow: hidden;
  margin: var(--md) 0 var(--lg);
  background: var(--white);
}
.sf-stack__layer {
  display: flex; align-items: center; gap: 14px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--line);
}
.sf-stack__layer:last-child { border-bottom: 0; }
.sf-stack__num {
  width: 30px; height: 30px; border-radius: var(--r-full);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-mono); font-size: 0.75rem; font-weight: 700;
  color: var(--white); flex-shrink: 0;
}
.sf-stack__layer--app      { background: rgba(3, 72, 96, 0.05); }
.sf-stack__layer--app      .sf-stack__num { background: var(--primary); }
.sf-stack__layer--sdk      { background: rgba(107, 71, 240, 0.06); }
.sf-stack__layer--sdk      .sf-stack__num { background: var(--ai-iris); }
.sf-stack__layer--runtime  { background: rgba(0, 184, 148, 0.07); }
.sf-stack__layer--runtime  .sf-stack__num { background: var(--success); }
.sf-stack__layer--driver   { background: rgba(245, 158, 11, 0.07); }
.sf-stack__layer--driver   .sf-stack__num { background: var(--warning); color: var(--deep-ink); }
.sf-stack__layer--silicon  { background: var(--light); }
.sf-stack__layer--silicon  .sf-stack__num { background: var(--slate); }
.sf-stack__body { min-width: 0; flex: 1; }
.sf-stack__name { font-size: 0.9375rem; font-weight: 700; color: var(--deep-ink); }
.sf-stack__desc { font-size: 0.8125rem; color: var(--slate); margin-top: 2px; line-height: 1.5; }
.sf-stack__pkg, .sf-stack__cmd {
  flex-shrink: 0; font-family: var(--font-mono);
  font-size: 0.6875rem; font-weight: 600;
  padding: 3px 9px; border-radius: var(--r-sm);
  border: 1px solid var(--line);
  background: var(--white);
  color: var(--deep-ink);
  white-space: nowrap;
}
.sf-stack__pkg { margin-left: auto; }

@media (max-width: 640px) {
  .sf-stack__pkg, .sf-stack__cmd { display: none; }
}

/* ─── METHOD GRID — three product decision cards ────────────────────────── */
.sf-method-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--md);
  margin: var(--md) 0 var(--xl);
}
/* sf-card as anchor wrapper: kill underline globally on the whole card and
   on every descendant. Prevents the page-wide a:hover { underline } rule from
   underlining the eyebrow, title, body, and link label in the 04 product
   decision cards. */
.sf-doc a.sf-card,
.sf-doc a.sf-card:hover,
.sf-doc a.sf-card:focus { text-decoration: none !important; }
.sf-doc a.sf-card *,
.sf-doc a.sf-card:hover *,
.sf-doc a.sf-card:focus * { text-decoration: none !important; }

.sf-card {
  display: flex; flex-direction: column; gap: var(--sm);
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  padding: var(--lg);
  transition: border-color .15s, transform .15s, box-shadow .15s;
}
.sf-card:hover {
  border-color: var(--primary);
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}
.sf-card__eyebrow {
  font-family: var(--font-sans);
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--slate);
}
.sf-card__title {
  font-family: var(--font-sans);
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--deep-ink);
  line-height: 1.3;
  letter-spacing: -0.01em;
  margin: 0;
  /* Reserve space for up to 3 lines so titles across the three cards bottom-
     align, which makes every sf-card__desc start on the same horizontal line.
     1.3 (line-height) × 3 lines = 3.9em. */
  min-height: 3.9em;
  display: flex;
  align-items: flex-start;
}
.sf-card__desc {
  font-size: 0.9375rem;
  color: var(--slate);
  line-height: 1.55;
  margin: 0;
  /* flex:1 lets the description grow to fill remaining space inside the card;
     because grid stretches all three cards to equal height and the title is
     min-height locked, all three descriptions start on the same line. */
  flex: 1;
}
.sf-card__link {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--primary);
  /* Pin link to the card's bottom edge so all three link rows align. */
  margin-top: auto;
  padding-top: var(--sm);
  text-decoration: none !important;
}
.sf-card__link .sf-icon { width: 12px; height: 12px; }
.sf-card:hover .sf-card__link { color: var(--ai-iris); }

@media (max-width: 820px) {
  .sf-method-grid { grid-template-columns: 1fr; }
  .sf-card__title { min-height: 0; }
}

/* ─── CTA CARD — page-end single-action card (§6.19) ────────────────────── */
/* Same defense as sf-card: kill underline on the whole anchor and descendants. */
.sf-doc a.sf-cta-card,
.sf-doc a.sf-cta-card:hover,
.sf-doc a.sf-cta-card:focus { text-decoration: none !important; }
.sf-doc a.sf-cta-card *,
.sf-doc a.sf-cta-card:hover *,
.sf-doc a.sf-cta-card:focus * { text-decoration: none !important; }

.sf-cta-card {
  display: flex; align-items: center; gap: var(--lg);
  background: var(--white);
  border: 1px solid var(--line);
  border-left: 4px solid var(--primary);
  border-radius: var(--r-xl);
  padding: var(--lg) var(--xl);
  margin: 0 0 var(--md);
  text-decoration: none !important;
  transition: border-color .15s, transform .15s, box-shadow .15s;
}
.sf-cta-card:hover {
  border-color: var(--primary);
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}
.sf-cta-card--ai {
  border-left-color: var(--ai-iris);
  background: linear-gradient(135deg, var(--ai-mist) 0%, var(--white) 60%);
}
.sf-cta-card--ai:hover { border-color: var(--ai-iris); }
.sf-cta-card__icon {
  width: 44px; height: 44px;
  border-radius: var(--r-md);
  background: var(--light);
  color: var(--primary);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.sf-cta-card__icon .sf-icon { width: 22px; height: 22px; }
.sf-cta-card--ai .sf-cta-card__icon {
  background: var(--ai-iris);
  color: var(--white);
}
.sf-cta-card__body { flex: 1; min-width: 0; }
.sf-cta-card__title {
  font-family: var(--font-sans);
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--deep-ink);
  line-height: 1.25;
  letter-spacing: -0.01em;
  margin: 0 0 4px;
}
.sf-cta-card__desc {
  font-size: 0.875rem;
  color: var(--slate);
  line-height: 1.55;
  margin: 0;
}
.sf-cta-card__arrow {
  font-family: var(--font-mono);
  font-size: 0.75rem; font-weight: 700;
  color: var(--primary);
  display: inline-flex; align-items: center; gap: 4px;
  flex-shrink: 0;
}
.sf-cta-card--ai .sf-cta-card__arrow { color: var(--ai-iris); }
.sf-cta-card__arrow .sf-icon { width: 12px; height: 12px; }

@media (max-width: 640px) {
  .sf-cta-card { padding: var(--md); gap: var(--md); flex-wrap: wrap; }
  .sf-cta-card__arrow { width: 100%; justify-content: flex-end; margin-top: 4px; }
}

/* ─── PARTNERSHIP LOCKUP FOOTER ─────────────────────────────────────────── */
.sf-lockup {
  margin: var(--3xl) 0 0;
  padding: var(--lg);
  background: var(--light);
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  text-align: center;
}
.sf-lockup__row {
  display: inline-flex;
  align-items: center;
  gap: var(--md);
  flex-wrap: wrap;
  justify-content: center;
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--slate);
}
.sf-lockup__item {
  display: inline-flex; align-items: center; gap: 6px;
}
.sf-lockup__item strong {
  color: var(--primary);
  font-weight: 700;
}
.sf-lockup__sep {
  width: 4px; height: 4px;
  border-radius: var(--r-full);
  background: var(--slate-light);
}

/* ─── RESPONSIVE OVERRIDES ──────────────────────────────────────────────── */
@media (max-width: 640px) {
  .sf-doc h1 { font-size: 2rem; }
  .sf-doc h2 { font-size: 1.625rem; }
  .sf-doc h3 { font-size: 1.25rem; }

  .sf-toc { gap: 4px; padding: 8px 10px; }
  .sf-toc__item { padding: 5px 10px; font-size: 0.75rem; }

  .sf-aeo { padding: var(--md) var(--lg); }
  .sf-aeo__label { font-size: 1.125rem; }
}

/* ─── DARK MODE ─────────────────────────────────────────────────────────────
   Two branches, kept at declaration-for-declaration parity: the explicit
   [data-color-mode="dark"] attribute branch and the system-preference
   @media (prefers-color-scheme: dark) branch. Any edit to one MUST be
   mirrored into the other.
   ────────────────────────────────────────────────────────────────────────── */
[data-color-mode="dark"] .sf-doc {
  --white:        #FFFFFF;
  --light:        #142233;
  --line:         #1F3043;
  --slate:        #B5C3CE;
  --deep-ink:     #E6EDF3;
  --success-bg:   #052E1B;
  --warning-bg:   #2A1F05;
  --danger-bg:    #2A0E0E;
  --info-bg:      #0A2E3F;
  --success-text: #34D399;
  --warning-text: #FBBF24;
  --danger-text:  #F87171;
  --info-text:    #5CD3EE;
  --shadow-sm:    0 1px 2px rgba(0,0,0,.30);
  --shadow-md:    0 4px 12px rgba(0,0,0,.40);
  --shadow-lg:    0 8px 24px rgba(0,0,0,.50);
  background: var(--tertiary);
}
/* Base ink: --primary (#034860) is unreadable on dark surfaces — remap every
   place it lands as text to Signal Mint, and AI Iris text to the light AI
   accent #B59CFF. */
[data-color-mode="dark"] .sf-doc h2 { color: var(--secondary); }
[data-color-mode="dark"] .sf-doc a { color: var(--secondary); }
[data-color-mode="dark"] .sf-doc a:hover { color: #B59CFF; }
[data-color-mode="dark"] .sf-doc strong { color: var(--neutral); }
[data-color-mode="dark"] .sf-doc ul li::marker { color: var(--secondary); }
[data-color-mode="dark"] .sf-doc code { background: rgba(255,255,255,0.06); color: var(--secondary); border-color: rgba(255,255,255,0.12); }
/* sf-hero--ai keeps its Neural Field gradient in dark; only the plain hero
   surface is repainted, otherwise the gradient hero loses its white text. */
[data-color-mode="dark"] .sf-doc .sf-hero:not(.sf-hero--ai) { background: var(--light); border-color: var(--line); }
[data-color-mode="dark"] .sf-doc .sf-meta__badge { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.10); color: var(--secondary); }
[data-color-mode="dark"] .sf-doc .sf-meta__badge--mint { background: rgba(0,224,184,0.10); border-color: rgba(0,224,184,0.28); color: var(--secondary); }
[data-color-mode="dark"] .sf-doc .sf-aeo { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.10); }
[data-color-mode="dark"] .sf-doc .sf-aeo--ai { background: rgba(107,71,240,0.12); border-color: rgba(107,71,240,0.30); border-left-color: #B59CFF; }
[data-color-mode="dark"] .sf-doc .sf-aeo__label { color: var(--secondary); }
[data-color-mode="dark"] .sf-doc .sf-aeo--ai .sf-aeo__label { color: #B59CFF; }
[data-color-mode="dark"] .sf-doc .sf-aeo--ai .sf-aeo__text strong { color: #B59CFF; }
[data-color-mode="dark"] .sf-doc .sf-toc { background: rgba(255,255,255,0.04); }
[data-color-mode="dark"] .sf-doc .sf-toc__item { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.10); color: var(--neutral); }
[data-color-mode="dark"] .sf-doc .sf-toc__item:hover,
[data-color-mode="dark"] .sf-doc .sf-toc__item:focus { background: var(--secondary); border-color: var(--secondary); color: var(--on-secondary) !important; }
[data-color-mode="dark"] .sf-doc .sf-toc__item:hover .sf-toc__num,
[data-color-mode="dark"] .sf-doc .sf-toc__item:focus .sf-toc__num { color: var(--on-secondary); }
[data-color-mode="dark"] .sf-doc .sf-product-card { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.10); }
[data-color-mode="dark"] .sf-doc .sf-product-card__foot { background: rgba(255,255,255,0.03); border-top-color: rgba(255,255,255,0.10); }
[data-color-mode="dark"] .sf-doc .sf-product-card__foot a { color: var(--secondary); }
[data-color-mode="dark"] .sf-doc .sf-product-card__spec { border-top-color: rgba(255,255,255,0.10); }
[data-color-mode="dark"] .sf-doc .sf-boundary { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.10); }
[data-color-mode="dark"] .sf-doc .sf-boundary--danger .sf-boundary__head { color: #FCA5A5; }
[data-color-mode="dark"] .sf-doc .sf-stack { background: rgba(255,255,255,0.02); border-color: var(--line); }
[data-color-mode="dark"] .sf-doc .sf-stack__pkg,
[data-color-mode="dark"] .sf-doc .sf-stack__cmd { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.12); color: var(--deep-ink); }
[data-color-mode="dark"] .sf-doc .sf-stack__layer--driver .sf-stack__num,
[data-color-mode="dark"] .sf-doc .sf-stack__layer--silicon .sf-stack__num { color: var(--tertiary); }
[data-color-mode="dark"] .sf-doc .sf-card { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.10); }
[data-color-mode="dark"] .sf-doc .sf-card__link { color: var(--secondary); }
[data-color-mode="dark"] .sf-doc .sf-card:hover .sf-card__link { color: #B59CFF; }
[data-color-mode="dark"] .sf-doc .sf-cta-card { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.10); border-left-color: var(--secondary); }
[data-color-mode="dark"] .sf-doc .sf-cta-card--ai { background: rgba(107,71,240,0.12); border-left-color: #B59CFF; }
[data-color-mode="dark"] .sf-doc .sf-cta-card__icon { background: rgba(255,255,255,0.06); color: var(--secondary); }
[data-color-mode="dark"] .sf-doc .sf-cta-card--ai .sf-cta-card__icon { background: var(--ai-iris); color: #FFFFFF; }
[data-color-mode="dark"] .sf-doc .sf-cta-card__arrow { color: var(--secondary); }
[data-color-mode="dark"] .sf-doc .sf-cta-card--ai .sf-cta-card__arrow { color: #B59CFF; }
[data-color-mode="dark"] .sf-doc .sf-product-card:hover,
[data-color-mode="dark"] .sf-doc .sf-card:hover,
[data-color-mode="dark"] .sf-doc .sf-cta-card:hover { border-color: var(--secondary); }
[data-color-mode="dark"] .sf-doc .sf-lockup { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.10); }
[data-color-mode="dark"] .sf-doc .sf-lockup__item strong { color: var(--secondary); }

@media (prefers-color-scheme: dark) {
  html:not([data-color-mode="light"]) .sf-doc {
    --white:        #FFFFFF;
    --light:        #142233;
    --line:         #1F3043;
    --slate:        #B5C3CE;
    --deep-ink:     #E6EDF3;
    --success-bg:   #052E1B;
    --warning-bg:   #2A1F05;
    --danger-bg:    #2A0E0E;
    --info-bg:      #0A2E3F;
    --success-text: #34D399;
    --warning-text: #FBBF24;
    --danger-text:  #F87171;
    --info-text:    #5CD3EE;
    --shadow-sm:    0 1px 2px rgba(0,0,0,.30);
    --shadow-md:    0 4px 12px rgba(0,0,0,.40);
    --shadow-lg:    0 8px 24px rgba(0,0,0,.50);
    background: var(--tertiary);
  }
  /* Base ink: --primary (#034860) is unreadable on dark surfaces — remap every
     place it lands as text to Signal Mint, and AI Iris text to the light AI
     accent #B59CFF. */
  html:not([data-color-mode="light"]) .sf-doc h2 { color: var(--secondary); }
  html:not([data-color-mode="light"]) .sf-doc a { color: var(--secondary); }
  html:not([data-color-mode="light"]) .sf-doc a:hover { color: #B59CFF; }
  html:not([data-color-mode="light"]) .sf-doc strong { color: var(--neutral); }
  html:not([data-color-mode="light"]) .sf-doc ul li::marker { color: var(--secondary); }
  html:not([data-color-mode="light"]) .sf-doc code { background: rgba(255,255,255,0.06); color: var(--secondary); border-color: rgba(255,255,255,0.12); }
  /* sf-hero--ai keeps its Neural Field gradient in dark; only the plain hero
     surface is repainted, otherwise the gradient hero loses its white text. */
  html:not([data-color-mode="light"]) .sf-doc .sf-hero:not(.sf-hero--ai) { background: var(--light); border-color: var(--line); }
  html:not([data-color-mode="light"]) .sf-doc .sf-meta__badge { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.10); color: var(--secondary); }
  html:not([data-color-mode="light"]) .sf-doc .sf-meta__badge--mint { background: rgba(0,224,184,0.10); border-color: rgba(0,224,184,0.28); color: var(--secondary); }
  html:not([data-color-mode="light"]) .sf-doc .sf-aeo { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.10); }
  html:not([data-color-mode="light"]) .sf-doc .sf-aeo--ai { background: rgba(107,71,240,0.12); border-color: rgba(107,71,240,0.30); border-left-color: #B59CFF; }
  html:not([data-color-mode="light"]) .sf-doc .sf-aeo__label { color: var(--secondary); }
  html:not([data-color-mode="light"]) .sf-doc .sf-aeo--ai .sf-aeo__label { color: #B59CFF; }
  html:not([data-color-mode="light"]) .sf-doc .sf-aeo--ai .sf-aeo__text strong { color: #B59CFF; }
  html:not([data-color-mode="light"]) .sf-doc .sf-toc { background: rgba(255,255,255,0.04); }
  html:not([data-color-mode="light"]) .sf-doc .sf-toc__item { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.10); color: var(--neutral); }
  html:not([data-color-mode="light"]) .sf-doc .sf-toc__item:hover,
  html:not([data-color-mode="light"]) .sf-doc .sf-toc__item:focus { background: var(--secondary); border-color: var(--secondary); color: var(--on-secondary) !important; }
  html:not([data-color-mode="light"]) .sf-doc .sf-toc__item:hover .sf-toc__num,
  html:not([data-color-mode="light"]) .sf-doc .sf-toc__item:focus .sf-toc__num { color: var(--on-secondary); }
  html:not([data-color-mode="light"]) .sf-doc .sf-product-card { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.10); }
  html:not([data-color-mode="light"]) .sf-doc .sf-product-card__foot { background: rgba(255,255,255,0.03); border-top-color: rgba(255,255,255,0.10); }
  html:not([data-color-mode="light"]) .sf-doc .sf-product-card__foot a { color: var(--secondary); }
  html:not([data-color-mode="light"]) .sf-doc .sf-product-card__spec { border-top-color: rgba(255,255,255,0.10); }
  html:not([data-color-mode="light"]) .sf-doc .sf-boundary { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.10); }
  html:not([data-color-mode="light"]) .sf-doc .sf-boundary--danger .sf-boundary__head { color: #FCA5A5; }
  html:not([data-color-mode="light"]) .sf-doc .sf-stack { background: rgba(255,255,255,0.02); border-color: var(--line); }
  html:not([data-color-mode="light"]) .sf-doc .sf-stack__pkg,
  html:not([data-color-mode="light"]) .sf-doc .sf-stack__cmd { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.12); color: var(--deep-ink); }
  html:not([data-color-mode="light"]) .sf-doc .sf-stack__layer--driver .sf-stack__num,
  html:not([data-color-mode="light"]) .sf-doc .sf-stack__layer--silicon .sf-stack__num { color: var(--tertiary); }
  html:not([data-color-mode="light"]) .sf-doc .sf-card { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.10); }
  html:not([data-color-mode="light"]) .sf-doc .sf-card__link { color: var(--secondary); }
  html:not([data-color-mode="light"]) .sf-doc .sf-card:hover .sf-card__link { color: #B59CFF; }
  html:not([data-color-mode="light"]) .sf-doc .sf-cta-card { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.10); border-left-color: var(--secondary); }
  html:not([data-color-mode="light"]) .sf-doc .sf-cta-card--ai { background: rgba(107,71,240,0.12); border-left-color: #B59CFF; }
  html:not([data-color-mode="light"]) .sf-doc .sf-cta-card__icon { background: rgba(255,255,255,0.06); color: var(--secondary); }
  html:not([data-color-mode="light"]) .sf-doc .sf-cta-card--ai .sf-cta-card__icon { background: var(--ai-iris); color: #FFFFFF; }
  html:not([data-color-mode="light"]) .sf-doc .sf-cta-card__arrow { color: var(--secondary); }
  html:not([data-color-mode="light"]) .sf-doc .sf-cta-card--ai .sf-cta-card__arrow { color: #B59CFF; }
  html:not([data-color-mode="light"]) .sf-doc .sf-product-card:hover,
  html:not([data-color-mode="light"]) .sf-doc .sf-card:hover,
  html:not([data-color-mode="light"]) .sf-doc .sf-cta-card:hover { border-color: var(--secondary); }
  html:not([data-color-mode="light"]) .sf-doc .sf-lockup { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.10); }
  html:not([data-color-mode="light"]) .sf-doc .sf-lockup__item strong { color: var(--secondary); }
}
</style>



<svg width="0" height="0" style="position:absolute" aria-hidden="true" focusable="false">
  <symbol id="ep-info"    viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"/></symbol>
  <symbol id="ep-arrow"   viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></symbol>
  <symbol id="ep-book"    viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M3 19a9 9 0 0 1 9 0 9 9 0 0 1 9 0"/><path d="M3 6a9 9 0 0 1 9 0 9 9 0 0 1 9 0"/><path d="M3 6v13M12 6v13M21 6v13"/></symbol>
  <symbol id="ep-chip"    viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><rect x="6" y="6" width="12" height="12" rx="1"/><path d="M9 2v4M15 2v4M9 18v4M15 18v4M2 9h4M2 15h4M18 9h4M18 15h4"/><path d="M10 10h4v4h-4z"/></symbol>
  <symbol id="ep-rocket"  viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M4 13a8 8 0 0 1 7 7 6 6 0 0 0 3-5 9 9 0 0 0 6-8 3 3 0 0 0-3-3 9 9 0 0 0-8 6 6 6 0 0 0-5 3"/><path d="M7 14a6 6 0 0 0-3 6 6 6 0 0 0 6-3"/><circle cx="15" cy="9" r="1"/></symbol>
  <symbol id="ep-target"  viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><circle cx="12" cy="12" r="6"/><circle cx="12" cy="12" r="2"/></symbol>
  <symbol id="ep-eye"     viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></symbol>
  <symbol id="ep-brain"   viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M12 5a3 3 0 0 0-5.94-.6 3 3 0 0 0-.69 5.4A3 3 0 0 0 6.1 15a3 3 0 0 0 5.9.62V5z"/><path d="M12 5a3 3 0 0 1 5.94-.6 3 3 0 0 1 .69 5.4 3 3 0 0 1 .73 4.84 3 3 0 0 1-3.36 4.94 3 3 0 0 1-5.9-.31V5z"/></symbol>
  <symbol id="ep-power"   viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M18.36 6.64a9 9 0 1 1-12.73 0"/><line x1="12" y1="2" x2="12" y2="12"/></symbol>
  <symbol id="ep-shield"  viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2 4 5v6c0 5 3.5 9.5 8 11 4.5-1.5 8-6 8-11V5l-8-3z"/><path d="m9 12 2 2 4-4"/></symbol>
</svg>


<div class="sf-doc">

  
  <header class="sf-hero sf-hero--ai">
    <div class="sf-hero__copy">
      <p class="sf-hero__title">AI Model Deployment</p>
      <p class="sf-hero__lead">
        Three Sixfab edge AI products, one shared stack. The Sixfab AI HAT+ for Raspberry Pi 5,
        the Sixfab Edge AI Expansion Board, and the ALPON X5 AI all run the same DEEPX silicon
        family, the same <code>dxrt-runtime</code>, and the same <code>.dxnn</code> model format.
        Compile a model once. Deploy it on any of the three.
      </p>
      <div class="sf-hero__chips">
        <span class="sf-pill">Three products</span>
        <span class="sf-pill">One SDK</span>
        <span class="sf-pill sf-pill--mono">DEEPX silicon</span>
        <span class="sf-pill">Raspberry Pi</span>
        <span class="sf-pill">Intelligented by DEEPX</span>
      </div>
    </div>
  </header>

  
  <div class="sf-meta">
    <span class="sf-meta__badge">AI Model Deployment</span>
    <span class="sf-meta__sep">·</span>
    <span class="sf-meta__badge sf-meta__badge--mint">Platform overview</span>
    <span class="sf-meta__sep">·</span>
    <span>Updated 2026-05-17</span>
  </div>

  
  <div class="sf-aeo sf-aeo--ai">
    <span class="sf-aeo__label">What is Sixfab AI Model Deployment?</span>
    <p class="sf-aeo__text">
      <strong>AI Model Deployment is the cross-product technical surface for every Sixfab edge AI
      product.</strong> Sixfab AI HAT+, Edge AI Expansion Board, and ALPON X5 AI share one DEEPX
      silicon family, one <code>dxrt-runtime</code>, one <code>.dxnn</code> model format, and one
      DX-COM compiler. The same compiled model file deploys to all three without rebuild. This
      sidebar is where the shared stack lives as a single source of truth, so each product's
      sidebar can link in instead of duplicating Model Zoo, DXNN SDK, runtime, and monitoring
      content three times over.
    </p>
  </div>

  
  <nav class="sf-toc" aria-label="On this page">
    <span class="sf-toc__label">In this guide</span>
    <a href="#three-products"  class="sf-toc__item"><span class="sf-toc__num">01</span>The three products</a>
    <a href="#shared-stack"    class="sf-toc__item"><span class="sf-toc__num">02</span>Shared stack</a>
    <a href="#boundaries"      class="sf-toc__item"><span class="sf-toc__num">03</span>Capability boundaries</a>
    <a href="#which-product"   class="sf-toc__item"><span class="sf-toc__num">04</span>Which product is for me</a>
    <a href="#where-to-start"  class="sf-toc__item"><span class="sf-toc__num">05</span>Where to start</a>
  </nav>


  
  <h2 id="three-products">The three products</h2>
  <p class="sf-lead">
    The three Sixfab edge AI products differ in form factor, host integration, and the DEEPX
    silicon variant they carry. They do not differ in software. Anything written against
    <code>dxrt-runtime</code> on one product runs on the other two.
  </p>

  <div class="sf-product-matrix" role="list" aria-label="Sixfab edge AI product comparison">

    <article class="sf-product-card sf-product-card--hat" role="listitem">
      <div class="sf-product-card__head">
        <div class="sf-product-card__head-top">
          <p class="sf-product-card__eyebrow">Top-mount HAT+</p>
          <h3 class="sf-product-card__name">Sixfab AI HAT+</h3>
        </div>
        <span class="sf-pill">25 / 13 TOPS</span>
      </div>
      <ul class="sf-product-card__specs">
        <li class="sf-product-card__spec">
          <span class="sf-product-card__spec-label">NPU variant</span>
          <span class="sf-product-card__spec-value">
            <strong>DEEPX DX-M1M</strong> or <strong>DEEPX DX-M1ML</strong>
          </span>
        </li>
        <li class="sf-product-card__spec">
          <span class="sf-product-card__spec-label">TOPS at INT8</span>
          <span class="sf-product-card__spec-value">
            25 TOPS (DX-M1M)
            <span class="sf-product-card__spec-sub">or 13 TOPS (DX-M1ML)</span>
          </span>
        </li>
        <li class="sf-product-card__spec">
          <span class="sf-product-card__spec-label">Host platform</span>
          <span class="sf-product-card__spec-value">
            Raspberry Pi 5
            <span class="sf-product-card__spec-sub">CM5 via Raspberry Pi CM5 IO Board</span>
          </span>
        </li>
        <li class="sf-product-card__spec">
          <span class="sf-product-card__spec-label">Form factor</span>
          <span class="sf-product-card__spec-value">HAT+ specification compliant top-mount board</span>
        </li>
        <li class="sf-product-card__spec">
          <span class="sf-product-card__spec-label">Best for</span>
          <span class="sf-product-card__spec-value">Prototyping vision AI on Pi 5; makers, engineers, researchers</span>
        </li>
      </ul>
      <div class="sf-product-card__foot">
        <a href="/docs/ai-hat-plus-raspberry-pi-5-overview" target="_blank" rel="noopener">
          AI HAT+ Overview
          <svg class="sf-icon" aria-hidden="true"><use href="#ep-arrow"/></svg>
        </a>
        <span class="sf-product-card__foot-note">01</span>
      </div>
    </article>

    <article class="sf-product-card sf-product-card--expansion" role="listitem">
      <div class="sf-product-card__head">
        <div class="sf-product-card__head-top">
          <p class="sf-product-card__eyebrow">Bottom-mount expansion</p>
          <h3 class="sf-product-card__name">Sixfab Edge AI Expansion Board</h3>
        </div>
        <span class="sf-pill">25 TOPS</span>
      </div>
      <ul class="sf-product-card__specs">
        <li class="sf-product-card__spec">
          <span class="sf-product-card__spec-label">NPU variant</span>
          <span class="sf-product-card__spec-value">
            <strong>DEEPX DX-M1</strong>
            <span class="sf-product-card__spec-sub">M.2 module</span>
          </span>
        </li>
        <li class="sf-product-card__spec">
          <span class="sf-product-card__spec-label">TOPS at INT8</span>
          <span class="sf-product-card__spec-value">25 TOPS</span>
        </li>
        <li class="sf-product-card__spec">
          <span class="sf-product-card__spec-label">Host platform</span>
          <span class="sf-product-card__spec-value">Raspberry Pi 5</span>
        </li>
        <li class="sf-product-card__spec">
          <span class="sf-product-card__spec-label">Form factor</span>
          <span class="sf-product-card__spec-value">
            Bottom-mount board with three M.2 slots
            <span class="sf-product-card__spec-sub">AI, NVMe SSD, LTE/5G modem</span>
          </span>
        </li>
        <li class="sf-product-card__spec">
          <span class="sf-product-card__spec-label">Best for</span>
          <span class="sf-product-card__spec-value">Pi 5 production builds that need AI, storage, and cellular in one board</span>
        </li>
      </ul>
      <div class="sf-product-card__foot">
        <a href="/docs/edge-ai-expansion-board-raspberry-pi-5-overview" target="_blank" rel="noopener">
          Expansion Board Overview
          <svg class="sf-icon" aria-hidden="true"><use href="#ep-arrow"/></svg>
        </a>
        <span class="sf-product-card__foot-note">02</span>
      </div>
    </article>

    <article class="sf-product-card sf-product-card--alpon" role="listitem">
      <div class="sf-product-card__head">
        <div class="sf-product-card__head-top">
          <p class="sf-product-card__eyebrow">Industrial edge computer</p>
          <h3 class="sf-product-card__name">ALPON X5 AI</h3>
        </div>
        <span class="sf-pill">25 TOPS</span>
      </div>
      <ul class="sf-product-card__specs">
        <li class="sf-product-card__spec">
          <span class="sf-product-card__spec-label">NPU variant</span>
          <span class="sf-product-card__spec-value">
            <strong>DEEPX DX-M1</strong>
            <span class="sf-product-card__spec-sub">integrated</span>
          </span>
        </li>
        <li class="sf-product-card__spec">
          <span class="sf-product-card__spec-label">TOPS at INT8</span>
          <span class="sf-product-card__spec-value">25 TOPS</span>
        </li>
        <li class="sf-product-card__spec">
          <span class="sf-product-card__spec-label">Host platform</span>
          <span class="sf-product-card__spec-value">
            Raspberry Pi Compute Module 5
            <span class="sf-product-card__spec-sub">integrated; sealed system</span>
          </span>
        </li>
        <li class="sf-product-card__spec">
          <span class="sf-product-card__spec-label">Form factor</span>
          <span class="sf-product-card__spec-value">
            Fanless aluminum enclosure
            <span class="sf-product-card__spec-sub">IP40, DIN-rail mount option</span>
          </span>
        </li>
        <li class="sf-product-card__spec">
          <span class="sf-product-card__spec-label">Best for</span>
          <span class="sf-product-card__spec-value">Industrial deployment, 24/7 operation, fleet-managed installations</span>
        </li>
      </ul>
      <div class="sf-product-card__foot">
        <a href="/docs/alpon-x5-ai-edge-computer-overview" target="_blank" rel="noopener">
          ALPON X5 AI Overview
          <svg class="sf-icon" aria-hidden="true"><use href="#ep-arrow"/></svg>
        </a>
        <span class="sf-product-card__foot-note">03</span>
      </div>
    </article>

  </div>


  
  <h2 id="shared-stack">Shared stack</h2>
  <p>
    Every Sixfab edge AI product runs the same five-layer stack. The NPU silicon is the same
    DEEPX family. The kernel driver, the user-space runtime, the model format, and the SDK are
    byte-identical across products. The application layer is where your code lives, and your
    code does not need to know which product it is running on.
  </p>

  <div class="sf-stack" role="list" aria-label="Sixfab AI Model Deployment software stack">
    <div class="sf-stack__layer sf-stack__layer--app" role="listitem">
      <span class="sf-stack__num">5</span>
      <div class="sf-stack__body">
        <div class="sf-stack__name">Your application</div>
        <div class="sf-stack__desc">Python or C++ code calling the DEEPX runtime API. OpenCV, GStreamer, your own pipeline, the bundled demos.</div>
      </div>
      <span class="sf-stack__pkg">Python / C++</span>
    </div>
    <div class="sf-stack__layer sf-stack__layer--sdk" role="listitem">
      <span class="sf-stack__num">4</span>
      <div class="sf-stack__body">
        <div class="sf-stack__name">DXNN SDK + DX-COM compiler</div>
        <div class="sf-stack__desc">ONNX → DXNN compilation toolchain. Runs on an Ubuntu x86_64 host; outputs a <code>.dxnn</code> binary the runtime executes.</div>
      </div>
      <span class="sf-stack__pkg">dxcom</span>
    </div>
    <div class="sf-stack__layer sf-stack__layer--runtime" role="listitem">
      <span class="sf-stack__num">3</span>
      <div class="sf-stack__body">
        <div class="sf-stack__name">DEEPX runtime (<code>dxrt-runtime</code>)</div>
        <div class="sf-stack__desc">Model loading, inference scheduling, memory management, async execution on the NPU. Same package across all three products.</div>
      </div>
      <span class="sf-stack__pkg">sixfab-dx</span>
    </div>
    <div class="sf-stack__layer sf-stack__layer--driver" role="listitem">
      <span class="sf-stack__num">2</span>
      <div class="sf-stack__body">
        <div class="sf-stack__name">DEEPX kernel driver</div>
        <div class="sf-stack__desc">Linux kernel module that exposes the NPU as a PCIe device. Compiled against the running kernel at install time.</div>
      </div>
      <span class="sf-stack__pkg">sixfab-dx</span>
    </div>
    <div class="sf-stack__layer sf-stack__layer--silicon" role="listitem">
      <span class="sf-stack__num">1</span>
      <div class="sf-stack__body">
        <div class="sf-stack__name">DEEPX silicon + on-chip firmware</div>
        <div class="sf-stack__desc">DEEPX DX-M1, DX-M1M, or DX-M1ML. Same instruction set, same compiled <code>.dxnn</code> file format across variants. Firmware on onboard flash.</div>
      </div>
      <span class="sf-stack__pkg">onboard flash</span>
    </div>
  </div>

  <p>
    The practical consequence: <strong>one compiled <code>.dxnn</code> file deploys on AI HAT+,
    Edge AI Expansion Board, and ALPON X5 AI without rebuilding</strong>. A model compiled for
    DX-M1 runs on DX-M1; a model compiled for DX-M1M or DX-M1ML runs on AI HAT+. The SDK,
    runtime, and application code stay the same; only the silicon variant in the compile target
    differs.
  </p>


  
  <h2 id="boundaries">Capability boundaries</h2>
  <p>
    These limits apply across the platform. They are not roadmap items framed as features. They
    define what the current DEEPX silicon does and does not do, and what the three products do
    and do not support today.
  </p>

  <div class="sf-boundary-grid" role="list" aria-label="Platform-wide capability boundaries">

    <article class="sf-boundary sf-boundary--info" role="listitem">
      <div class="sf-boundary__head">
        <span class="sf-boundary__icon">
          <svg class="sf-icon" aria-hidden="true"><use href="#ep-eye"/></svg>
        </span>
        <span class="sf-boundary__title">Vision today</span>
      </div>
      <p class="sf-boundary__body">
        The DEEPX silicon in scope runs vision models: detection, classification, segmentation,
        pose, OCR. LLMs and generative models are on the DEEPX roadmap and Sixfab will support
        them as the silicon enables. No dates.
      </p>
    </article>

    <article class="sf-boundary sf-boundary--warning" role="listitem">
      <div class="sf-boundary__head">
        <span class="sf-boundary__icon">
          <svg class="sf-icon" aria-hidden="true"><use href="#ep-brain"/></svg>
        </span>
        <span class="sf-boundary__title">No on-device training</span>
      </div>
      <p class="sf-boundary__body">
        Train independently in PyTorch or another framework, export to ONNX, then deploy via the
        DX-COM compiler. The managed alternative is the <a href="/docs/ai-model-deployment-sixfab-ultralytics-acceleration-path" target="_blank" rel="noopener">Sixfab × Ultralytics acceleration path</a>.
      </p>
    </article>

    <article class="sf-boundary sf-boundary--danger" role="listitem">
      <div class="sf-boundary__head">
        <span class="sf-boundary__icon">
          <svg class="sf-icon" aria-hidden="true"><use href="#ep-power"/></svg>
        </span>
        <span class="sf-boundary__title">No hot-plug on HAT+ or Expansion Board</span>
      </div>
      <p class="sf-boundary__body">
        Power off the Raspberry Pi 5 before mounting or removing either board. ALPON X5 AI is a
        sealed industrial system; the NPU is integrated, not user-removable.
      </p>
    </article>

    <article class="sf-boundary sf-boundary--success" role="listitem">
      <div class="sf-boundary__head">
        <span class="sf-boundary__icon">
          <svg class="sf-icon" aria-hidden="true"><use href="#ep-shield"/></svg>
        </span>
        <span class="sf-boundary__title">Host compatibility</span>
      </div>
      <p class="sf-boundary__body">
        For AI HAT+ and Edge AI Expansion Board: Raspberry Pi 5 (primary), and Raspberry Pi
        Compute Module 5 via the official Raspberry Pi CM5 IO Board. Not supported: Pi 4, CM4,
        non-Raspberry Pi SBCs. ALPON X5 AI ships as a complete system built on Pi CM5 + DEEPX
        inside a fanless enclosure.
      </p>
    </article>

  </div>


  
  <h2 id="which-product">Which product is for me</h2>
  <p>
    Three short routes. Each one points to a product overview where the full spec lives. The
    AI Model Deployment sidebar covers everything you need <em>after</em> the product is in your
    hands; the product overview covers everything you need before.
  </p>

  <div class="sf-method-grid">
    <a href="/docs/ai-hat-plus-raspberry-pi-5-overview" target="_blank" rel="noopener" class="sf-card">
      <span class="sf-card__eyebrow">Prototyping on Pi 5</span>
      <h3 class="sf-card__title">Sixfab AI HAT+</h3>
      <p class="sf-card__desc">
        Top-mount HAT+ for Raspberry Pi 5. Two NPU variants: DX-M1M at 25 TOPS or DX-M1ML at
        13 TOPS. Start here when the goal is to evaluate vision AI on the Pi 5 you already own.
      </p>
      <span class="sf-card__link">
        AI HAT+ Overview
        <svg class="sf-icon" aria-hidden="true"><use href="#ep-arrow"/></svg>
      </span>
    </a>

    <a href="/docs/edge-ai-expansion-board-raspberry-pi-5-overview" target="_blank" rel="noopener" class="sf-card">
      <span class="sf-card__eyebrow">Pi 5 + storage + cellular</span>
      <h3 class="sf-card__title">Sixfab Edge AI Expansion Board</h3>
      <p class="sf-card__desc">
        Bottom-mount Pi 5 board with three M.2 slots: DEEPX DX-M1 AI accelerator, NVMe SSD,
        and LTE/5G modem. USB-C PD powers the whole stack. Choose this when the production
        build needs AI, storage, and connectivity in one board.
      </p>
      <span class="sf-card__link">
        Expansion Board Overview
        <svg class="sf-icon" aria-hidden="true"><use href="#ep-arrow"/></svg>
      </span>
    </a>

    <a href="/docs/alpon-x5-ai-edge-computer-overview" target="_blank" rel="noopener" class="sf-card">
      <span class="sf-card__eyebrow">Industrial deployment</span>
      <h3 class="sf-card__title">ALPON X5 AI</h3>
      <p class="sf-card__desc">
        Fanless industrial edge computer built on Raspberry Pi CM5 + DEEPX DX-M1. Aluminum
        enclosure, IP40, DIN-rail mountable. Choose this for 24/7 field deployment with fleet
        management via ALPON Cloud.
      </p>
      <span class="sf-card__link">
        ALPON X5 AI Overview
        <svg class="sf-icon" aria-hidden="true"><use href="#ep-arrow"/></svg>
      </span>
    </a>
  </div>


  
  <h2 id="where-to-start">Where to start</h2>
  <p>
    The AI Model Deployment sidebar has six content pages. Three of them are entry points; the
    other three are reference material you reach from them.
  </p>

  <a href="/docs/ai-model-deployment-sixfab-model-zoo" target="_blank" rel="noopener" class="sf-cta-card sf-cta-card--ai">
    <div class="sf-cta-card__icon">
      <svg class="sf-icon" aria-hidden="true"><use href="#ep-rocket"/></svg>
    </div>
    <div class="sf-cta-card__body">
      <h3 class="sf-cta-card__title">Start with the Sixfab Model Zoo</h3>
      <p class="sf-cta-card__desc">
        Pre-compiled <code>.dxnn</code> models you can run on any of the three products
        without writing a compile pipeline. Per-product FPS, deploy commands, methodology.
      </p>
    </div>
    <span class="sf-cta-card__arrow">
      Open
      <svg class="sf-icon" aria-hidden="true"><use href="#ep-arrow"/></svg>
    </span>
  </a>

  <a href="/docs/ai-model-deployment-workflow" target="_blank" rel="noopener" class="sf-cta-card sf-cta-card--ai">
    <div class="sf-cta-card__icon">
      <svg class="sf-icon" aria-hidden="true"><use href="#ep-chip"/></svg>
    </div>
    <div class="sf-cta-card__body">
      <h3 class="sf-cta-card__title">Deploy your own model with the DXNN SDK</h3>
      <p class="sf-cta-card__desc">
        Two-machine workflow: compile on Ubuntu x86_64, run on the target device. ONNX →
        DX-COM → <code>.dxnn</code> → <code>dxrt-runtime</code>. INT8 quantisation with
        approximately 2 % accuracy loss versus the original FP32 model.
      </p>
    </div>
    <span class="sf-cta-card__arrow">
      Open
      <svg class="sf-icon" aria-hidden="true"><use href="#ep-arrow"/></svg>
    </span>
  </a>

  <a href="/docs/ai-model-deployment-supported-models" target="_blank" rel="noopener" class="sf-cta-card">
    <div class="sf-cta-card__icon">
      <svg class="sf-icon" aria-hidden="true"><use href="#ep-target"/></svg>
    </div>
    <div class="sf-cta-card__body">
      <h3 class="sf-cta-card__title">Check the Supported Models Catalog first</h3>
      <p class="sf-cta-card__desc">
        DEEPX-supported operators and architecture compatibility: YOLO, MobileNet, ResNet,
        EfficientNet, ViT status. Plan the model architecture before custom model work.
      </p>
    </div>
    <span class="sf-cta-card__arrow">
      Open
      <svg class="sf-icon" aria-hidden="true"><use href="#ep-arrow"/></svg>
    </span>
  </a>


  
  <div class="sf-lockup">
    <div class="sf-lockup__row">
      <span class="sf-lockup__item">
        Intelligented by <strong>DEEPX</strong>
      </span>
      <span class="sf-lockup__sep" aria-hidden="true"></span>
      <span class="sf-lockup__item">
        Built on <strong>Raspberry Pi</strong>
      </span>
    </div>
  </div>

</div>



`}</HTMLBlock>

<br />