ModigenceVision Design System — Guide2026-09

ModigenceVision — Design System

이 문서를 읽는 법. 1부는 디자인 가이드 원문(readme)입니다. 브랜드 맥락, 세 가지 레지스터(덱 / 웹 / 제품 UI), 콘텐츠 규칙, 시각 원칙, 이미지·아이콘 규칙, 파일 색인 순서로 읽으세요.

2부는 Design System 탭의 스펙 카드 35장을 그룹별(Brand → Colors → Type → Spacing → Components → PowerPoint → Web → Slides)로 그대로 실은 것입니다. 긴 카드는 세부 섹션(1/5, 2/5 …)으로 나눠 실었고, 각 카드 첫 장 아래 회색 줄이 원본 파일 위치와 설계 크기입니다.

3부(부록)는 토큰 CSS 원문입니다. 값 하나가 헷갈릴 때 최종 기준으로 참고하세요.

ModigenceVision Co., Ltd. (모디전스비전) builds perception infrastructure for Physical AI. Its flagship platform MARU™ is an integrated 3D perception platform — ToF 3D (VCSEL 940nm) + RGB/IR camera modules, on-device Edge AI (NVIDIA Jetson Orin / Qualcomm), an AI Vision SDK, and a continuous Data Engine — sold as modular hardware that scales into Perception-as-a-Service.

The core thesis (straight from the IR deck): in Physical AI, the brain (AI) is over-invested and the body (hardware) is affordable, but perception is the missing link — the unsolved prerequisite for autonomous operation. ModigenceVision positions itself not as an "optician" selling the best module off a spec sheet, but as an "ophthalmologist" / AI Perception Co-Architect that diagnoses the real-world problem and delivers an outcome. Brand voice: "HW opens the door, Engineering builds trust, Edge AI drives profit." / "From Sensors to Sense-Making."

The brand reads as a clear, credible, deep-tech engineering company: precise, calm, data-dense, evidence-first — built to earn investor and Tier-1 OEM trust (Samsung, PRETTL 🇩🇪, Kohler 🇺🇸, Hanwha Vision).

Built from the brand logo set and the company's existing IR decks (see Source materials). Colors are taken from the official logo SVG gradient; tone & structure are grounded in the decks.


Surfaces and Registers

One brand, three visual registers. Read the shared rules, then the register you are designing for. Never mix registers on one surface.

RegisterWhereLookSource of truth
DeckIR & company-intro slides, PowerPointBlack + white + gray, hairline cards, one small slide-specific blue accentslides/deck.css — locked to the Selectio pitch (정본)
Webmodigencevision.comPure neutrals, radius 0, no shadows, weight ≤ 600, two logo blues as the only accentsSite repository ModigenceVision/modigencevision-web (public/styles.css, src/pages/**) — the DS holds extracted tokens, pattern cards, a page index; never page copies
Product UIDashboards, consoles, React componentsBlue-tinted neutrals on #f3f5f8, 10–24px radii, cool shadows, filled-blue primary buttonstokens/colors.css · spacing.css · components/

Shared across all three: the logo set, the MARU™ mark, IBM Plex Sans + Noto Sans KR + IBM Plex Mono, Material Symbols icons, the content rules, and the imagery library.


Source Materials

Provided by the user (originals live in uploads/):

Processed assets live in assets/ (see Index).


The Mark

The logo is a horizontal infinity (∞) formed by two interlocking lenses: a concentric "eye" / target on the left and a camera aperture (iris) on the right — reading as "continuous, precise perception." It is filled with a left-to-right gradient of the official brand blues #009fe8 (bright sky) → #00459b (deep blue). The wordmark sets MODI in light blue (the "O" is the aperture), GENCE in deep blue, and VISION in neutral gray.

Cards: brand-01-logo · brand-02-logo-dark · brand-03-symbol.

Product Mark — MARU™

A rounded module housing (ㅁ) frame holding two unlike eyes — the ToF emitter dot (ㅎ) and the RGB aperture ring. Where the parent ∞ mark is the endorser, MARU is the product: the two can sit on one page, each keeping its own clearspace, but MARU is one flat ink only (#06243F navy or white) — never the parent gradient.

Cards: brand-04-maru-symbol · brand-05-maru-lockups · brand-06-maru-usage.


Content Fundamentals

How ModigenceVision writes — all registers.

Web-only Content Rules


Visual Foundations — Shared

Visual Foundations — Deck Register

The deck is black + white + gray with small, slide-specific blue accents. It is not navy or blue-heavy. Layout is locked to the Selectio pitch (정본) and encoded in slides/deck.css; every content slide follows one rhythm on a 1280×720 frame:

  1. Section eyebrow — UPPERCASE, 0.18em, top-right (PROBLEM · SOLUTION · TECHNOLOGY · MARKET VALIDATION · APPLICATIONS · TEAM · FUTURE HORIZON …).
  2. Title — top-left, 30pt / 700, tracking −0.025em.
  3. Subtitle — one line, directly under, gray #929292.
  4. Body — dense and structured: 3-column comparisons, pillar cards, KPI strips, HW/SW stack tables, phase timelines, vertical case grids.
  5. Pull-quote — centered, in quotation marks, near the bottom.
  6. FooterCopyright © … centered + page number far-right (mono).

Cover and closing are full-bleed ink slides (left-aligned title, lower third); content slides are white.

Cards: slides/00-deck-patterns + sample slides 01–08 · ppt-01-layout · ppt-02-type · ppt-03-shadows.

Visual Foundations — Web Register

Extracted from the live site; change rules in the site first, then re-extract (tokens/web.css).

Cards: web-01-section-grammar · web-02-content-blocks · web-03-controls-form-icons. Living sheet: ui_kits/website/foundations.html.

Visual Foundations — Product UI Register

For dashboards, consoles, and the React components in components/.

Cards: color-01…04 · type-01…04 · spacing-01…03 · Components.


Imagery

The brand ships its own photography and renders — use these instead of repeating the logo. All in assets/.

Web set (2026-09, WebP)

Deck set (PNG)

Treatment: for text over imagery use an ink gradient (rgba(4,32,63,…)), never a full wash. No warm filters or grain. Partner logos (partners/) in unified grayscale (filter:grayscale(1), ~0.6 opacity) on white; full-color only on a dedicated validation slide. Team portraits (team/) B&W full-body on white, role + name + one credential; never tint.

Card: brand-07-imagery.


Iconography


Index

Rootstyles.css (import-only entry point; consumers link this) · readme.md (this guide) · SKILL.md (agent wrapper) · github.md (site repo link + sync receipt) · CLAUDE.md (project notes) · thumbnail.html.

tokens/ — all @imported by styles.css, in this order:

assets/logo/ (ModigenceVision SVG + MARU™ set) · partners/ (Samsung, Qualcomm, NVIDIA, Sony, onsemi, SK hynix, Hanwha Vision, Kohler, PRETTL, ISU, Beyeonics, VoxelSensors, sens2act, Everybot, Eckerle, Mountain) · product/ · products/ · scenes/ · scenes-official/ · team/ · root PNGs — see Imagery.

guidelines/cards/ — specimen cards for the Design System tab, numbered in display order: brand-01…07 · color-01…04 · type-01…04 · spacing-01…03 · ppt-01…03 (PowerPoint sheets, Korean) · web-01…03.

slides/ — deck register: deck.css, 00-deck-patterns.html, sample slides 01-cover … 08-closing, index.html (grid preview), deck-print.html (PPTX/PDF export source). Exports in exports/.

components/ — React primitives via window.<Namespace>: core/ Button · Badge · Input, data/ Card · Stat.

ui_kits/website/INDEX.md (15 pages with repo paths and staging URLs) + foundations.html. No page copies.


Notes

Part 2 — Specimen Cards

  1. Brand — 7 cards
  2. Colors — 4 cards
  3. Type — 4 cards
  4. Spacing — 3 cards
  5. Components — 2 cards
  6. PowerPoint — 3 cards
  7. Web — 3 cards
  8. Slides — 9 cards

Brand

Primary LogoOfficial vector wordmark + gradient symbol · stacked PNG fallback · clearspace
ModigenceVision color wordmark
ModigenceVision white wordmark
Stacked lockup

Stacked PNG fallback. Clearspace = height of the “V” in VISION. Min width 96px. Never recolor, rotate, or stretch.

Infinity symbol
Infinity symbol on ink
guidelines/cards/brand-01-logo.html · 700×300
Logo on DarkWhite knockout on ink and brand surfaces
ModigenceVision white logo on ink
ModigenceVision white logo on brand gradient
guidelines/cards/brand-02-logo-dark.html · 700×200
Symbol MarkThe infinity lens — app icon, favicon, watermark
symbol color
symbol white on navy
symbol on light circle

Standalone symbol

The interlocking aperture + eye reads as ∞ — “continuous vision.” Use only where the brand is already established, or as an icon.

guidelines/cards/brand-03-symbol.html · 700×200
MARU SymbolProduct mark — module frame with emitter dot and lens ring
MARU symbol navy
MARU symbol reversed
MARU app icon

MARU™ product symbol

Rounded module housing (ㅁ) holding two unlike eyes — the ToF emitter dot (ㆍ) and the RGB aperture ring. Ratio 5:3, stroke 10% of height, corner R 27%. One ink color only; never the parent gradient. No ™ on the symbol alone.

guidelines/cards/brand-04-maru-symbol.html · 720×210
MARU LockupsHorizontal default and the four-position vertical system
A · HORIZONTAL — DEFAULT
MARU horizontal lockup
B · VERTICAL — 4 PLACEMENTS
MARU symbolMARU wordmark
top · left
MARU symbolMARU wordmark
top · right
MARU symbolMARU wordmark
bottom · left
MARU symbolMARU wordmark
bottom · right

Lockup geometry

Horizontal: wordmark cap height = 50% of frame height; gap = 50% of frame height; vertically centered. Default for deck labels, doc headers, web.

Vertical: wordmark width = 50% of symbol width, flush to the frame edge, one stroke of clearance. Pick the corner that fits the page — the four placements mirror the layout, never the letterforms.

guidelines/cards/brand-05-maru-lockups.html · 820×300
MARU UsageClearspace, minimum size, hard rules
clearspace
CLEARSPACE — 50% OF FRAME HEIGHT
14pxh14 limit
20pxh20 min
28pxh28
40pxh40
MINIMUM SIZES
no rotation, shear, or ratio distortion
no gradient or multi-color — parent mark only
never swap dot / ring, move them, or add elements
no ™ on the standalone symbol
wordmark is IBM Plex Sans 700, tracking +0.10em, ™ at 0.44× — no substitutes
guidelines/cards/brand-06-maru-usage.html · 820×250
Imagery LibraryProduct render · exploded stack · five application scenes
MARU™ product renderDark module on transparent · use on ink with a sky-blue glow
MARU module
MARU exploded stack
Robotics
Smart Factory
Agriculture
Logistics
Healthcare
guidelines/cards/brand-07-imagery.html · 700×360

Colors

Brand BluePrimary scale — derived from the logo gradient
50
100
200
300
400
500
600
700
800
900
950
Primary · Blue 600
#0072c6 — buttons, links, key accents
Ink · Blue 950
#06243f — strong text, dark surfaces
guidelines/cards/color-01-brand.html · 700×185
Cool NeutralsBlue-tinted grays for text & surfaces
0
25
50
100
200
300
400
500
600
700
800
900
Body · Gray 700
#3b424c — paragraph text
Muted · Gray 500
#6b7480 — "VISION" wordmark gray
guidelines/cards/color-02-neutral.html · 700×185
Status & SemanticSuccess, warning, danger, info
Success
Success
#1e9e6a
soft
Warning
Warning
#d9920a
soft
Danger
Danger
#d8443c
soft
Info
Info
#0072c6
soft
guidelines/cards/color-03-status.html · 700×185
Brand GradientsThe signature sky → ink sweep of the mark
--mdv-gradient-brandsky → blue → ink
--mdv-gradient-sky1aa3e8 → 0072c6
--mdv-gradient-ink0a2a52 → 06243f
guidelines/cards/color-04-gradients.html · 700×150

Type

Type ScaleMajor-third ramp, 11 → 76px
5xl · 76Modigence
3xl · 46Vision systems
2xl · 36Engineered trust
xl · 28Detect · Analyze · Decide
lg · 22Section heading
base · 16Body copy at sixteen pixels
xs · 12Eyebrow Label
guidelines/cards/type-01-scale.html · 700×260
Display — IBM Plex Sans + Noto KREnglish-first headlines; Korean falls back to Noto

Precision vision, engineered trust

정밀한 비전, 신뢰의 기술

IBM Plex Sans · Noto Sans KR700 / 600tracking −0.022em
guidelines/cards/type-02-display.html · 700×230
Body — IBM Plex Sans + Noto KRReading text — regular / medium, 1.55 line-height

ModigenceVision builds perception infrastructure for Physical AI.

MARU™ fuses ToF 3D and RGB/IR sensing with on-device edge AI, delivered as modular hardware that scales from a single robot to an industrial fleet. 모디전스비전은 피지컬 AI를 위한 3D 퍼셉션 인프라를 만듭니다.

IBM Plex Sans · Noto Sans KR500 / 400line-height 1.55–1.62
guidelines/cards/type-03-body.html · 700×210
Data — IBM Plex MonoTabular figures for IR metrics & code
99.4%
Detection accuracy
12.8M
Frames / day
+38%
YoY ARR
IBM Plex Mono
tabular-nums
400 / 500 / 600
guidelines/cards/type-04-mono.html · 700×150

Spacing

Spacing Scale4px base grid, 4 → 160
4
1
8
2
12
3
16
4
24
5
32
6
40
7
48
8
64
9
guidelines/cards/spacing-01-scale.html · 700×150
Corner Radiixs 3 → pill 999
xs
3px
sm
6px
md
10px
lg
16px
xl
24px
2xl
32px
pill
999px
guidelines/cards/spacing-02-radii.html · 700×150
Elevation / ShadowsCool, blue-tinted, restrained
xs
sm
md
lg
xl
brand
guidelines/cards/spacing-03-shadows.html · 700×160

Components

Core — Buttons, Badges, InputsPrimary primitives & their states
components/core/core.card.html · 700×375
Data — Card & StatIR panels, KPI metrics
components/data/data.card.html · 700×370

PowerPoint

레이아웃 · 컬러슬라이드 설정 · 레이아웃 3종 · 여백(cm) · 핵심 HEX — 서식 파일 실측

슬라이드 · 위치 — 디자인 › 슬라이드 크기: 와이드(16:9)

항목값 (cm)원본 px
슬라이드 크기33.87 × 19.051280 × 720
좌우 여백1.9373
타이틀 상단1.4354
아이브로우 상단 (우측 정렬)1.2748
본문 하단 한계17.52 까지662
푸터·페이지 번호 하단18.47698
타이틀→서브타이틀 간격0.2911
카드 사이 간격 (기본)0.37 – 0.6314 – 24
카드 내부 패딩0.42 – 0.5316 – 20

환산식: cm = px × 0.02646 · 인치 = px ÷ 96. 위치 입력: 도형 서식 › 크기 및 속성.

레이아웃 3종 — 서식 파일에 실재하는 전부

레이아웃플레이스홀더크기 · 자간
제목 슬라이드ctrTitle32 pt
subTitle18 pt · 넓게 0.2
body8 pt · 넓게 1.3
제목만body18 pt
body (인용)18 pt · 좁게 0.2
빈 화면푸터 · 페이지 번호만9 pt

본문 슬라이드는 빈 화면에서 시작해 도형으로 구성합니다 — 본문용 플레이스홀더 레이아웃은 없습니다. 커버의 ctrTitle 32 pt는 본문 타이틀 30 pt와 의도적으로 다른 값입니다.

핵심 HEX — 다른 서식 › 사용자 지정

잉크 (타이틀·다크 밴드)#0A0D10
중간 회색 (서브타이틀)#929292
헤어라인#E5E5E5
블루 워시 (강조)#EEF3F8
그레이 워시 (보조)#F6F7F8
다크 패널#1F2732
덱 액센트 블루#0070C0
스카이 (다크 위 액센트)#009FE8
석세스 (출하·체결)#1E9E6A
워닝 (파일럿·로드맵)#D9920A
데인저 (결핍·갭)#D8443C
NVIDIA 파트너 액센트#76B900

soft 배경: 석세스 #E3F5EC · 워닝 #FBF0D6 · 데인저 #FBE6E5. 웹 프라이머리는 #0072C6 (덱 액센트와 구분).

테마 색 슬롯 — 이 표가 정본

슬롯
accent1#0070C0 덱 액센트 블루
accent2#009FE8 스카이
accent3#1E9E6A 석세스
accent4#D9920A 워닝
accent5#D8443C 데인저
accent6#76B900 NVIDIA
dk1 · dk2#0A0D10 · #929292

서식 파일의 테마 값이 이 표에서 한두 자리씩 어긋나 있던 것을 맞춘 상태입니다 — 스포이드로 집거나 옮겨 적는 과정에서 생기는 어긋남이라 육안으로는 드러나지 않습니다. 색을 고칠 때는 이 표를 기준으로 하고, 서식 파일 쪽을 정본으로 삼지 마십시오.

guidelines/cards/ppt-01-layout.html · 780×830
타이포그래피1 / 4설치 글꼴 · 글꼴 이름 매핑 · 크기(pt) · 문자 간격(pt) · 줄 간격(배수)

먼저 — 이 세 글꼴이 설치되어 있어야 합니다. IBM Plex Sans · IBM Plex Sans KR · IBM Plex Mono. PowerPoint는 없는 글꼴을 에러 없이 대체하므로, 미설치 상태에서도 파일은 정상으로 열리고 인쇄되며 어긋남은 다른 기기와 나란히 놓아야 드러납니다. 실제로 IBM Plex Mono가 미설치인 채로 덱이 제작된 사례가 있습니다 — KPI 숫자·키커 라벨·상태 칩·푸터가 전부 대체 글꼴이었습니다. 설치본은 Google Fonts 배포(google/fonts · OFL)를 기준으로 합니다.

guidelines/cards/ppt-02-type.html · 780×1090
타이포그래피2 / 4

글꼴 이름 매핑 — CSS weight → PowerPoint 글꼴 선택

Sans 400 Regular
IBM Plex Sans
Sans 500 Medium
IBM Plex Sans Medium
Sans 600 SemiBold
IBM Plex Sans SemiBold
Sans 700 Bold
IBM Plex Sans + B
Mono 400 Regular
IBM Plex Mono
Mono 500 Medium
IBM Plex Mono Medium
Mono 600 SemiBold
IBM Plex Mono SemiBold
Mono 700 Bold
IBM Plex Mono + B

Medium·SemiBold는 별도 패밀리로 등록됩니다 — 굵기 슬라이더가 아니라 글꼴 이름으로 골라야 합니다(Sans·Mono 동일). 폰트 파일 내부 family 이름 실측 기준.

타이포그래피3 / 4

테마 글꼴 — 슬라이드 마스터 › 글꼴 (서식 파일 현재 값)

슬롯비고
라틴 (major·minor)IBM Plex Sans새 텍스트 상자가 상속하는 값
동아시아 (major·minor)IBM Plex Sans덱은 영문 기준
한글 스크립트 (Hang)IBM Plex Sans KR한글 문자에만 발동 — 영문 렌더에 영향 없음

Mac PowerPoint의 글꼴 사용자 지정 대화상자는 라틴만 노출하고 동아시아·스크립트 칸을 보여주지 않습니다. 그 두 값은 UI로 설정할 수 없어 서식 파일에서 직접 지정한 상태입니다.

타이포그래피4 / 4

덱 텍스트 스타일 — 16:9 슬라이드 — 모든 공용 스타일은 정수 pt 고정 (deck.css도 pt 단위)

스타일크기글꼴문자 간격줄 간격*
Title30 ptPlex Sans + B좁게 0.7배수 0.9
Subtitle18 ptPlex Sans · 회색 #9292920배수 1.15
Eyebrow (우상단)10 ptPlex Sans + B · 대문자넓게 1.8단일
본문 (.body-s)10 ptPlex Sans0배수 1.3
패널 제목 (.panel-h)11 ptPlex Sans + B0단일
패널 서브 (.panel-s)9 ptPlex Sans · #9292920단일
캡션 (.cap-s)9 ptPlex Sans · #9292920배수 1.2
키커 라벨 (.klabel)8 ptPlex Mono SemiBold · 대문자넓게 0.8단일
KPI 숫자 (.kpi-v)26 ptPlex Mono SemiBold좁게 0.8배수 0.85
상태 칩 (.chip)8 ptPlex Mono SemiBold · 대문자넓게 0.5단일
인용구 (.pquote)18 ptPlex Sans Medium + I좁게 0.2배수 1.2
모노 리드 (.mono-lead)12 ptPlex Mono0배수 1.45
푸터 · 페이지 번호10 ptPlex Mono · #9292920단일

* PPT의 "배수 1.0"은 CSS line-height 약 1.17에 해당(Plex 계열 자체 행간) — 표의 배수는 이를 반영해 환산한 값. 공용 스타일은 정수 pt 고정이라 환산이 필요 없고, 슬라이드 개별 스타일만 환산식 적용 — 문자 간격: pt = em값 × 글자 크기(pt) · 크기: pt = px × 0.75. Title 30 pt는 HTML 덱의 42 px(= 31.5 pt)을 정수로 고정한 값입니다 — 두 매체가 서로 다른 것이 아니라 반올림 결과입니다. Title·본문 값은 서식 파일의 슬라이드 마스터 실측(titleStyle 30 pt / 자간 −0.7 / 행간 90%, bodyStyle 10 pt / 행간 130%)과 일치합니다.

섀도우 · 선그림자 대화상자 값(투명도·흐리게·간격·각도) · 선 두께 · 모서리

그림자 — 도형 서식 › 효과 › 그림자 (공통: 각도 90° · 크기 100% · 바깥쪽)

토큰미리보기투명도흐리게간격
shadow-xs#0A2A5294%1.5 pt0.75 pt
shadow-sm#0A2A5292%2.25 pt0.75 pt
shadow-md#0A2A5290%9 pt3 pt
shadow-lg#0A2A5288%21 pt9 pt
shadow-xl#06243F82%42 pt18 pt
shadow-brand#0072C672%21 pt7.5 pt

선 · 테두리 · 모서리

용도PPT 값비고
카드 헤어라인0.75 pt · #E5E5E5 · 실선덱 카드 기본 — 그림자 대신 헤어라인이 원칙
내부 구분선0.75 pt · #EDEDED · 실선KPI 스트립 칸막이, 리스트 구분
강조 테두리1.5 ptweb --border-thick(2px)에 대응
파일럿/로드맵 카드0.75 pt · #929292 · 파선(대시)실선=출하 중 · 파선=파일럿/로드맵 시맨틱
모서리(카드 10px)둥근 사각형 · 핸들 ≈ 0.09노란 핸들을 왼쪽 끝에서 살짝 — 짧은 변의 약 9%

환산식: 선/흐리게/간격 pt = px × 0.75 · 투명도 = 100% − (CSS 알파 × 100). 다층 그림자 토큰(sm~lg)은 첫 번째(주) 레이어 기준.

guidelines/cards/ppt-03-shadows.html · 780×660

Web

Section Grammar1 / 5H·B·P rhythm, eyebrow + head-row, ink section heads, stats, pull quote, gradient rule, footer

RHYTHM · every page alternates .section--page (white) and .section--band (#fafafa) after the hero: H-B-P-B-P… No other backgrounds except the ink hero/CTA. Radius 0. No shadows.

H · hero
B · band
P · page
B
P · CTA
Section Grammar2 / 5

.head-row.eyebrow (40×2px blue bar + uppercase 14px/0.16em) over .h2 (600, −0.012em); action link right. Title and action sit on one baseline.

Applications

Where MARU is deployed

See all verticals
Section Grammar3 / 5

.stats — figures in IBM Plex Mono 46px/400 tabular on an ink hairline; label uppercase 12px muted. .stat__v--brand for the one figure that matters.

4,000+
Modules shipped
$560K
Cumulative revenue
±0.5%
Depth accuracy
10–20 ms
On-device inference
Section Grammar4 / 5

.pull — the one quotation per section: 28px/400, ink hairline left. .gradient-rule (2px #009fe8→#00459b) is the only gradient on the site; it opens the closing CTA band.

“Brain and body are ready. The remaining challenge is the ability to see.”

Section Grammar5 / 5

.site-footer — four uppercase-headed columns, 14px muted links, ink-on-hover. Applications column lists the five verticals in canonical order.

guidelines/cards/web-01-section-grammar.html · 1200×1100
Content Blocks1 / 5States 3-up with humanoid stage, module cards, spec table, application cards, 16:9 video frame

.states-stage — Home Problem. Three .state cells (40px head icon, mono tag, .h3, muted copy); the middle .state--missing is ink at 85% so the .states-figure humanoid behind it shows through; stage crops the legs. Below 1024px the figure drops under the cards. Composition lives in CSS only — no inline sizes.

BRAIN · READY

Foundation models

Over-invested. The reasoning is here.

PERCEPTION · MISSING

The ability to see

The unsolved prerequisite for autonomy.

BODY · READY

Actuators & hardware

Affordable. Shipping in volume.

Content Blocks2 / 5

.mods / .mod — product renders on studio white: 4:3 box, object-fit: contain, never cover-cropped. Body 20px, .h3--sm + muted one-liner.

Sensor stage

Vision or ToF optics on the top face.

Edge AI stage

On-device inference, 10–20 ms.

Interface stage

Ethernet, USB-C or SerDes.

Content Blocks3 / 5

.spec-table — ink top rule, uppercase 14px row heads (210px), mono values with an 18px deep-blue row icon (tier 2). .note = muted qualifier.

3D depthToF · VCSEL 940 nm · 0.2–20 m · ±0.5%
Edge computeRuns across edge SoCs · 10–20 ms on-device
InterfaceEthernet · USB-C · SerDes · confirmed per project
Content Blocks4 / 5

.apps / .app — five vertical cards, canonical order Robotics · Smart Factory · Agriculture · Logistics · Healthcare. 4:3 scene photo (real deployment, HUD overlays), 40px head icon in deep blue, .h3--sm. Hover: ink border.

Content Blocks5 / 5

.fig.video › .video__frame — embedded film: 16:9 ink frame, iframe fills it (youtube-nocookie, muted, rel=0). Mono figcaption "title · duration". Replaces a static image only where the film explains more than a still.

IFRAME · 16:9
MARU Gen 2 — company film · 2:21
guidelines/cards/web-02-content-blocks.html · 1200×2080
Controls · Form · Icons1 / 3Ink-bordered buttons, links, live enquiry form with status line, icon tiers 40 / 18

.btn — 2px ink border, uppercase 14px/0.18em, 16×30 padding, fills ink on hover. .btn--secondary hairline muted. .link--blue deep blue underline + 18px arrow. No filled-blue buttons on the site.

Controls · Form · Icons2 / 3

.form / .field — two-column grid, uppercase 12px labels, hairline inputs, mono .hint. Live since 2026-09: data-endpoint on the form, honeypot + hidden source, and a [data-form-status] line; .field--error turns border + hint #b3261e. Nothing decorative — the state markup is the real one.

Enter a valid e-mail address.

Thanks — we reply within two working days.

Controls · Form · Icons3 / 3

ICON TIERS — Material Symbols Outlined as an inline sprite (<symbol>/<use>, no stroke-width). Tier 1 · 40px block heads (.ico--40; 48px only on neutral tiles). Tier 2 · 18px row/label icons (.ico) in deep blue inside tables. Only icons that carry information; never emoji.

Tier 1 · 40px · block heads
memory · visibility_off · precision_manufacturing · straighten · lan
Tier 2 · 18px · rows
3D depth Host · Edge AI Interface
guidelines/cards/web-03-controls-form-icons.html · 1200×900

Slides

00 · Deck PatternsWashes, hairlines, status chips, border semantics — shared deck.css vocabulary

Deck surfaces & hairlines — slides/deck.css

wash-blue#eef3f8 · emphasis
wash-gray#f6f7f8 · support
line#e5e5e5 · borders
line-soft#ededed · dividers
panel#1f2732 · dark hero
nvidia#76b900 · partner accent

Status chips — .chip (mono, uppercase)

Shipping today In pilot Roadmap MoU Live Missing Production

Border semantic — solid = shipping · dashed = pilot / roadmap

Sensor blocks
Vision — .card-now
In production, shipping by the unit.
slides/00-deck-patterns.html · 700×400
01 · CoverIR cover — white-top / black-bottom split
Humanoid robot

Perception Infrastructure
for Physical AI

Bring-up Your Machine Vision
ModigenceVision Co., Ltd. — Proprietary & Confidential
slides/01-cover.html · 1280×720
02 · ProblemThe Perception Gap — triptych + black problem band
Problem

The Perception Gap

The critical bottleneck that legacy ‘Opticians’ structurally cannot solve.

psychologyBrain (AI)Over-invested ✓
Foundation models production-ready
$300B+ invested across the model stack.
add
visibilityPerceptionMissing Link ✗
The unsolved prerequisite
No reliable real-world perception — no autonomous operation.
add
precision_manufacturingBody (HW)Affordable ✓
~80% cost reduction
542K industrial units / yr (IFR 2025).
sync_problem
Sim-to-Real Gap
Simulation ≠ real-world performance.
paid
Integration Tax
$3–5 integration cost per $1 of hardware (BCG).
tune
Scale Trap
One-size-fits-all sensors can't survive field diversity.
“Brain and body are ready. The remaining challenge is the ability to see.”
Copyright © ModigenceVision Co., Ltd. All Rights Reserved.
01
slides/02-insight.html · 1280×720
03 · SolutionMARU Platform — pillars + customer journey
Solution

MARU Platform

Integrated 3D perception platform — precision sensing, edge intelligence, and industrial scale.

photo_camera
Advanced Sensing
ToF 3D (VCSEL 940nm) + RGB/IR
Precision depth and fused imaging from a single ruggedized module.
memory
Edge Intelligence
On-device AI · Jetson / Qualcomm
Detection, segmentation and 6D pose computed at the source.
layers
Industrial Scale
Mix & Match modular HW
Mass-production supply chain with field-tunable configurations.
cached Continuous Evolution
01 · Feasibility
Deep-Dive Consulting
Diagnose the real-world perception problem.
02 · Design-in
Platform Configuration
Configure the module + edge stack to the use case.
03 · Mass Production
Industrial Scale-up
Tier-1 supply chain, validated for the field.
04 · Lifecycle OTA
Continuous Evolution
Over-the-air model and calibration updates.
“HW opens the door. Engineering builds trust. Edge AI drives profit.”
Copyright © ModigenceVision Co., Ltd. All Rights Reserved.
02
slides/03-solution.html · 1280×720
04 · Market ValidationTraction by Numbers — KPIs, revenue trajectory, drivers
Market Validation

Traction by Numbers

Accelerating from PoC to mass production.

$560K
Cumulative revenue
10+
Customers
3,000+
Units shipped
5+
Countries
63%
Gross profit (FY2025)
Revenue Trajectory
Unit: thousand USD
32
FY2023
291
FY2024
377
FY2025
1,330
FY2026 (e)
FY2026 Growth Drivers
From references to recurring production contracts.
Samsung
Vendor registration complete → 5yr+ production contract.
PRETTL
LOI → exclusive contract in progress.
Kohler
Camera-module co-development → quotation stage (5K+ units).
New pipeline
ISU Chemical, Vbody, and others.
“First revenue to mass production in under three years.”
Copyright © ModigenceVision Co., Ltd. All Rights Reserved.
03
slides/04-validation.html · 1280×720
05 · TeamIR leadership — profiles + advisory board
Team

The Team

Led by experts with 20+ years in 3D sensing & mass production.

Daehee Kim
The Visionary Architect
CEO & CTO
Daehee Kim, Ph.D.
Namuga (KOSDAQ) Adv. Dev. Group Leader · Ph.D. Imaging Science.
Gunho Lee
Hardware Master · 25+ yrs
CPO
Gunho Lee
Namuga Adv. Dev. Part Leader · 3D sensor & SoC system design.
Cheolyong Na
Finance & Scaling · 30+ yrs
CFO
Cheolyong Na
Namuga Finance Group Leader · managed KOSDAQ IPO.
HyunGon Kim
Tech Strategy · 20+ yrs
CSO
HyunGon Kim
Ex-Neubility CSO & PABLO AIR · B2B/B2G PoCs, RaaS.
Haksoo Jung
Global Strategist · 15+ yrs
CGO
Haksoo Jung
JC Interlab global marketing · UK / US partnerships.
Chaeyoung Lim
Tech Sales · 25+ yrs
Sales Director
Chaeyoung Lim
Ex-InSignal Director · Qualcomm / ODM business.
Advisory
Jeonghwa Seo, Ph.D.
Business Advisor
Founder & ex-CEO of Namuga — mentorship on IPO & scaling.
Joonki Paik, Ph.D.
Tech Advisor
Dean, AI Graduate School (Chung-Ang) · Seoul AI Future Committee.
R&D Powerhouse
10key engineers · avg. 15+ yrs
  • Tier-1 pedigree (Namuga, Samsung ecosystem) with 10+ commercialization records.
  • Full-cycle: optics, hardware / PCB, embedded SW, and AI integration.
Copyright © ModigenceVision Co., Ltd. All Rights Reserved.
04
slides/05-team.html · 1280×720
06 · TechnologyMARU Tech Stack — exploded module + HW/SW lineup
Technology

MARU Tech Stack

A modular lineup of perception technologies, combined per deployment.

MARU exploded module — ToF+RGB camera, interface board, Edge Vision AP
ToF 3D + RGB/IR · On-device Edge AI
All-in-one 3D perception module
Sensing → interface → edge inference in a single ruggedized package.
memory HW · Precision at Source
3D Camera Module
ToF 3D (VCSEL 940nm) + RGB/IR fusion; optics & package design.
Edge Processor
On-device compute — NVIDIA Jetson Orin / Qualcomm.
Hardware Interface
MIPI, GenICam, GigE Vision, ROS2 — plug-and-play.
Calibration
Temp-drift, FPPN, ToF–RGB alignment, field re-cal.
hub SW · Intelligence at Edge
3D Geometry
Reconstruction, spatial mapping, robot–camera extrinsic.
Vision AI
3D detection, segmentation, 6D pose estimation.
AI Vision SDK
Scene Perception, Point Cloud & Depth APIs.
Data Engine
Synthetic generation → auto-labeling → field feedback.
“Modules combined to match each environment and application.”
Copyright © ModigenceVision Co., Ltd. All Rights Reserved.
05
slides/06-demo.html · 1280×720
07 · ApplicationsTraction across verticals — app imagery grid
Applications

Traction across Verticals

Proven commercial traction in key Physical-AI verticals.

Robotics & Mobility
  • Outdoor delivery-robot multi-camera vision (co-dev)
  • Automotive vision core-module supply
PRETTL
Manufacturing & Logistics
  • Edge workflow for volume / distance automation
  • In-line 3D quality inspection
Tech Partnership
Smart City & Public Safety
  • Urban 3D spatial monitoring for traffic / infra
  • Privacy-by-design — no facial / biometric capture
sens2act
Healthcare
  • Next-gen X-ray device vision module (vendor reg.)
  • Surgical / diagnostic 3D imaging optics
Vendor registered
Agriculture & Food tech
  • ISOBUS + 3D vision integration for ag-equipment
  • Controlled-environment camera optimization
Client (NDA)
“Deployed across verticals. Partnered across borders.”
Copyright © ModigenceVision Co., Ltd. All Rights Reserved.
06
slides/07-roadmap.html · 1280×720
08 · Future HorizonClosing — scene background + manifesto
Future Horizon

From Sensors to Sense-Making

“Empowering AI with robust perception, to ensure a safe and harmonious coexistence in our physical world.”

Thank you.
ModigenceVision · AI Perception Co-Architect
07
slides/08-closing.html · 1280×720

Part 3 — Appendix: Token Source

Verbatim contents of the stylesheets consumers link. styles.css is the single entry point; it imports the others in order.

styles.css

/* ============================================================
   ModigenceVision Design System — global entry point.
   Consumers link THIS file. Import-only by design.
   ============================================================ */

@import url('tokens/web.css');
@import url('tokens/typography.css');
@import url('tokens/colors.css');
@import url('tokens/spacing.css');
@import url('tokens/base.css');

tokens/web.css

/* ============================================================
   ModigenceVision — Web register tokens
   SOURCE OF TRUTH: modigencevision-web / public/styles.css  :root
   Extracted verbatim at sync 2026-09-02 (staging). Re-extract on every
   site sync; do not hand-edit values here.
   Variables keep the site's own names (--ink, --line, --text-*, …) so a
   page copied from the site renders unchanged. Deck/product tokens live
   in colors.css / typography.css / spacing.css and are not affected.
   ============================================================ */

:root {
  /* ---- colour ---- */
  --ink: #111111;
  --ink-soft: #1d1d1d;
  --page: #ffffff;
  --band: #fafafa;
  --line: #e5e5e5;
  --muted: #6b6b6b;
  --blue: #009fe8;
  --blue-deep: #00459b;

  --dark-ink: #111111;
  --dark-fg: #ffffff;
  --dark-line: #2e2e2e;
  --dark-muted: #9a9a9a;

  /* ---- type ---- */
  --font-sans: 'IBM Plex Sans', system-ui, sans-serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, monospace;

  --text-5xl: 76px;   /* display / hero */
  --text-4xl: 60px;   /* display, secondary */
  --text-3xl: 46px;   /* h1 */
  --text-2xl: 36px;   /* h2, section title */
  --text-xl: 28px;    /* h3 */
  --text-lg: 22px;    /* h3, card title */
  --text-md: 18px;    /* lead */
  --text-base: 16px;  /* body */
  --text-sm: 14px;    /* label, nav, button */
  --text-xs: 12px;    /* eyebrow, meta */

  --leading-tight: 1.12;
  --leading-normal: 1.55;

  --tracking-tighter: -0.022em; /* display */
  --tracking-tight: -0.012em;   /* heading */
  --tracking-eyebrow: 0.16em;   /* uppercase label */
  --tracking-button: 0.18em;

  --w-display: 400; /* @kind font */
  --w-body: 400; /* @kind font */
  --w-medium: 500; /* @kind font */
  --w-semibold: 600; /* @kind font */

  --measure: 68ch;

  /* ---- layout ---- */
  --max-w: 1440px;
  --gutter: 64px;
  --pad-y: 112px;      /* section vertical padding, 96–128 range */
  --radius: 0;

  /* ---- motion ---- */
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1); /* @kind other */
  --dur: 160ms; /* @kind other */
}

/* ---- breakpoints: 1440 / 1024 / 768 / 480 ---- */
@media (max-width: 1024px) { :root { --gutter: 40px; --pad-y: 88px; --text-5xl: 60px; --text-3xl: 38px; --text-2xl: 30px; } }
@media (max-width: 768px)  { :root { --gutter: 28px; --pad-y: 72px; --text-5xl: 46px; --text-xl: 24px; } }
@media (max-width: 480px)  { :root { --gutter: 20px; --pad-y: 56px; --text-5xl: 36px; --text-3xl: 30px; --text-2xl: 26px; --text-md: 17px; } }

tokens/typography.css

/* ============================================================
   ModigenceVision — Typography
   ENGLISH-FIRST, collaboration-safe. IBM Plex Sans carries Latin
   — a widely-available, free, professional grotesk (Google Fonts,
   Google Slides, PowerPoint) that shares a family with IBM Plex
   Mono for system coherence. Noto Sans KR carries Korean via
   per-glyph fallback. IBM Plex Mono for figures/data (tabular).
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;700;900&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root {
  /* ---- Families ----
     IBM Plex Sans (EN, primary) · Noto Sans KR (KR) · IBM Plex Mono (data).
     --font-sans / --font-display lead with the English (Latin) set;
     browsers fall back to Noto Sans KR per-glyph for Hangul, so a
     bilingual line renders Latin in IBM Plex Sans + Korean in Noto.
     Use --font-kr only when a Korean-only block must lead with Noto. */
  --font-en:   'IBM Plex Sans', system-ui, sans-serif;
  --font-kr:   'Noto Sans KR', -apple-system, 'Apple SD Gothic Neo',
               'Malgun Gothic', sans-serif;
  --font-sans: 'IBM Plex Sans', 'Noto Sans KR', -apple-system,
               'Apple SD Gothic Neo', 'Segoe UI', system-ui, sans-serif;
  --font-display: 'IBM Plex Sans', 'Noto Sans KR', -apple-system,
                  'Apple SD Gothic Neo', system-ui, sans-serif;
  --font-mono: 'IBM Plex Mono', 'SFMono-Regular', ui-monospace, Menlo, monospace;

  /* ---- Weights (IBM Plex Sans tops out at 700) ---- */
  --weight-regular: 400;
  --weight-medium:  500;
  --weight-semibold:600;
  --weight-bold:    700;
  --weight-black:   700;

  /* ---- Type scale (1.250 major-third, 16px base) ---- */
  --text-2xs: 0.6875rem;  /* 11px — labels, legal */
  --text-xs:  0.75rem;    /* 12px */
  --text-sm:  0.875rem;   /* 14px */
  --text-base:1rem;       /* 16px — body */
  --text-md:  1.125rem;   /* 18px — lead body */
  --text-lg:  1.375rem;   /* 22px */
  --text-xl:  1.75rem;    /* 28px */
  --text-2xl: 2.25rem;    /* 36px — H2 */
  --text-3xl: 2.875rem;   /* 46px — H1 */
  --text-4xl: 3.75rem;    /* 60px — hero */
  --text-5xl: 4.75rem;    /* 76px — display */

  /* ---- Line heights ---- */
  --leading-tight:  1.12;
  --leading-snug:   1.28;
  --leading-normal: 1.55;
  --leading-relaxed:1.72;

  /* ---- Letter spacing ---- */
  --tracking-tighter: -0.022em;  /* display headings */
  --tracking-tight:   -0.012em;  /* headings */
  --tracking-normal:  0;
  --tracking-wide:    0.04em;
  --tracking-eyebrow: 0.16em;    /* uppercase eyebrows / labels */
}

tokens/colors.css

/* ============================================================
   ModigenceVision — Color System
   Anchored on the OFFICIAL logo gradient (vector source):
   bright sky #009fe8 → deep blue #00459b, spanning the infinity
   symbol (lens aperture + concentric eye).
   ============================================================ */

:root {
  /* ---- Brand blues (primitive scale; 400 & 700 are the
     official logo gradient stops) ---- */
  --mdv-blue-50:  #e6f5fd;
  --mdv-blue-100: #c3e8fb;
  --mdv-blue-200: #8fd5f4;
  --mdv-blue-300: #4fbcef;   /* light sky */
  --mdv-blue-400: #009fe8;   /* OFFICIAL bright — gradient start */
  --mdv-blue-500: #0083cf;
  --mdv-blue-600: #0072c6;   /* PRIMARY brand blue (accessible on white) */
  --mdv-blue-700: #00459b;   /* OFFICIAL deep — gradient end / wordmark */
  --mdv-blue-800: #013a82;
  --mdv-blue-900: #042c63;   /* deep navy */
  --mdv-blue-950: #04203f;   /* ink navy — deepest */

  /* ---- Cool neutrals (blue-tinted grays) ---- */
  --mdv-gray-0:   #ffffff;
  --mdv-gray-25:  #fafbfc;
  --mdv-gray-50:  #f3f5f8;
  --mdv-gray-100: #e8ebf0;
  --mdv-gray-200: #d6dbe3;
  --mdv-gray-300: #b9c1cd;
  --mdv-gray-400: #8d97a6;
  --mdv-gray-500: #6b7480;   /* "VISION" gray */
  --mdv-gray-600: #515a66;
  --mdv-gray-700: #3b424c;
  --mdv-gray-800: #272d35;
  --mdv-gray-900: #161b21;

  /* ---- Semantic status ---- */
  --mdv-success: #1e9e6a;
  --mdv-success-soft: #e3f5ec;
  --mdv-warning: #d9920a;
  --mdv-warning-soft: #fbf0d6;
  --mdv-danger:  #d8443c;
  --mdv-danger-soft: #fbe6e5;
  --mdv-info:    var(--mdv-blue-600);
  --mdv-info-soft: var(--mdv-blue-50);

  /* ---- Brand gradients ---- */
  --mdv-gradient-brand: linear-gradient(100deg, #009fe8 0%, #00459b 100%); /* @kind color */ /* OFFICIAL logo gradient */
  --mdv-gradient-sky:   linear-gradient(135deg, #009fe8 0%, #0072c6 100%); /* @kind color */
  --mdv-gradient-ink:   linear-gradient(160deg, #00459b 0%, #042c63 100%); /* @kind color */

  /* ============================================================
     Semantic aliases — reference these in components & layouts
     ============================================================ */

  /* Surfaces */
  --surface-page:    var(--mdv-gray-50);
  --surface-card:    var(--mdv-gray-0);
  --surface-sunken:  var(--mdv-gray-100);
  --surface-inverse: var(--mdv-blue-950);
  --surface-brand:   var(--mdv-blue-600);
  --surface-brand-soft: var(--mdv-blue-50);

  /* Text */
  --text-strong:  var(--mdv-blue-950);
  --text-body:    var(--mdv-gray-700);
  --text-muted:   var(--mdv-gray-500);
  --text-faint:   var(--mdv-gray-400);
  --text-on-brand: var(--mdv-gray-0);
  --text-on-inverse: var(--mdv-gray-100);
  --text-link:    var(--mdv-blue-600);

  /* Borders */
  --border-subtle: var(--mdv-gray-200);
  --border-default: var(--mdv-gray-300);
  --border-strong: var(--mdv-gray-400);
  --border-brand: var(--mdv-blue-600);

  /* Interactive accents */
  --accent:        var(--mdv-blue-600);
  --accent-hover:  var(--mdv-blue-700);
  --accent-active: var(--mdv-blue-800);
  --focus-ring:    var(--mdv-blue-400);
}

tokens/spacing.css

/* ============================================================
   ModigenceVision — Spacing, Radii, Shadows, Borders, Motion
   ============================================================ */

:root {
  /* ---- Spacing scale (4px base grid) ---- */
  --space-0:  0;
  --space-1:  0.25rem;   /* 4 */
  --space-2:  0.5rem;    /* 8 */
  --space-3:  0.75rem;   /* 12 */
  --space-4:  1rem;      /* 16 */
  --space-5:  1.5rem;    /* 24 */
  --space-6:  2rem;      /* 32 */
  --space-7:  2.5rem;    /* 40 */
  --space-8:  3rem;      /* 48 */
  --space-9:  4rem;      /* 64 */
  --space-10: 5rem;      /* 80 */
  --space-12: 7rem;      /* 112 */
  --space-16: 10rem;     /* 160 */

  /* ---- Radii ---- */
  --radius-xs:  3px;
  --radius-sm:  6px;
  --radius-md:  10px;    /* default control/card */
  --radius-lg:  16px;
  --radius-xl:  24px;
  --radius-2xl: 32px;
  --radius-pill: 999px;

  /* ---- Borders ---- */
  --border-hairline: 1px;
  --border-thick: 2px;

  /* ---- Shadows (cool, blue-tinted, restrained) ---- */
  --shadow-xs: 0 1px 2px rgba(10, 42, 82, 0.06);
  --shadow-sm: 0 1px 3px rgba(10, 42, 82, 0.08), 0 1px 2px rgba(10, 42, 82, 0.05);
  --shadow-md: 0 4px 12px rgba(10, 42, 82, 0.10), 0 2px 4px rgba(10, 42, 82, 0.06);
  --shadow-lg: 0 12px 28px rgba(10, 42, 82, 0.12), 0 6px 10px rgba(10, 42, 82, 0.06);
  --shadow-xl: 0 24px 56px rgba(6, 36, 63, 0.18);
  --shadow-brand: 0 10px 28px rgba(0, 114, 198, 0.28);
  --shadow-focus: 0 0 0 3px rgba(26, 163, 232, 0.35);

  /* ---- Layout ---- */
  --container-sm: 640px;
  --container-md: 900px;
  --container-lg: 1140px;
  --container-xl: 1320px;

  /* ---- Motion ---- */
  --ease-standard: cubic-bezier(0.22, 0.61, 0.36, 1); /* @kind other */
  --ease-emphasized: cubic-bezier(0.16, 1, 0.3, 1); /* @kind other */
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1); /* @kind other */
  --dur-fast: 130ms; /* @kind other */
  --dur-base: 220ms; /* @kind other */
  --dur-slow: 380ms; /* @kind other */
}

tokens/base.css

/* ============================================================
   ModigenceVision — Base element defaults
   Lightweight, opt-in foundations applied to bare HTML so
   specimen cards and kits inherit brand type/color out of the box.
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  color: var(--text-strong);
  font-weight: var(--weight-bold);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  margin: 0 0 var(--space-4);
  text-wrap: balance;
}

p { margin: 0 0 var(--space-4); text-wrap: pretty; }

a { color: var(--text-link); text-decoration: none; }
a:hover { color: var(--accent-hover); }

code, kbd, samp { font-family: var(--font-mono); font-size: 0.9em; }

::selection { background: var(--mdv-blue-200); color: var(--mdv-blue-950); }

slides/deck.css

/* ============================================================
   ModigenceVision — Canonical Deck Layout System
   Metrics & palette extracted VERBATIM from the Selectio pitch
   (정본, 960×540) and scaled ×1.333 to 1280×720.
   Palette is black / white / gray with small per-slide blue
   accents — exactly as in the source deck.
   TEXT SIZES ARE IN pt (1pt = 4/3px @96dpi): identical rendering
   on the 1280×720 canvas, and 1:1 into PowerPoint's 16:9
   (33.87×19.05cm) slide — no fractional font sizes in PPT.
   ============================================================ */

.slide{
  /* --- exact reference palette --- */
  --ref-black:#000000;       /* insight/validation dark bands, closing */
  --ref-ink:#0a0d10;         /* cover band / titles */
  --ref-gray:#d9d9d9;        /* connector tiles */
  --ref-gray2:#d1d1d1;       /* placeholder cards / team photos */
  --ref-gray3:#929292;       /* muted badge */
  --ref-blue:#085096;        /* journey nodes, team bar */
  --ref-blue-office:#0070c0; /* validation accent bars */
  --ref-navy-hw:#0f2740;     /* demo HW column */
  --ref-blue-sw:#0463aa;     /* demo SW column */
  --ref-navy-bar:#11304e;    /* roadmap timeline bar */
  --ref-node:#0072c6;        /* roadmap small nodes */
  --ref-sky:#009fe8;         /* roadmap big nodes (logo blue) */
  --ref-green:#22c55e;       /* ✓ status */
  --ref-red:#e30613;         /* ✗ status */

  /* --- additions promoted from the NVIDIA IGC application deck (2026-06) --- */
  --ref-line:#e5e5e5;        /* card hairline (outer borders) */
  --ref-line-soft:#ededed;   /* inner dividers */
  --ref-wash-blue:#eef3f8;   /* emphasis wash — chips, icon tiles, highlight panels, KPI strips */
  --ref-wash-gray:#f6f7f8;   /* support wash — summary bands & cards (recedes) */
  --ref-panel:#1f2732;       /* dark hero/feature panel on light slides */
  --ref-nvidia:#76b900;      /* partner accent (NVIDIA) — dark partner/console slides only */

  position:relative; width:1280px; height:720px; box-sizing:border-box;
  font-family:var(--font-sans); overflow:hidden;
  background:#ffffff; color:var(--ref-ink);
}
.slide.ink{ background:var(--ref-black); color:#fff; }
.slide.ink .glow{ position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(820px 460px at 14% 10%, rgba(0,159,232,0.16), transparent 68%); }

/* content frame — 73px L/R margin (55/960 ×1.333) */
.frame{ position:absolute; inset:0; padding:54px 73px 58px; box-sizing:border-box;
  display:flex; flex-direction:column; }

/* eyebrow — TOP-RIGHT, wide-tracked uppercase, mono-minimal */
.eyebrow{ position:absolute; top:48px; right:73px; z-index:3;
  font-size:10pt; font-weight:700; letter-spacing:0.18em; text-transform:uppercase;
  color:var(--ref-ink); }
.slide.ink .eyebrow{ color:rgba(255,255,255,0.92); }

/* title + subtitle — TOP-LEFT */
.title{ position:relative; font-size:30pt; line-height:1.08; letter-spacing:-0.022em;
  font-weight:700; margin:0; max-width:960px; color:inherit; }
.title .tm{ font-size:0.6em; vertical-align:0.45em; font-weight:600; }
.subtitle{ position:relative; font-size:18pt; line-height:1.34; margin:11px 0 0;
  color:var(--ref-gray3); max-width:900px; font-weight:400; }
.slide.ink .subtitle{ color:rgba(255,255,255,0.74); }

/* the body region grows to fill between subtitle and footer */
.body{ position:relative; flex:1; min-height:0; display:flex; flex-direction:column; }

/* centered pull-quote */
.pquote{ position:relative; text-align:center; font-size:18pt; line-height:1.38;
  font-style:italic; font-weight:500; letter-spacing:-0.012em; color:var(--ref-ink); }
.slide.ink .pquote{ color:#fff; }

/* footer — copyright centered, page number far right (13px / mono) */
.foot{ position:absolute; left:0; right:0; bottom:22px; text-align:center;
  font-family:var(--font-mono); font-size:10pt; letter-spacing:0.01em; color:var(--ref-gray3); }
.slide.ink .foot{ color:rgba(255,255,255,0.5); }
.pageno{ position:absolute; right:73px; bottom:22px;
  font-family:var(--font-mono); font-size:10pt; color:var(--ref-gray3); }
.slide.ink .pageno{ color:rgba(255,255,255,0.5); }

/* shared small pieces */
.mono{ font-family:var(--font-mono); font-variant-numeric:tabular-nums; }

/* ============================================================
   Deck patterns — promoted from the NVIDIA IGC deck (additive)
   ============================================================ */

/* mono kicker label above panels/blocks ("SENSOR BLOCKS", "PROOF ON FILE") */
.klabel{ font-family:var(--font-mono); font-size:8pt; font-weight:600;
  letter-spacing:0.1em; text-transform:uppercase; color:var(--ref-blue-office); }
.klabel.dim{ color:var(--ref-gray3); }

/* compact content scale used across dense slides */
.panel-h{ font-size:11pt; font-weight:700; letter-spacing:-0.01em; color:var(--ref-ink); }
.panel-s{ font-size:9pt; color:var(--ref-gray3); }
.body-s{ font-size:10pt; line-height:1.5; color:var(--ref-ink); }
.cap-s{ font-size:9pt; line-height:1.4; color:var(--ref-gray3); }

/* KPI figure (mono, tabular) */
.kpi-v{ font-family:var(--font-mono); font-size:26pt; font-weight:600;
  letter-spacing:-0.03em; line-height:1; color:var(--ref-ink); font-variant-numeric:tabular-nums; }

/* status chips — semantic colors come from tokens/colors.css */
.chip{ display:inline-block; font-family:var(--font-mono); font-size:8pt; font-weight:600;
  letter-spacing:0.06em; text-transform:uppercase; padding:3px 8px; border-radius:4px; }
.chip.ship{ background:var(--mdv-success-soft); color:var(--mdv-success); }  /* shipping / signed */
.chip.next{ background:var(--mdv-warning-soft); color:var(--mdv-warning); }  /* pilot / roadmap / in discussion */
.chip.form{ background:var(--ref-wash-blue); color:var(--ref-blue-office); } /* agreement type: MoU / Channel / LIVE */
.chip.miss{ background:var(--mdv-danger-soft); color:var(--mdv-danger); }    /* missing / gap */
.chip.solid{ background:var(--mdv-success); color:#fff; }                    /* ribbon over case photos */

/* border semantic: SOLID = shipping today · DASHED = pilot / roadmap */
.card-now{ background:#fff; border:1px solid var(--ref-line); border-radius:10px; }
.card-next{ background:#fff; border:1px dashed var(--ref-gray3); border-radius:10px; }

/* mono lead paragraph — cover/closing voice */
.mono-lead{ font-family:var(--font-mono); font-size:12pt; line-height:1.7; letter-spacing:0.01em; }