skills/creative/popular-web-designs/templates/hashicorp.md
Hermes Agent — Implementation Notes
The original site uses proprietary fonts. For self-contained HTML output, use these CDN substitutes:
- Primary:
Inter| Mono:JetBrains Mono- Font stack (CSS):
font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;- Mono stack (CSS):
font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;html<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">Use
write_fileto create HTML, serve viagenerative-widgetsskill (cloudflared tunnel). Verify visual accuracy withbrowser_visionafter generating.
HashiCorp's website is enterprise infrastructure made tangible — a design system that must communicate the complexity of cloud infrastructure management while remaining approachable. The visual language splits between two modes: a clean white light-mode for informational sections and a dramatic dark-mode (#15181e, #0d0e12) for hero areas and product showcases, creating a day/night duality that mirrors the "build in light, deploy in dark" developer workflow.
The typography is anchored by a custom brand font (HashiCorp Sans, loaded as __hashicorpSans_96f0ca) that carries substantial weight — literally. Headings use 600–700 weights with tight line-heights (1.17–1.19), creating dense, authoritative text blocks that communicate enterprise confidence. The hero headline at 82px weight 600 with OpenType "kern" enabled is not decorative — it's infrastructure-grade typography.
What distinguishes HashiCorp is its multi-product color system. Each product in the portfolio has its own brand color — Terraform purple (#7b42bc), Vault yellow (#ffcf25), Waypoint teal (#14c6cb), Vagrant blue (#1868f2) — and these colors appear throughout as accent tokens via a CSS custom property system (--mds-color-*). This creates a design system within a design system: the parent brand is black-and-white with blue accents, while each child product injects its own chromatic identity.
The component system uses the mds (Markdown Design System) prefix, indicating a systematic, token-driven approach where colors, spacing, and states are all managed through CSS variables. Shadows are remarkably subtle — dual-layer micro-shadows using rgba(97, 104, 117, 0.05) that are nearly invisible but provide just enough depth to separate interactive surfaces from the background.
Key Characteristics:
#15181e) hero/product areas"kern" feature--mds-color-* CSS custom propertiesmds component system with semantic variable names#000000): Primary brand color, text on light surfaces, --mds-color-hcp-brand#15181e): Dark mode backgrounds, hero sections#0d0e12): Deepest dark mode surface, form inputs on dark#f1f2f3): Light backgrounds, subtle surfaces#d5d7db): Borders, button text on dark#b2b6bd): Border accents (at 0.1–0.4 opacity)#656a76): Helper text, secondary labels, --mds-form-helper-text-color#3b3d45): Secondary text on light, button borders#efeff1): Primary text on dark surfaces#7b42bc): --mds-color-terraform-button-background#ffcf25): --mds-color-vault-button-background#14c6cb): --mds-color-waypoint-button-background-focus#12b6bb): --mds-color-waypoint-button-background-hover#1868f2): --mds-color-vagrant-brand#911ced): --mds-color-palette-purple-300#a737ff): --mds-color-foreground-action-visited#1060ff): Primary action links on dark#2264d6): Primary links on light#2b89ff): Active links, hover accent#bb5a00): --mds-color-palette-amber-200, warning states#fbeabf): --mds-color-palette-amber-100, warning backgrounds#fff9cf): --mds-color-vault-radar-gradient-faint-stop#a9722e): --mds-color-unified-core-orange-6#731e25): --mds-color-unified-core-red-7, error states#101a59): --mds-color-unified-core-blue-7rgba(97, 104, 117, 0.05) 0px 1px 1px, rgba(97, 104, 117, 0.05) 0px 2px 2px): Default card/button elevation3px solid var(--mds-color-focus-action-external) — systematic focus ring__hashicorpSans_96f0ca (HashiCorp Sans), with fallback: __hashicorpSans_Fallback_96f0casystem-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|---|---|---|---|---|---|---|
| Display Hero | HashiCorp Sans | 82px (5.13rem) | 600 | 1.17 (tight) | normal | "kern" enabled |
| Section Heading | HashiCorp Sans | 52px (3.25rem) | 600 | 1.19 (tight) | normal | "kern" enabled |
| Feature Heading | HashiCorp Sans | 42px (2.63rem) | 700 | 1.19 (tight) | -0.42px | Negative tracking |
| Sub-heading | HashiCorp Sans | 34px (2.13rem) | 600–700 | 1.18 (tight) | normal | Feature blocks |
| Card Title | HashiCorp Sans | 26px (1.63rem) | 700 | 1.19 (tight) | normal | Card and panel headings |
| Small Title | HashiCorp Sans | 19px (1.19rem) | 700 | 1.21 (tight) | normal | Compact headings |
| Body Emphasis | HashiCorp Sans | 17px (1.06rem) | 600–700 | 1.18–1.35 | normal | Bold body text |
| Body Large | system-ui | 20px (1.25rem) | 400–600 | 1.50 | normal | Hero descriptions |
| Body | system-ui | 16px (1.00rem) | 400–500 | 1.63–1.69 (relaxed) | normal | Standard body text |
| Nav Link | system-ui | 15px (0.94rem) | 500 | 1.60 (relaxed) | normal | Navigation items |
| Small Body | system-ui | 14px (0.88rem) | 400–500 | 1.29–1.71 | normal | Secondary content |
| Caption | system-ui | 13px (0.81rem) | 400–500 | 1.23–1.69 | normal | Metadata, footer links |
| Uppercase Label | HashiCorp Sans | 13px (0.81rem) | 600 | 1.69 (relaxed) | 1.3px | text-transform: uppercase |
"kern" — letterfitting is non-negotiable.Primary Dark
#15181e#d5d7db1px solid rgba(178, 182, 189, 0.4)rgba(97, 104, 117, 0.05) 0px 1px 1px, rgba(97, 104, 117, 0.05) 0px 2px 2px3px solid var(--mds-color-focus-action-external)--mds-color-surface-interactive tokenSecondary White
#ffffff#3b3d45--mds-color-surface-interactive + low-shadow elevation3px solid transparent outlineProduct-Colored Buttons
#7b42bc#ffcf25 (dark text)#14c6cb, hover #12b6bb#42225b (deep purple)#efeff11px solid rgb(180, 87, 255)Text Input (Dark Mode)
#0d0e12#efeff11px solid rgb(97, 104, 117)3px solid var(--mds-color-focus-action-external) outlineCheckbox
#0d0e121px solid rgb(97, 104, 117)#2264d6, hover → blue-600 variable, underline on hover#1060ff or #2b89ff, underline on hover#ffffff, transparent underline → visible underline on hover#3b3d45, transparent underline → visible underline on hover#efeff1, similar hover patternvar(--wpl-blue-600) as hover color#15181e or darker surfaces| Name | Width | Key Changes |
|---|---|---|
| Mobile Small | <375px | Tight single column |
| Mobile | 375–480px | Standard mobile |
| Small Tablet | 480–600px | Minor adjustments |
| Tablet | 600–768px | 2-column grids begin |
| Small Desktop | 768–992px | Full nav visible |
| Desktop | 992–1120px | Standard layout |
| Large Desktop | 1120–1440px | Max-width content |
| Ultra-wide | >1440px | Centered, generous margins |
| Level | Treatment | Use |
|---|---|---|
| Flat (Level 0) | No shadow | Default surfaces, text blocks |
| Whisper (Level 1) | rgba(97, 104, 117, 0.05) 0px 1px 1px, rgba(97, 104, 117, 0.05) 0px 2px 2px | Cards, buttons, interactive surfaces |
| Focus (Level 2) | 3px solid var(--mds-color-focus-action-external) outline | Focus rings — color-matched to context |
Shadow Philosophy: HashiCorp uses arguably the subtlest shadow system in modern web design. The dual-layer shadows at 5% opacity are nearly invisible — they exist not to create visual depth but to signal interactivity. If you can see the shadow, it's too strong. This restraint communicates the enterprise value of stability — nothing floats, nothing is uncertain.
"kern" on all HashiCorp Sans text--mds-color-* token system for consistent color application3px solid focus outlines for accessibility"kern" feature on headings — the font requires it#000000) for dark backgrounds — use #15181e or #0d0e12| Name | Width | Key Changes |
|---|---|---|
| Mobile | <768px | Single column, hamburger nav, stacked CTAs |
| Tablet | 768–992px | 2-column grids, nav begins expanding |
| Desktop | 992–1150px | Full layout, mega-menu nav |
| Large | >1150px | Max-width centered, generous margins |
#ffffff, #f1f2f3#15181e, #0d0e12#000000, #3b3d45#efeff1, #d5d7db#2264d6 (light), #1060ff (dark), #2b89ff (active)#656a76rgba(178, 182, 189, 0.4), rgb(97, 104, 117)3px solid product-appropriate color