watsonx Live · Intel × IBM · Design System
Component Library · In Progress

watsonx Live Design System

Documents the real tokens, patterns, and components inside the 18-screen watsonx Live mobile prototype. The prototype itself is self-initiated and never deployed; the Intel × IBM pitch and microsite it extends were real work that contributed to IBM winning expanded business with Intel. All values below are read directly from app/index.html, not reconstructed from memory.

Colors

Every color below is a declared token in the app :root. Two brand blues sit side by side deliberately: Intel's palette carries the hardware and silicon screens, IBM's carries the cloud and AI-platform screens.

Brand
Intel and IBM blues, kept distinct rather than blended into one house color

Five tokens, split across two brand systems that never blend into a single "house blue." Intel's three carry the hardware-facing screens (onboarding, Snap camera, Silicon scan); IBM's two carry the cloud/AI-platform screens (Ask, Sandbox). --intel-energy is the busiest of the five — it's the one color reused for every "something is live right now" signal in the app.

Declared verbatim in app/index.html's :root, cross-checked against this library's own token block (line 49 of this file).
--intel-blue
#0068B5
Intel-side surfaces: onboarding, silicon, hardware
--intel-energy
#00C7FD
Live/active accent — scanlines, listening rings, the infra pill's dot label, every "something is happening now" moment
--intel-blue-deep
#003C71
Deep Intel surface tint
--ibm-blue
#0F62FE
IBM Cloud / watsonx-side surfaces: Ask, Sandbox
--ibm-blue-dark
#002D9C
Deep IBM surface tint
Surface stack
Dark, navy-leaning background scale — no pure black

Four surfaces, each one step lighter than the last, all mixed with navy rather than gray — the app never drops to a true black (#000) or a neutral gray card. --surface-2 is the lightest of the four and is reused specifically for the outbound side of the Ask chat thread, so a partner's own question reads as slightly "raised" above the model's reply.

Declared verbatim in app/index.html's :root: --bg, --bg-2, --surface, --surface-2.
--bg
#0B1020
App background
--bg-2
#0E1530
Topbar / onboarding backdrop
--surface
#131A35
Cards, pipeline panels
--surface-2
#1A2247
Raised elements, user chat bubbles
Semantic
Two states, used sparingly

Only two semantic colors exist in the whole app — no separate error/red token at all. --ok marks anything confirmed or complete (a finished pipeline step, the infra pill's live dot); --warn is reserved for attention states. The restraint is deliberate: most of what the app communicates is progress and provenance, not failure states.

Declared verbatim in app/index.html's :root: --ok, --warn. No --error/--danger token exists in the app.
--ok
#42BE65
Confirmed / verified — the infra pill's live dot, completed pipeline steps
--warn
#F1C21B
Attention states
Typography

IntelOne Display end to end — Intel's own retail typeface carries IBM's content too, rather than switching families between brand zones. This is the same typeface used for the "IA → AI" letter morph in the opening film.

Four weights, each tied to one real job rather than to a size — and the mapping holds across both surfaces. Light (300) carries the largest, most declarative text on either surface: the app's onboarding hero and the microsite's own H1, same weight, same "meant to feel spoken rather than declared" register. Medium is the workhorse — every screen title in the app, every H3/H4 on the microsite. Bold is reserved for the smallest text, not the largest, on the app side (tiny uppercase chip callouts); the microsite doesn't use 700 at all in headings, only in a handful of UI labels — a real, worth-noting asymmetry rather than a mistake to paper over.

App samples are real strings from app/index.html at their real declared weight. The microsite sample is the real H1 from index.html ("From IA to AI. The Age of Ingenuity, written together.") — its font-family/weight (IntelOne Display, 300) is declared in assets/css/intel-ibm.css's h1 rule, not inline, and matches the app's Light weight exactly. Shown larger than in-context size where the real size is too small to read as a specimen (noted per row).
From IA to AI. The Age of Ingenuity, written together.
Light · 300 · microsite H1 (index.html, styled by intel-ibm.css)
Microsite hero heading
Enterprise AI, at the speed of silicon.
Light · 300 · 32px in app
Onboarding hero (.onb-title), Ask answer body
Snap to extract
Medium · 500 · 17px in app
Screen titles (.scr-head h2)
Q3 supplier invoices · 142 docs
Regular · 400 · 13px in app
Home screen recent-item titles
Gaudi 3
Bold · 700 · 9px in app
Small uppercase chip label (Benchmark screen)
Motion

Two layers: base UI timing (declared as tokens in :root, used for taps, sheets, and transitions) and three signature "beats" — bespoke timings tuned for the flagship moments, not tokenized, because each one earns its own duration.

Base UI tokens
Declared durations and easing curves — every ordinary transition uses one of these

Four durations, two curves — every ordinary transition in the app (button press, card hover, panel fade, the sheet sliding in) reuses one of these six values rather than declaring its own timing. --dur-slide is the outlier: it's the only duration paired with the spring curve instead of the standard one, because it's the one transition (the slide-in sheet) meant to feel like it overshoots slightly rather than settling flat.

Two curves cover the whole app: --ease-std (cubic-bezier(0.25,0.46,0.45,0.94)) for press/fast/base, and --ease-spring (cubic-bezier(0.32,0.72,0,1)) for the slide-in sheet transition. Values declared verbatim in app/index.html's :root.
--dur-press
120ms
--dur-fast
180ms
--dur-base
300ms
--dur-slide
420ms · spring
Three signature beats
Full interactive versions, with curve readouts, are in the Motion Lab below

Three flagship moments get their own bespoke, un-tokenized timing rather than reusing the base tokens above: the Snap-pipeline cascade (staccato glide), the Silicon chip-scan AR sweep (sine in/out), and the Ask-Granite listening rings (ease-out). Each one earns its duration because it's a one-off signature beat, not a repeated interaction pattern like a button press.

Names and curve readouts are the same three cards in the Motion Lab's mlm-dot data attributes below — 0.83s staccato glide, 2.4s sine in/out, 2.5s ease-out.
Motion Lab

The same interactive suite that runs in the case study, carried over in full rather than trimmed — tap any card to replay it, or run all three at once to compare curves on one axis.

Motion lab · three prototype beats

One breath, three beats.

Tap any moment to feel its curve. The snap-pipeline ticks four inference steps in 0.83 seconds; the chip-scan sweeps a die at 2.4; the listening rings ease out at 2.5. Same easing family across all three. Below, all three stacked on the same axis.

Snap-pipeline cascade

A partner snaps an invoice; watsonx Live redacts personal data on-device, routes to IBM Cloud in Frankfurt, runs inference on a Gaudi 3 accelerator, then structures and verifies the result with watsonx.ai — each step ticking off with its own millisecond timing. The whole pipeline lands in 0.83 seconds, staccato where the chip-scan sweeps. The infrastructure decisions, made visible.

Duration · 0.83s Curve · intel-glide

Chip-scan AR sweep

A cyan scanline eases across an exploded-view die at 2.4 seconds, sine-in-out — no linear snaps, no sudden stops. Floating callouts arrive as the line crosses each tier of silicon. The camera becomes the document; the device disappears into the artifact.

Duration · 2.4s Curve · sine-in-out

Ask-Granite listening

When the room asks Granite a question, two concentric rings expand outward from the mic on a long ease-out, staggered 800ms apart. Wait states are trust moments — the design communicates that something is happening before anything arrives. Same conviction as the chip-scan; different beat in the session.

Duration · 2.5s Curve · ease-out
Same axis · three curves
Snap pipeline Chip scan Listening
Motion lab · Cycle through it
Snap-pipeline cascade
0.83s · staccato glide
Camera as Document Key

Not a name declared anywhere in the prototype's own code — this is the pattern made explicit for the first time here, based on what the two flagship capabilities already share structurally. Snap (invoice OCR) and Silicon (AR chip-scan) are built from the same three-stage shell: viewfinder, pipeline overlay, verdict. Two different capabilities, one underlying component architecture.

Three-stage shell

Named here, not in the codebase — Snap and Silicon never share a literal shared component in app/index.html, but their three screens each map onto the same shape in the same order. The three steps at right are that shape made explicit, so a third capability added later has a pattern to match rather than reinventing its own flow.

The test for anything new added to either flow: does it belong to the object being scanned, or is it interface the object doesn't need? If the latter, it's chrome — hold it back for the tabbed home screens instead.
1
Viewfinder — the camera becomes the document
A live camera feed with a reticle or scanline. The object being pointed at — invoice or chip — is the input; there is no separate "upload" step.
Screens: Snap · Camera, Silicon · AR scan
2
Pipeline overlay — the same component, two payloads
Both capabilities render the identical .pipeline markup and CSS — a head label, a live-dot, and a list of .p-step rows that tick from pending to done with their own millisecond timing. Only the four step labels differ: encrypt/route/infer/structure for Snap, detect/match/provenance/render for Silicon.
Screens: Snap · Pipeline, Silicon · Identifying
3
Verdict — the answer lands on what you pointed at
Structured fields for an invoice; provenance and spec for a chip. Either way, the result attaches to the object in frame, not to a separate results screen the object disappears from.
Screens: Snap · OCR result, Silicon · Result
Topbar

Persistent brand mark and avatar. Padding changes by mode rather than the component disappearing outright — 60px top padding in child mode, so the header still orients the partner without competing with the capability below it.

Topbar

Brand mark and avatar, present in every mode except onboarding. The base .topbar rule already carries 60px of top padding by default — child mode's own override only trims the bottom padding from 12px to 6px, a smaller adjustment than "the header gets 60px of padding in child mode" might suggest; the 60px is the shared default, not a child-mode addition.

Avatar initials are AC in app/index.html (the avatar links to Settings via onclick="goTab('settings')"), not a placeholder single letter. The bell/notification button that sits beside it in the real topbar is documented separately under Notification Badge.
watsonx Live
AC
Topbar · tabbed mode
Infra Pill

A live status readout naming the accelerator and connection in one line. The one counterintuitive fact worth stating plainly: it's not visible during any of the four capability flows — it's hidden in both onboarding and child mode, and only shows on the three tabbed home screens (Home, History, Settings). The system reserves the "here's what's running" readout for when the partner is browsing, not for when they're mid-task.

Infra Pill

One line, three facts: a live-pulsing dot, which accelerator and cloud it's running on, and the connected region with its latency reading. It sits directly under the topbar on every tabbed screen — the only place in the app that states outright what hardware is doing the work.

Verified against app/index.html: .app[data-mode="onboarding"] .infra-pill and .app[data-mode="child"] .infra-pill both resolve to display: none. Value text is verbatim from the real .infra-pill .value span — "Frankfurt · 18 ms" — not the generic "Live" shown in earlier drafts of this block.
Gaudi 3 · IBM Cloud Frankfurt · 18 ms
Visible only in tabbed mode
Tabbar

Three destinations only: Home, History, Settings. Every capability (Snap, Ask, Sandbox, Silicon) is reached from Home rather than getting its own tab — the tabbar stays uncluttered as capabilities are added.

Tabbar

Fixed at three destinations, Home active by default. None of the four capabilities — Snap, Ask, Sandbox, Silicon — has its own tab; each is launched from a card on Home instead, so adding a fifth capability later doesn't require a fourth tab.

Verbatim from app/index.html: three .tab buttons, data-tab="home"|"history"|"settings", each calling goTab(name).
Home
History
Settings
Screen Modes

Every screen routes into exactly one of three modes, determined by which set its name belongs to — not set manually per screen. Verified against the routing function in app/index.html.

Three modes, computed once from two hardcoded name sets (ONBOARDING_SCREENS, TAB_SCREENS) rather than declared per screen — anything not in either set falls through to child mode by default, so a new capability screen inherits the right chrome automatically instead of needing its mode set by hand.

Child mode's topbar override is smaller than it can read at a glance: .app[data-mode="child"] .topbar only trims bottom padding from 12px to 6px — the 60px top padding is the topbar's own default in every mode, not something child mode adds.
1
Onboarding
Full-bleed, no topbar, no infra pill, no tabbar. Welcome, region select, Face ID setup.
Screens: welcome, region, faceidSetup
2
Tabbed
Full chrome: topbar, infra pill, tabbar. The only mode where the live accelerator status is visible.
Screens: home, history, settings
3
Child
Topbar stays (repositioned, more padding) but the infra pill and tabbar hide. Every capability screen defaults here — everything that isn't onboarding or a tab destination.
Screens: snap, ask, sandbox, silicon, and all their sub-states
Buttons

Primary is a literal gradient from Intel blue into IBM blue — the same "two brand systems, one grammar" thesis the motion language makes, rendered as a single pixel-level blend rather than just stated in prose.

Primary
Intel blue → IBM blue gradient

A 135° gradient from --intel-blue to --ibm-blue, lifting 2px on hover with a wider, energy-tinted shadow. It's the one button style shared by every screen that moves a partner forward — onboarding, opening chat, running the benchmark.

Gradient values verbatim from .btn-primary in app/index.html: linear-gradient(135deg, var(--intel-blue) 0%, var(--ibm-blue) 100%). Label text "Open chat" is the real button on the Sandbox-ready screen.
Ghost
Secondary actions — pause, back, export

Translucent white fill, no gradient — reserved for the lower-stakes half of a button pair: pausing a tenant, backing out of a result screen, exporting instead of continuing. It lifts on hover the same 2px as Primary, but the shadow never picks up the energy-blue tint.

Label text "Back to silicon" is the real ghost button on the Benchmark screen, paired with a primary "Export results" — it navigates back to Silicon Result (onclick="go('hwResult')").
Toggle

iOS-style switch, used exclusively in Settings. Three of the six real toggles are privacy and governance controls, not preferences — "on" is the default for exactly the settings a regulated-industry buyer would ask about first.

Toggle

Six real toggles across two Settings groups — "Data & privacy" (data residency lock, on-device PII redaction, audit log) and "Notifications" (anomaly alerts, renewal reminders, Silicon updates). Five default on; only Silicon updates — marketing-adjacent, not governance — defaults off.

First three rows are the real "Data & privacy" group, verbatim from app/index.html's .setting-row .s-t/.s-v pairs. Fourth row ("Silicon updates") is from the separate "Notifications" group, shown here specifically because it's the one toggle in the app that starts off.
Data residency lock — bytes never leave your region
On-device PII redaction
Audit log
Silicon updates
Segmented Control

Used once, on the Energy mode setting — balances watts against throughput on the Gaudi 3 tenant.

Segmented Control

Three options, one row, used in exactly one place in the whole app — the Energy mode row in Settings, where it trades power draw against inference throughput on the tenant's Gaudi 3 allocation. Balanced is the real default.

Verbatim from app/index.html: id="seg-energy", three .seg buttons (data-v="eco"|"bal"|"perf"), .seg.active starts on "bal". Subtitle text is real: "Balances watts vs. throughput."
Inference Pipeline

One component, reused verbatim for Snap and Silicon (see Camera as Document above). Each step ticks from pending to done with its own timestamp — the wait is the explanation, not a spinner layered on top of it.

Snap · invoice pipeline

Four steps, each with its own real millisecond timestamp — 0.32s, 0.18s, 0.24s, 0.09s, summing to the total shown on the Snap Result screen. The wait itself is the explanation: a partner sees exactly which stage is running (encrypt, route, infer, structure) instead of one undifferentiated spinner.

Labels verbatim from #pipeline in app/index.html — not paraphrased. This pipeline previously used invented placeholder labels ("Extract pixels," "Classify fields"…) in an earlier draft; corrected 2026-07-11 to match what the prototype actually runs.
Inference pipeline
Encrypt & redact PII
0.32s
Route to IBM Cloud · Frankfurt
0.18s
Infer on Gaudi 3
0.24s
Structure & verify · watsonx.ai
0.09s
Silicon · identification pipeline

Same markup and CSS as the Snap pipeline, different payload — detect, match, provenance, render, instead of encrypt, route, infer, structure. This version doesn't carry per-step timestamps in the real app; the dashes below are honest, not a placeholder waiting to be filled in.

Labels verbatim from #hwPipeline in app/index.html.
Identifying silicon
Detect package · die signature
Match → Intel product catalog
Pull provenance from IBM Cloud
Render AR overlay
Ask · Granite Chat

Streaming answers with inline citations, plus a distinct listening state for voice input. The rings are a separate component from the pipeline above — thinking is represented differently from processing.

Cited answer

Three real starter questions ship in the prototype — vendor spend, contract renewal risk, and Albany fab readiness — each with its own answer, source list, latency, and token throughput. Two are shown here to prove the pattern re-populates rather than being one hardcoded string; a third (fab readiness) exists in the same data but isn't shown for space.

Both bubbles are verbatim from STARTERS in app/index.html (this-vendor-q3 and renewal-risk keys) — bold spans mark the same values the real app cites inline with superscript numbers. Source chip text is trimmed from the real sources[].t field, not invented.
Total spend with Silicon Valley Foundry in Q3?
Across Q3, total spend was $1.42M, on 17 invoices.
Source · AP ledger · SVF
Which contracts have renewal risk in the next 60 days?
4 contracts flagged: Acme Cloud (auto-renews 12 May, $2.1M, 11% over budget), Northgate Logistics (terminates 21 May, no replacement queued)…
Source · Contract repository · CLM
Listening

A distinct visual state from the pipeline above — concentric rings pulsing outward from the mic button rather than a step list ticking down — because listening for voice input and processing a request are different kinds of waiting, and the app represents them differently rather than reusing one generic spinner for both.

Real state text is just "Listening" (startListening() sets #askQ to that string with a blinking cursor); the mic's idle label is "Tap and hold · or pick a starter."
Listening
Sandbox Provisioning

A trust gate before infrastructure spins up. Face ID confirms identity, then the tenant provisions on Gaudi 3, sealed to that identity — the handshake comes before the hardware, not after.

Face ID gate

A rounded-square scan icon over a single line of copy: "Authenticate to provision." The subhead states the stakes plainly — a single-tenant environment is about to spin up, sealed to this specific identity, before any hardware is touched. Once authenticated, the resulting tenant is named per-partner (e.g. tenant-acme-eu-de-04, seen on the Benchmark screen), not a shared pool.

Title and subhead are verbatim from app/index.html's .faceid-title/.faceid-sub: "Authenticate to provision" / "A single-tenant watsonx environment will spin up in your region, on Gaudi 3, sealed to your IBM Verify identity."
Face ID handshake, then provisioning begins
Region Selector

An onboarding screen, not a settings afterthought — data residency is chosen before Face ID setup. Each region carries its own compliance badges rather than one generic "your data is safe" line, and this is exactly why the Snap pipeline routes to Frankfurt: it's the lowest-latency EU region, not an arbitrary example.

Region list

All five real regions — not a condensed subset. Each carries its own compliance badges rather than one generic "your data is safe" line — EU regions cite the EU AI Act and GDPR, the US region cites FedRAMP and HIPAA, APAC regions cite their own local frameworks (METI, IRAP) — so the badge set itself signals which industries the region is built for. Frankfurt is the one card with both a latency callout and a separate compliance badge, since its meta line is already spent on "lowest latency."

Verified against app/index.html: all five regions, names, badges, the Dublin default-selected state, and the pickRegion(el) click handler that removes .selected from all items and adds it to the clicked one are all exact 1:1 copies from the live app (lines ~1824–1888 for the CSS, ~3494–3535 for the markup, ~4590–4593 for the handler). Frankfurt is also where the Snap pipeline's own routing step lands (lowest EU latency), independent of whichever region a partner actually selects at onboarding.
Notification Badge

A single dot, not a count. The bell signals that something needs attention without competing with the infra pill for the reader's sense of what's urgent versus what's just alive.

Bell

Two states, not one — the dot exists only while .bell-btn carries .has-new, and the app removes that class the moment the partner actually opens Notifications. There's no unread count anywhere in the badge, on purpose: it competes for the same "something's live" attention the infra pill's own dot already claims.

Verified against app/index.html: .bell-btn.has-new .badge-dot { display: block }; go('notifications') and markAllRead() both call bellBtn.classList.remove('has-new').
Unread (has-new) · read
Snap Result

Structured fields land where the invoice was, once the pipeline finishes.

Extracted fields

The real extracted invoice (INV-04719, Silicon Valley Foundry) carries six confidence-scored fields plus a four-line-item breakdown; three of the highest-signal values are sampled here rather than the full field list, which is documented in prose above but doesn't need every row re-rendered to prove the pattern.

All three values verbatim from app/index.html's real invoice: .field-row "Total" ($318,270.00, 99.9% confidence) and the line-item table's "High-NA litho cycles · 3,200" ($96,750.00); "Vendor confidence" is this library's own paraphrase of the real Silicon Valley Foundry 99.8% field.
$318,270.00
Total · 99.9% confidence
$96,750.00
High-NA litho cycles · 3,200
99.8%
Vendor confidence
Silicon Spec & Provenance

The chip's identity card and its history in one screen — what it is, and the 45-year line that led to it. Timeline labels below are read verbatim from the prototype.

Spec

The AR viewfinder overlay is the in-context version — three callouts floating over the live camera feed the instant the chip is recognized. The four-cell stat grid below it is the same real spec data shown again once the partner lands on the full Silicon Result screen, where there's room for the fabric bandwidth and thermal design power the viewfinder callouts don't have space for.

All values verbatim from app/index.html's real .spec-grid: 128 GB HBM2e memory, 21 Tbps RDMA fabric, 5 nm process node, 600 W TDP. Viewfinder callout order corrected to "5 nm · Intel 3," matching the real .hw-callout text, not the reversed "Intel 3 · 5 nm" shown in an earlier draft.
GAUDI 3
128 GB HBM2e
5 nm · Intel 3
128GB
HBM2e memory
21Tbps
RDMA fabric
5nm
Process node
600W
TDP
Provenance

Four real milestones, not three — the fourth (2025 · IBM Cloud) closes the loop from the 1981 founding deal to this specific tenant's own live allocation, rather than stopping at the abstract "process tech is being co-developed" step. Descriptions below use the real per-step title, not this library's earlier paraphrase.

Verbatim from app/index.html's real .provenance timeline (.prov-step .nm/.ds), including the 2025 step this library previously omitted.
1981 · IBM PC
The deal that started it — IBM picks Intel for the IBM PC, a foundational design win that becomes a 45-year partnership.
2024 · Intel Foundry
Designed by Intel, fabbed at 5 nm — Gaudi 3 ships from Intel Foundry as part of the Foundry Accelerator Cloud Alliance, with IBM a founding partner.
2024 · Albany NanoTech
Sub-1 nm logic R&D · IBM × Intel × Lam — process tech for the next generation of AI silicon, co-developed at NY CREATES today.
2025 · IBM Cloud
Live in your stack — Frankfurt. 8 cards currently allocated to your watsonx tenant; first cloud in the world to deploy Gaudi 3 as a service.
Surface 2 of 2
Microsite & Pitch Site

Components unique to ibm-intel/index.html and its ten sibling pages (relationship.html, scales.html, capabilities.html, proof.html, voices.html, milestones.html, milestone.html, customer-story.html, faq.html, experience.html). This surface shares IntelOne Display and the Intel/IBM blue palette with the app but is light-themed rather than dark, built on a third-party Bootstrap theme customized by assets/css/intel-ibm.css, and structured as eleven separate static pages rather than one hash-routed single-page app.

Preloader — Logo Pulse & Blinds

The loading screen shown on every microsite page before content paints. A pulsing wordmark over four horizontal strips that collapse open like venetian blinds once the page is ready. Hover the demo below to trigger the collapse.

Blinds reveal (hover to complete)

Every one of the eleven microsite pages opens on this same preloader: the Intel × IBM wordmark pulses gently at the center while four horizontal strips, stacked to fill the screen, sit at full height in front of the page. Once the page has actually finished loading, the strips collapse to zero height in alternating directions — odd strips collapse from the top down, even strips from the bottom up — so the reveal reads as a venetian-blind sweep rather than a simple fade.

Real CSS from assets/css/intel-ibm.css: .preloader .loader .row { flex-direction: column } stacks four .loader-section strips at height: 25% each. .bg collapses via transition: height 800ms cubic-bezier(0.77,0,0.175,1), anchored top:0 on odd strips and bottom:0 on even strips (:nth-child(odd) / :nth-child(even)) so alternating strips retract in opposite directions. The wordmark itself uses @keyframes preloader-pulse: opacity 0.55→1, scale(1)→scale(1.04) over 1.6s, replacing the template's original letter-by-letter text animation.
Intel × IBM
hover to reveal
Hero — Video System & Frosted Number

Every microsite page opens with the same full-viewport video hero (.hero-video), retextured per page: the home page carries the campaign headline, inner pages pair a shorter headline with a frosted-glass numeral tied to that page's own statistic.

Home — campaign headline

The home page hero is the one true full-bleed instance: a looping background video darkened by a two-layer gradient overlay, carrying the real campaign headline — "From IA to AI. The Age of Ingenuity, written together." — at Light 300 weight with three individually gradient-filled word accents. It's the same real headline documented as a Typography sample elsewhere in this library, shown here in its actual hero context rather than as an isolated type specimen.

Real markup/CSS from index.html + intel-ibm.css: .hero-video h1 { font-size: clamp(48px,6.4vw,96px); font-weight:300; line-height:1.02 }, span accents use background: linear-gradient(135deg, var(--intel-energy) 0%, #FFFFFF 100%) clipped to text. Overlay is linear-gradient(90deg, rgba(11,16,32,.78) 0%, rgba(0,45,156,.55) 38%, rgba(0,45,156,.28) 70%, rgba(0,45,156,.15) 100%) over the real shared/BG.mp4 loop.
Intel × IBM · 45 years inside

From IA to AI. The Age of Ingenuity, written together.

Intel guided the world from the Industrial and Information Age to the Age of Ingenuity. IBM partners with Intel to transform enterprise operations from cost centers into growth enablers.

Inner page — frosted-glass number

Six of the eleven inner pages (relationship, scales, capabilities, proof, milestones, faq) pair the same video hero with a giant outlined numeral in the corner — each page's own real statistic, not a decorative default: 45 (years) on Relationship, 3 (scales) on Scales, 4 (capability domains) on Capabilities, 6 (proof points) on Proof, 9 on Milestones, 4 on FAQ. The digit is a frosted-glass cutout — a backdrop-blur masked to the exact glyph shape sits behind a white outlined stroke, so the moving video shows through the numeral itself, feathering to transparent toward the bottom.

Real from relationship.html + intel-ibm.css: .hero-bignum--45 wraps an inline SVG (real path data, viewBox 0 0 1114.45 648.94). The visible stroke is .bignum-svg with mask-image: linear-gradient(to bottom, black 0%, black 30%, transparent 100%). The frosted fill is a ::before pseudo-element with backdrop-filter: blur(6px) masked to a per-digit SVG (shared/45.svg, 4.svg, 3.svg, 6.svg, 9.svg). Caption "Years inside" is .hero-bigcap. Three other real inner pages (milestone.html, customer-story.html, experience.html) use a breadcrumb (Intel × IBM / Current page) in place of the numeral — the two variants never appear together on the same real page.
The relationship

Forty-five years.
One shared arc.

Capability System — Engine Pinwheel & Service Cards

The home page's "How IBM helps Intel turn cost into growth" section: four capability cards arranged around a four-petal SVG pinwheel that blooms brand-gradient and reveals an IBM duotone icon at whichever petal corresponds to the hovered card. A second, separate card family (the "Four pillars" row higher on the same page) uses plain white tiles with no pinwheel.

Engine pinwheel (hover a capability)

Hovering a capability card lights the one petal of the pinwheel that corresponds to it and fades in that capability's IBM duotone icon at the petal's tip — the two of four petals shown here (Finance, AI) prove the mechanism; the other two (Talent, Supply) use the identical rule, just mapped to the top/left positions instead. At rest all four petals sit desaturated and dim, reading as one unified low-key engine rather than four separate shapes.

Real CSS from intel-ibm.css: petals default to opacity:.40; filter:saturate(.65). .popular-service-section:has(.card-finance:hover) .engine-svg[data-step="0"] .petal-top (and the matching selector per card/position) sets the hovered petal to opacity:1; fill:url(#engine-grad-deep); filter:saturate(1.2) brightness(.85) and fades in the matching .petal-icon (default opacity:0). The data-step attribute lets the four petals rotate which real position (top/right/bottom/left) each represents — reproduced here at step 0 only. Real card copy: Finance "Reframe finance from a reporting function to a real-time decision engine…"; AI "Production AI grounded in Intel's own data, with the governance and observability that regulated, high-IP environments require."
Finance
Talent
AI
Supply
Four pillars — plain card family

Higher on the same home page, before the pinwheel section, a separate "Four pillars" row uses the plain white-tile card — no pinwheel, no hover-linked bloom, just an icon, a heading, and a paragraph. Two of the four real pillars are shown here; the other two (Frontier R&D, Strategic Consulting) use the identical card shape with different real copy.

Real from index.html + intel-ibm.css's .service-box-items-2: background:#fff; border:1px solid var(--carbon-20); border-radius:12px; padding:32px, hover lifts translateY(-2px) and tints the border --intel-blue. Icons render at native 64×64 with the template's decorative circle background removed (.icon::before{display:none}).
Hybrid Cloud

Hybrid Cloud

IBM Cloud — the first cloud service provider to adopt Intel Gaudi 3 — runs on a Xeon-based bare metal foundation built for AI, analytics, and HPC at enterprise scale.

Open AI

Open AI

Gaudi 3 plus watsonx.ai gives enterprises an open, cost-efficient path to inferencing and fine-tuning across hybrid environments — without vendor lock-in.

Editorial Card System — Scale, Milestone & Proof

Three real, page-specific card shapes — none built as a named reusable CSS class, all hand-styled with inline styles per page — that carry the milestone/history content across Scales, Milestones, and Proof.

Scale Card — 3 real variants

Scales.html frames the whole partnership as three concurrent scales — a single decision, a multi-year program, a whole industry ecosystem — each its own card treatment: Scale 01 is a plain white-bordered card, Scale 02 is the featured/current scale in a dark navy-to-blue gradient with a "Where it lives" tag, Scale 03 returns to a light card with an IBM-blue accent instead of Intel-blue. The escalating visual weight (light → dark-featured → light-accent) mirrors the escalating scope of what each card describes.

Real content from scales.html, all inline-styled (no named CSS class — font-family:'IntelOne Display' set per element): Scale 01 "1981 · IBM PC", Scale 02 "2023→ · Xeon → Gaudi" (dark, background:linear-gradient(135deg,var(--intel-blue-deep),var(--ibm-blue-dark)), tag "Where it lives" in --intel-energy), Scale 03 "$10B+ · Albany & CHIPS" (accent --ibm-blue not --intel-blue).
Scale 01

Single decision

1981IBM PC

A single chip choice that became the architecture for personal and enterprise computing.

Where it lives
Scale 02

Multi-year program

2023→Xeon → Gaudi

A staged roadmap: 4th Gen Xeon Bare Metal first, then Gaudi 3, then watsonx integration. The current center of gravity.

Scale 03

Industry ecosystem

$10B+Albany & CHIPS

A multi-company, public-policy-shaped collaboration that bends the trajectory of the broader semiconductor sector.

Milestone Timeline Row

Milestones.html lists the partnership's real dated events as a stacked row list rather than a graphical timeline — a large year numeral and month sit in a fixed left column, with a category eyebrow, headline, description, and link in the flexible right column. A hairline top border separates each row instead of a card boundary, so the whole page reads as one continuous ledger rather than a stack of discrete cards.

Real content from milestones.html, inline-styled with display:grid; grid-template-columns:160px 1fr per row. Two real rows shown: May 2024 "Gaudi 3 lands on IBM Cloud — first cloud service provider to adopt" (category "AI Infrastructure"), Dec 2023 "New York's $10B chip partnership — IBM, Micron, Applied Materials, Tokyo Electron" (category "Ecosystem", accent --intel-energy instead of --intel-blue). A "DARK SEPARATOR" .section-dark band ("From the AI era back to the PC era.") splits the page's current-decade rows from an older 1980s-2022 "archive" set using the identical row markup.
2024
May
AI Infrastructure
Gaudi 3 lands on IBM Cloud — first cloud service provider to adopt
IBM and Intel announce Intel Gaudi 3 AI accelerators on IBM Cloud, with extension into watsonx.ai for inferencing across hybrid environments.
2023
December
Ecosystem
New York's $10B chip partnership — IBM, Micron, Applied Materials, Tokyo Electron
A $10 billion combined investment anchored at Albany NanoTech, with $1B from New York State and $9B in private commitments.
Proof / Case Card

Proof.html's "6-case grid" reuses the white-bordered card shape from the Four Pillars family (border, hover-lift, blue border tint) but with a different internal layout tuned for a dated claim: a category-plus-date eyebrow, a headline framed as an outcome, a short substantiating description, and a text link rather than a button.

Real content from proof.html's inline-styled case grid, same hover mechanics as .popular-service-items (onmouseover sets border-color:var(--intel-blue); box-shadow:0 16px 40px -16px rgba(0,104,181,.30); transform:translateY(-3px)). Two real cases shown of six: "Sub-1nm logic with Lam Research" (Frontier R&D · Mar 2026) and "4th Gen Xeon on IBM Cloud" (AI Infrastructure · 2023).
Frontier R&D · Mar 2026
Sub-1nm logic with Lam Research

A five-year extension of the IBM-Lam collaboration to advance sub-1nm scaling and High-NA EUV lithography.

Read the milestone →
AI Infrastructure · 2023
4th Gen Xeon on IBM Cloud

2× compute density, 6× cache performance, 1.5× memory speed, 80 PCIe Gen 5 lanes — the bare metal foundation for everything after.

Read the case →
Testimonial — Carousel & Archival Quote Card

Two real testimonial treatments: a Swiper carousel of current executive quotes on the home page and Voices, and a static grid of 1982 newspaper-archive quotes on Voices' own historical section.

Current voices — carousel card

The home page and Voices carry a Swiper carousel of three real, named executive quotes — an Intel Foundry VP, IBM's Chairman & CEO, and an IBM Research GM. Quote text renders larger and lighter than ordinary body copy, in a bordered panel with generous internal padding, so a single quote reads as the section's whole visual weight rather than competing with surrounding chrome.

Real quote from index.html's testimonial swiper. Styling from intel-ibm.css: .testimonial-wrapper { background: linear-gradient(180deg, var(--carbon-05), var(--white)); border-radius:24px; padding:80px 60px }, .testimonail-content p { font-size:22px; font-weight:400; line-height:1.5 }, client role text colored --intel-blue.

"By joining forces with IBM Cloud, we are unlocking new possibilities for our mutual customers to rapidly innovate and scale their AI and hybrid cloud workloads, leveraging IBM Cloud's robust cloud infrastructure."

Suk Lee
Vice President, Ecosystem Technology Office · Intel Foundry Services
Archival voice card (1982)

Voices.html closes with a real archival section — three 1982 newspaper quotes about IBM's original $250M Intel equity stake, each in its own card with a large decorative quotation mark, a category label describing what the quote is "on" (Intel's leadership, IBM's interest, Intel's independence), the italic quote itself, and a full attribution including the original publication and date. It's the same card shape as the current-voices testimonial, scaled down and made plural.

Real quote from voices.html's inline-styled archival grid: Aristide J. Vitolo, Securities Analyst at Kidder, Peabody & Company, quoted in The New York Times, December 1982. Card: background:#fff; border:1px solid var(--carbon-20); border-radius:12px; padding:36px, decorative mark at font-size:64px; color:var(--carbon-20).
"
On Intel's leadership
"Time and again, Intel has taken the lead. But in a recession, the question is whether they can maintain that."
Aristide J. Vitolo
Securities Analyst · Kidder, Peabody & Company
The New York Times · December 1982
FAQ Accordion

A standard Bootstrap accordion on Scales and FAQ, retextured to the brand: the active question is tinted Intel blue on a faint carbon-05 background, the rest sit collapsed on plain white.

Real Q&A, first item expanded

Both real accordion instances (Scales' "Frequently asked" band and the dedicated FAQ page) open with their first question already expanded and every other question collapsed — the same real Bootstrap accordion behavior, just retextured. The two real questions shown here are Scales' own first pair, verbatim.

Real Q&A from scales.html's #acc1. CSS from intel-ibm.css: .faq-section .accordion-item { background:#fff; border:1px solid var(--carbon-20); border-radius:8px }, active button .accordion-button:not(.collapsed) { color:var(--intel-blue); background:var(--carbon-05) }.
Is this a supplier relationship or a strategic alliance?
Both, and increasingly the latter. Intel chips run inside IBM Cloud, IBM products, and millions of enterprise systems. But the partnership today spans joint AI infrastructure (Gaudi 3 on IBM Cloud), frontier semiconductor research at Albany, the $10B New York chip ecosystem, and IBM Consulting engagements that touch Intel's own enterprise operations.
How long has this been going on?
Why does the IBM equity stake matter if it ended in 1987?
Experience Walkthrough — Stats, QR Bridge & Live Phone Trio

experience.html is the microsite's own bridge into the app — the only page whose components link directly out of the microsite and into real app/index.html#hash screens, including a real hover badge reading "Open live ↗" on every phone tile.

Hero stat row

Experience's own hero swaps the campaign headline for a harder pitch — "Fast is easy. Trusting it is the hard part." — and backs it with four real, specific performance numbers read off the app's own benchmark screen, rather than the qualitative claims used everywhere else on the microsite.

Real stats from experience.html's .exp-stats-row (page-local <style>, not intel-ibm.css): 827ms end-to-end, 4.1× faster vs. baseline, 38% cheaper per call, 11.4s to provision a tenant. Numerals use font-variant-numeric: tabular-nums so the four values align on their digits.
827ms
end-to-end
4.1×
faster vs. baseline
38%
cheaper / call
11.4s
to provision a tenant
QR handoff card

A dedicated card just below the hero hands the demo off to the visitor's own phone — a client-generated QR code beside real, specific reassurances (no install, works offline, exact screen/flow count) rather than generic "scan me" copy. The QR box shown here is the real initial loading state — the actual code renders client-side after the page's own script runs, so "QR loading…" is the genuine unloaded state, not a placeholder invented for this library.

Real copy and structure from experience.html's #qr section (page-local CSS): .qr-card { border-radius:24px; padding:40px 56px; display:grid; grid-template-columns:220px 1fr }. Real features list: "No app install · runs in any browser", "Works offline once loaded", "20 screens · 11 flows".
QR loading…

Pick up the demo on your phone — instantly.

Point your phone camera at the code. The same prototype loads full-screen on your device, ready to demo to a stakeholder or hand off in a meeting.

No app install · runs in any browser
Works offline once loaded
20 screens · 11 flows
Live phone-trio bridge

Below the QR card, twelve real screenshots from the app's own app/screens/ folder are arranged into staggered walkthrough rows — trios of three, pairs of two, or singles — each phone tile a genuine link to that exact screen's hash in app/index.html. Hovering any tile lifts it and reveals "Open live ↗"; this is the microsite's own native version of the live-chip pattern this library uses everywhere else, not a library invention — it exists in the real page.

Real markup/CSS/hrefs from experience.html's "SNAP · REDACT BEFORE IT TRANSMITS" row: three real screenshots (05-snap-camera.png, 05b-snap-pipeline.png, 06-snap-result.png) each wrapped in <a href="app/index.html#snap|snapPipeline|snapResult">. .wk-phone-trio .demo-phone:nth-child(2){transform:translateY(24px)} :nth-child(3){transform:translateY(12px)} creates the cascade; .wk-phone-link::after{content:'Open live ↗'} is the real hover badge, opacity 0→1 on :hover.
Snap camera
Extraction pipeline mid-flight
Extracted invoice