# Consulting Ghost Deck

순백 캔버스 위 완결 문장 액션 타이틀 + 무채색 슬레이트 본문, 강조는 잉크 네이비 단 1칸 — 전략 컨설팅 덱의 고스트 프레임워크 스타일.

- taxonomy: corporate-clean · consulting-deck, action-title, monochrome-slate, ghost-deck, data-ink, executive-report · complexity=medium
- page types: presentation
- best for: 전략 보고·경영진(C-level) 보고 덱, 시장 분석·실사 등 데이터 근거 중심 보고서, 사업 계획·운영 개선 제안서
- avoid for: 데모데이·투자 유치 피치덱(감성 임팩트형), 브랜드 무드·포트폴리오 쇼케이스 덱, 화려한 모션·비주얼이 필요한 제품 런칭 키노트
- provenance: authored (design-diversity 팩 'ppt-mckinsey-ghost-deck' (MIT) 각색) — confidence: colors=manual, typography=manual, spacing=manual, motion=manual, layout=manual

## Design rules

# Consulting Ghost Deck

## Overview
The generalized craft of strategy-consulting report decks, stripped of any firm's identity. A pure-white 16:9 canvas where every content slide leads with an **action title** — a complete declarative sentence that states the slide's conclusion — over a monochrome slate body. Emphasis is never a color choice: it is bold weight, or exactly one ink-navy fill per chart. The deck's diagram vocabulary (waterfall, marimekko, 2x2 matrix, Minto pyramid) does the persuading; the styling stays invisible. "The slide states its own conclusion" is the whole identity.

## Colors & Roles
Canonical mode is **light**: `background` is pure white on every slide. Text and data live on a four-step neutral ramp traced from the source pack — ink (`foreground`, #1A1A1A) for action titles, slate (#3D4350) for body, mid-gray (`muted-foreground`, #7A828F) for kickers/captions/footnotes, light gray (`border`, #C9CDD3) for hairlines and de-emphasized bars. The single chromatic voice is ink navy (`primary`/`accent`, #1F3A5F → oklch 0.347 0.073 256.7): one emphasis bar, one filled box, one delta marker — never more per chart. `chart-1..5` form a disciplined slate ramp with navy only at `chart-1`; series separation is lightness, and the emphasized series is the only saturated one. `destructive` also maps to navy — the palette is chromatically closed, with no red. The dark map is an authored "boardroom dark" adaptation (deep slate surfaces, lifted navy) and is not part of the original spec.

## Typography Rules
One sans family: Inter for Latin, Pretendard for Korean (Google Fonts fallback: Noto Sans KR). Deck type steps, in pt on a 13.33in × 7.5in canvas: action title 26pt / semibold / −0.01em / 1.25 line-height / max 2 lines, always a complete declarative sentence; kicker 13pt / medium / +0.04em / uppercase / mid-gray; body 18pt / regular / 1.35, at most 6 lines per slide; diagram labels 14pt medium; chart values and KPI labels 14pt semibold with tabular figures; KPI hero numbers 40pt bold ink; source footnote 10pt regular mid-gray. Text emphasis is bold weight only — never color, never italics.

## Layout Principles
16:9 canvas, 12-column grid, margins 0.6in left/right, 0.5in top, 0.4in bottom. The **action-title band** occupies the top 0–1.3in (kicker, then title, then a 0.75pt light-gray rule); the body/diagram zone runs 1.5–6.9in. Composition is asymmetric and dense in the consulting manner: diagram on the right two-thirds, commentary text on the left third. Everything is left-aligned — centered slides are banned. Footer: slide number bottom-left, source footnote bottom-right (mandatory on data slides).

## Depth & Elevation
Completely flat. No shadows, gradients, glass, noise, or blur — ever. Division and containment are done with 0.75–1pt light-gray hairlines; prominence is done with the single navy fill or bold weight.

## Shapes
Zero border-radius everywhere — rectangles, table cells, badges, chart bars. Arrows are 1pt chevrons with filled triangular heads. Number badges are 0.32in squares, navy-filled with white semibold digits.

## Component Stylings
- **Action title block**: uppercase kicker (13pt, mid-gray) above a 26pt semibold complete-sentence title, closed by a 0.75pt hairline rule. Left-aligned, top band.
- **Body bullets**: 18pt slate, max 6 lines/slide, plain square or dash markers; emphasis within a bullet is bold, not color. Prefer left-third commentary next to a right-two-thirds diagram over full-width text.
- **Charts**: data-ink minimalism — no legend, no gridlines, no y-axis; only a 0.75pt x baseline; baseline always 0. One navy emphasis bar/segment, rest neutral lightness. Direct 14pt semibold tabular value labels above bars with +/− signs. Waterfall: navy start/end bars, slate increases, 45° hatched decreases, dotted connectors. Marimekko/100%-stacked: neutral lightness segments, one navy, percent labels inside. Render precisely (SVG in HTML decks) — no sloppy div-block bars in production.
- **Data table**: header row slate-filled with white text; 0.75pt hairline cell rules; check/dash glyphs for met/unmet, both neutral.
- **KPI cards**: borderless on white — 40pt bold ink value, 14pt label, triangle delta encoded by weight/glyph (▲ bold up, ▽ regular down), never color; 3–4 per slide separated by vertical hairlines.
- **Footer / pagination**: 10pt slide number bottom-left; 10pt mid-gray "Source: … (unit)" bottom-right, mandatory wherever data appears.

## Motion
None. Slide transitions are hard cuts; no build-ins, no object animation. The static authority of the action title is the point.

## Do's and Don'ts
**Do:** write action titles as complete declarative sentences ("Revenue grows in emerging markets"); emphasize with bold weight or one navy fill per chart; stick to the waterfall/marimekko/2x2/Minto vocabulary; label data directly; always add the source footnote.
**Don't:** use noun-phrase titles; use rainbow palettes, legend boxes, gridlines, 3D, or truncated y-axes; round corners, add shadows or gradients; center-align slides; use emoji, clipart, or stock icons; reproduce real client names or actual consulting-firm logos/slides.

## Slide Anatomy
- **Title slide**: white canvas, left-aligned large complete-sentence deck title + kicker line, presenter/date at bottom, confidentiality note bottom-right. No imagery.
- **Action-title content slide**: the workhorse — kicker + action title + rule on top; left third holds 3–4 lines of commentary, right two-thirds holds exactly one diagram or chart; source footnote bottom-right.
- **Exhibit/chart slide**: action title states what the chart proves ("70% of cost savings come from logistics"); one chart fills the body zone with the single navy emphasis; value labels direct; source + units mandatory.
- **Divider slide**: giant 60pt section number on the left, action-title-style section sentence on the right; otherwise empty white.
- **Closing/summary slide**: Minto-style — one conclusion box on top branching to 2–3 evidence boxes with right-angle connectors, or a 3–4 item numbered takeaway list.

## Agent Prompt Guide
> Build this presentation in the 'Consulting Ghost Deck' style: pure-white 16:9 slides where every content slide opens with an action title — a complete declarative sentence stating the slide's conclusion — over an uppercase kicker and a 0.75pt hairline rule. Monochrome slate type ramp; the only emphasis color is ink navy, used for exactly one bar, segment, or box fill per chart. Charts have no legends, gridlines, or y-axis — direct tabular value labels, baseline at 0; the diagram vocabulary is waterfall, marimekko, 2x2 matrix, Minto pyramid, and chevron process flows. Zero radius, zero shadows, cut transitions only, asymmetric diagram-right/commentary-left layout, mandatory source footnotes.

## Known Gaps / Confidence
Adapted from the MIT-licensed design-diversity pack `ppt-mckinsey-ghost-deck` — an authored spec, not an extraction from a live deck, so all confidence fields are `manual`. First ppt-track entry in this library: the shadcn token mapping is a web-rendering convenience (pt-based type steps, 16:9 frames), and the dark color map is an authored boardroom-dark adaptation absent from the source pack. Trademark care: the style generalizes consulting-deck conventions and must not reproduce any real firm's logo, name, or actual slides.


## Tokens (theme.css — use these values verbatim, do not re-derive)

```css
/* Consulting Ghost Deck — theme.css (generated, do not edit) */
:root {
  --radius: 0px;
  --radius-selector: 0px;
  --radius-field: 0px;
  --font-sans: 'Inter', 'Pretendard', 'Noto Sans KR', Arial, sans-serif;
  --spacing: 8px;
  --shadow: 0px 1px 2px 0px color-mix(in oklab, oklch(0 0 0) 0%, transparent);
  --background: oklch(1 0 0);
  --foreground: oklch(0.218 0 0);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.218 0 0);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.218 0 0);
  --primary: oklch(0.347 0.073 256.7);
  --primary-foreground: oklch(1 0 0);
  --secondary: oklch(0.945 0.005 258);
  --secondary-foreground: oklch(0.383 0.024 265.7);
  --muted: oklch(0.965 0.003 258);
  --muted-foreground: oklch(0.604 0.022 260.2);
  --accent: oklch(0.347 0.073 256.7);
  --accent-foreground: oklch(1 0 0);
  --destructive: oklch(0.347 0.073 256.7);
  --destructive-foreground: oklch(1 0 0);
  --border: oklch(0.847 0.009 258.3);
  --input: oklch(0.847 0.009 258.3);
  --ring: oklch(0.347 0.073 256.7);
  --chart-1: oklch(0.347 0.073 256.7);
  --chart-2: oklch(0.383 0.024 265.7);
  --chart-3: oklch(0.604 0.022 260.2);
  --chart-4: oklch(0.847 0.009 258.3);
  --chart-5: oklch(0.218 0 0);
}

.dark {
  --background: oklch(0.205 0.015 265);
  --foreground: oklch(0.93 0.006 258);
  --card: oklch(0.24 0.016 265);
  --card-foreground: oklch(0.93 0.006 258);
  --popover: oklch(0.24 0.016 265);
  --popover-foreground: oklch(0.93 0.006 258);
  --primary: oklch(0.58 0.08 256.7);
  --primary-foreground: oklch(0.985 0.003 258);
  --secondary: oklch(0.28 0.018 265);
  --secondary-foreground: oklch(0.87 0.008 258);
  --muted: oklch(0.28 0.018 265);
  --muted-foreground: oklch(0.66 0.02 260);
  --accent: oklch(0.58 0.08 256.7);
  --accent-foreground: oklch(0.985 0.003 258);
  --destructive: oklch(0.58 0.08 256.7);
  --destructive-foreground: oklch(0.985 0.003 258);
  --border: oklch(0.32 0.018 265);
  --input: oklch(0.32 0.018 265);
  --ring: oklch(0.58 0.08 256.7);
  --chart-1: oklch(0.58 0.08 256.7);
  --chart-2: oklch(0.80 0.01 258);
  --chart-3: oklch(0.66 0.02 260);
  --chart-4: oklch(0.42 0.02 264);
  --chart-5: oklch(0.93 0.006 258);
}
```

## Golden example (exemplar.html — match this structure and token usage)

```html
<!-- Golden snippet for "Consulting Ghost Deck". Fragment — assumes the style's CSS variables
     (--background, --foreground, --primary, --muted-foreground, --border, --font-sans, ...) are in scope.
     Tokens only; no literal colors. Two 16:9 slide frames: an action-title content slide and a divider. -->
<div style="display:flex; flex-direction:column; gap:2rem; font-family:var(--font-sans); max-width:960px; margin:0 auto;">

  <!-- Slide 1: action-title content slide -->
  <section style="aspect-ratio:16/9; border:1px solid var(--border); background:var(--background); color:var(--foreground); padding:4.2% 4.5% 3.4%; display:flex; flex-direction:column; box-sizing:border-box;">
    <p style="margin:0 0 .4em; font-size:.68rem; font-weight:500; letter-spacing:.04em; text-transform:uppercase; color:var(--muted-foreground);">Cost Program &mdash; Diagnostic</p>
    <h2 style="margin:0 0 .55em; font-size:1.45rem; font-weight:600; line-height:1.25; letter-spacing:-.01em;">70% of the savings potential sits in logistics, not procurement.</h2>
    <div style="border-top:1px solid var(--border);"></div>

    <div style="flex:1; display:grid; grid-template-columns:1fr 2fr; gap:5%; align-items:stretch; padding-top:5%;">
      <ul style="margin:0; padding-left:1.1em; font-size:.82rem; line-height:1.35; color:var(--secondary-foreground);">
        <li style="margin-bottom:.6em;">Logistics drives <strong>EUR 41M</strong> of the total pool</li>
        <li style="margin-bottom:.6em;">Procurement levers are largely exhausted</li>
        <li>Warehouse network is the single biggest lever</li>
      </ul>
      <div style="display:flex; align-items:flex-end; gap:9%; border-bottom:1px solid var(--foreground); padding:0 4%;">
        <div style="flex:1; text-align:center;"><div style="font-size:.75rem; font-weight:600; font-variant-numeric:tabular-nums;">41</div><div style="height:96px; background:var(--chart-1);"></div></div>
        <div style="flex:1; text-align:center;"><div style="font-size:.75rem; font-weight:600; font-variant-numeric:tabular-nums; color:var(--muted-foreground);">12</div><div style="height:28px; background:var(--border);"></div></div>
        <div style="flex:1; text-align:center;"><div style="font-size:.75rem; font-weight:600; font-variant-numeric:tabular-nums; color:var(--muted-foreground);">4</div><div style="height:10px; background:var(--border);"></div></div>
      </div>
    </div>

    <div style="display:flex; justify-content:space-between; align-items:baseline; padding-top:2.5%;">
      <span style="font-size:.6rem; color:var(--muted-foreground);">7</span>
      <span style="font-size:.6rem; color:var(--muted-foreground);">Source: Company data, team analysis (EUR M, FY25)</span>
    </div>
  </section>

  <!-- Slide 2: section divider -->
  <section style="aspect-ratio:16/9; border:1px solid var(--border); background:var(--background); color:var(--foreground); padding:4.2% 4.5% 3.4%; display:flex; flex-direction:column; box-sizing:border-box;">
    <div style="flex:1; display:grid; grid-template-columns:1fr 2fr; gap:5%; align-items:center;">
      <div style="font-size:3.6rem; font-weight:700; line-height:1; color:var(--primary); font-variant-numeric:tabular-nums; border-right:1px solid var(--border); padding-right:8%;">03</div>
      <div>
        <p style="margin:0 0 .5em; font-size:.68rem; font-weight:500; letter-spacing:.04em; text-transform:uppercase; color:var(--muted-foreground);">Section 03 &mdash; Implementation</p>
        <h2 style="margin:0; font-size:1.45rem; font-weight:600; line-height:1.25; letter-spacing:-.01em;">A three-wave rollout captures full run-rate savings by 2028.</h2>
      </div>
    </div>
    <div style="display:flex; justify-content:space-between; padding-top:2.5%;">
      <span style="font-size:.6rem; color:var(--muted-foreground);">15</span>
      <span style="font-size:.6rem; color:var(--muted-foreground);">Confidential &mdash; internal working document</span>
    </div>
  </section>

</div>
```

## Apply

- shadcn project: `npx shadcn@latest add https://web.ggum.uk/styles/r/ppt-consulting-ghost.json` — installs the tokens above into globals.css, then use semantic classes (bg-background, text-primary, …) only.
- other stack: paste the theme.css block above into your global stylesheet and style everything via `var(--…)` references.
- single HTML/artifact: embed the theme.css block in a `<style>` tag and follow the exemplar's markup pattern.
- dark mode: toggle the `.dark` class (both variants are in the tokens above).
- before finishing: re-check every Don't in the Design rules section above against your output.
