Source of truth for typography, color, spacing, and every component used on the site. Updated with every change.
Five core tokens. No other colors introduced. Blue is for links only. Red is for CTAs and category pills only. Stats, headings, and body copy use black or white.
#000000 --black Text, dark sections, borders #D63F18 --accent CTAs and category pills only #0369fc --blue Links only — minimal use #fafaf8 --white Page background #f2f1ed --gray-100 Card backgrounds, alt sections #e0ded8 --gray-200 Borders, dividers #9e9b94 --gray-400 Labels, metadata, muted text #5a5854 --gray-600 Body copy minimum contrast #050505 --dark Hero bg, dark sections #0d0d0d --dark-surface Cards within dark sections #1e1e1e --dark-border Borders within dark sections --gradient-dark Subtle dark section variation --gradient-hero Main hero backgrounds Red is for action only. Never use it in headings, body copy, or decorative elements. Blue is for inline links only — not buttons, not borders. Stats are always black/white. Dark sections are pure dark — no color tints.
Three fonts, three purposes. Instrument Serif for headings. DM Mono for labels and metadata. Geist for body text. Headings are never colored — black on light, white on dark.
Predictable Software Delivery
Leaders who outsource need predictable outcomes
Italic emphasis on key words in headlines — one word maximum
--serif: 'Instrument Serif', Georgia, serif NolteOS turns 20 years of delivery data into predictable, fixed-price software delivery. Describe what you're building and get a delivery plan with 95% accuracy on scope, timeline, and cost.
Secondary body text at 15px for descriptions and supporting content.
--sans: 'Geist', system-ui, sans-serif Case Study · Healthcare · 2 Years
Insurance · Finance · Healthcare
Get Your Delivery Plan →
--mono: 'DM Mono', monospace clamp(2.5–2.75rem) Hero H1 clamp(1.6–2.2rem) Section H2 1.5rem / 24px Card H3 1.0625rem / 17px Body 0.9375rem / 15px Body Secondary 0.75rem / 12px Label 0.6875rem / 11px Eyebrow / Category Primary CTA is always Nolte Red. Text is "Get Your Delivery Plan". Secondary is outlined white on dark backgrounds.
DM Mono, uppercase. Eyebrow labels are gray-400. Category pills have colored border matching industry. No filled background.
Used for value props in hero pillars section. Dark background, accent top border, white text.
Scope, cost, and timeline committed before work begins.
Monte Carlo simulation on 20 years of delivery data.
Pay per delivery. No hourly billing, no retainers.
Flow metrics, cycle time, throughput — NolteOS tracks everything.
Image top, client logo, category pill, serif heading, metrics footer. No rounded corners.
One-line description of the engagement and what was built.
Read case study →One-line description of the engagement and what was built.
Read case study →One-line description of the engagement and what was built.
Read case study →Large numbers, serif font, black. No color on the numbers themselves.
2×2 grid on dark background. Used in case study sidebars and the NolteOS page. Classes: .shot-metrics-grid, .shot-metric-card.
3-col grid on homepage. Image top (16:9), category pill, serif title, body excerpt, "Read article →" link.
Why most software projects miss deadlines and what data-driven delivery changes.
Read article →Cycle time, throughput, WIP, and work item age — the four metrics that predict delivery.
Read article →A decision framework for leaders considering their first outsourced engineering team.
Read article →3-col grid on dark background. Used in the "Who We Work With" section. Link to practice pages at /industries/[slug].
HIPAA compliance, EHR integrations, clinical workflow tools.
View practice → InsuranceMGA platforms, carrier portals, compliance-first engineering.
View practice → FinanceFintech platforms, KYC/AML systems, banking integrations.
View practice →Always on a dark background directly below the hero. Logo images: grayscale, brightness(0), opacity 0.5. No text fallbacks.
1100px Max content width — .wide-wrap 780px Blog / prose max-width — .page-wrap 100% Full-bleed sections (hero, trust bar, footer CTA) 0.5remElement gap, small labels1remWithin-component spacing1.5remComponent internal padding2remContainer horizontal padding3remIntra-section gap5–6remSection spacing (vertical)768px Nav collapses to hamburger. Case grid, footer grid, OS grids → single column. Hero font sizes reduce. 600px Trust logos wrap. Additional fine-tuning of spacing and typography. 480px Hero h1 font size reduction. Blog grid collapses. Alternate dark and light sections. Never stack more than two dark sections consecutively. Dark sections: hero, trust bar, pillars, industry verticals, footer CTA.
Nolte Red (#D63F18) for CTAs, category pills, and accent top-borders on step cards only. Never in body copy, headings, or decorative elements.
DM Mono, uppercase, letter-spacing 0.08–0.12em, 0.6875–0.75rem. Used for: eyebrows, metadata, nav links, section numbers (01, 02...), category tags.
Cards, buttons, pills — all use sharp corners (border-radius: 0). The only exception is team/founder photos which use 50% circle crop.
Real product screenshots in device frames. Team photography — not stock. Abstract geometric visuals for blog posts. No generic AI-generated imagery.
Say "predictable delivery" — not "agile." Say "leaders who outsource" — not "non-tech founders." Say "forecasting" — not "estimation." Lead with data.
Global CTA is always "Get Your Delivery Plan" → os.nolte.io. Never "Contact Us", "Get Started", or "See Your Forecast". One CTA per page minimum.
Use zero-padded numbers (01, 02, 03) for ordered sections via DM Mono labels. Use req-item counter pattern for requirement/process lists.
Dark hero with 2/3 : 1/3 split. Copy left aligned with the Nolte logo. Visual/graphic right-aligned to container edge. Eyebrow label → H1 → subtext → CTA buttons.
Styled HTML mock UIs — no images. All defined in global.css under /* ===== NOLTEOS MARKETING PAGE ===== */. See /about/nolteos for full examples.
.shot-windowBrowser chrome mockup (light).shot-window-darkBrowser chrome mockup (dark).shot-metrics-grid2×2 KPI card grid (dark).shot-kanbanKanban board (dark).shot-approvalsApprovals list (dark).shot-meetingMeeting/calendar block (dark).shot-delivery-colsDelivery status columns (dark).shot-progressProgress bar (used in case studies)The regression test script (scripts/regression-test.sh) is change-aware. It reads git diff and only runs tests relevant to what changed. Run --all to force the full suite.
src/styles/global.css Responsive checks · Performance src/components/BaseHead.astro SEO · Analytics src/layouts/Base.astro SEO · Analytics · Availability · Content src/pages/index.astro Availability · Content Integrity · SEO src/pages/blog/* or src/content/blog/* Availability · Key Page Content src/pages/work/* or src/content/work/* Availability · Key Page Content astro.config.* / package.json Full suite (all 7 categories) No changes detected Full suite (safety fallback) ./scripts/regression-test.sh — auto-detect mode against production
./scripts/regression-test.sh http://localhost:4321 --all — full suite against local
./scripts/regression-test.sh https://nolte-site.netlify.app --all — full suite against staging