Design Specification — Virtual Physical Therapy and More: Personalized Pain Care
| Field | Value |
| Site / Project | https://www.hingehealth.com/ |
| Analyzed on | 2026-09-02 |
| Analysis mode | Automated code extraction (no AI) |
Overview
This design system was extracted programmatically from the source page. It is built on a light canvas (#FFFFFF), ink text (#000000), a vivid accent (#007B34). All type is set in BrownLLWeb. Detected font weights: 300, 400, 500, 700. Detected style signatures: rounded / pill-heavy.
Logo asset(s): https://www.hingehealth.com/favicon-32x32.png?v=d67da43265f622860ee944946736992c
Color System
Detected palette (by frequency)
| Hex | RGB | HSL | Count |
#FFFFFF | 255, 255, 255 | 0° 0% 100% | 40 |
#00491F | 0, 73, 31 | 145° 100% 14% | 36 |
#007B34 | 0, 123, 52 | 145° 100% 24% | 27 |
#00A749 | 0, 167, 73 | 146° 100% 33% | 13 |
#000000 | 0, 0, 0 | 0° 0% 0% | 10 |
#373938 | 55, 57, 56 | 150° 2% 22% | 10 |
#F9F9F9 | 249, 249, 249 | 0° 0% 98% | 8 |
#BCBCBC | 188, 188, 188 | 0° 0% 74% | 5 |
#1C1B1F | 28, 27, 31 | 255° 7% 11% | 4 |
#DBDBDB | 219, 219, 219 | 0° 0% 86% | 4 |
#FFFBED | 255, 251, 237 | 47° 100% 96% | 3 |
#DDDDDD | 221, 221, 221 | 0° 0% 87% | 3 |
#2DD081 | 45, 208, 129 | 151° 64% 50% | 2 |
#0EBB65 | 14, 187, 101 | 150° 86% 39% | 2 |
#BDE9C9 | 189, 233, 201 | 136° 50% 83% | 1 |
#D9F2E4 | 217, 242, 228 | 146° 49% 90% | 1 |
#EAFAF1 | 234, 250, 241 | 146° 62% 95% | 1 |
#ECE4F8 | 236, 228, 248 | 264° 59% 93% | 1 |
#C9EEAC | 201, 238, 172 | 94° 66% 80% | 1 |
#E1F7C9 | 225, 247, 201 | 89° 74% 88% | 1 |
Assigned roles
Roles are taken from the page's own semantic CSS custom properties when present, otherwise inferred from usage frequency + luminance/saturation.
| Token | Hex | RGB | HSL |
--color-primary | #00491F | 0, 73, 31 | 145° 100% 14% |
--color-accent | #007B34 | 0, 123, 52 | 145° 100% 24% |
--color-background | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
--color-surface | #F9F9F9 | 249, 249, 249 | 0° 0% 98% |
--color-text-primary | #000000 | 0, 0, 0 | 0° 0% 0% |
--color-secondary | #000000 | 0, 0, 0 | 0° 0% 0% |
--color-text-secondary | #373938 | 55, 57, 56 | 150° 2% 22% |
--color-border | #BCBCBC | 188, 188, 188 | 0° 0% 74% |
--color-on-primary | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
--color-on-secondary | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
--color-on-accent | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
Surface ramp (derived from detected light neutrals)
| Token | Hex |
--color-surface-container-lowest | #FFFFFF |
--color-surface-container-low | #F9F9F9 |
--color-surface-container | #DDDDDD |
--color-surface-container-high | #DBDBDB |
Gradients
linear-gradient(180deg,rgba(0,0,0,0.00) 0%,#000 120%)
linear-gradient( 95deg,#F9F9F9 20%,#DBDBDB 50%,#F9F9F9 60% )
Typography
Primary typeface: BrownLLWeb — stack: BrownLLWeb
Font stacks (most used first)
BrownLLWeb
BrownLLWeb,sans-serif
"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji",sans-serif
Derived type scale
| Token | Size |
| display | 56px |
| headline-lg | 40px |
| headline-md | 28px |
| title-lg | 22px |
| body-lg | 18px |
| body-md | 16px |
| label-md | 14px |
| label-sm | 12px |
Font sizes (by frequency)
| Size | Count |
| 18px | 22 |
| 16px | 13 |
| 14px | 12 |
| 28px | 4 |
| 40px | 4 |
| 20px | 4 |
| 22px | 4 |
| 12px | 4 |
| 56px | 3 |
| 13px | 3 |
| 36px | 2 |
| 34px | 1 |
| 48px | 1 |
| 32px | 1 |
| 24px | 1 |
| 15px | 1 |
| 38px | 1 |
Weights in use: 300, 400, 500, 700
Line heights (by frequency)
| Value | Count |
| 1 | 2 |
| 27px | 2 |
| 34px | 2 |
| 16px | 2 |
| 1.5 | 1 |
| 2 | 1 |
Letter spacing (by frequency)
Spacing
Derived spacing scale
| Token | Value |
| unit | 8px |
| xs | 4px |
| sm | 8px |
| md | 16px |
| lg | 32px |
| xl | 64px |
Raw values (by frequency)
| Value | Count |
| 16px | 11 |
| 8px | 7 |
| 4px | 5 |
| 10px | 3 |
| 48px | 3 |
| 0px | 3 |
| 12px | 2 |
| 24px | 2 |
| 2rem | 1 |
| 64px | 1 |
Borders & Radius
Derived radius tokens
| Token | Value |
| sm | 6px |
| md | 8px |
| lg | 35px |
| pill | 100% |
Raw values (resolved, by frequency)
| Radius | Count |
16px | 6 |
35px | 4 |
20px | 4 |
8px | 3 |
0 | 3 |
28px | 3 |
0px | 2 |
10px | 2 |
100% | 1 |
6px | 1 |
inherit | 1 |
50% | 1 |
Shadows
Derived elevation
| Token | Value |
| md | 0 0 8px 0 rgba(0,0,0,.3) |
All detected shadows
Layout
Container max-width: 1100px
Breakpoints
- 322px
- 377px
- 768px
- 992px
- 1024px
- 1100px
- 1101px
- 1440px
Animation & Motion
Transitions
all 0.2s
rotate 0.25s
opacity 500ms
background-color 500ms ease
all 0.3s ease
width 0.1s ease-out
background-color 0.2s ease-in-out
-webkit-transform 0.3s ease-out
transform 0.3s ease-out
0.5s ease-in-out
0.25s ease-in-out
0.25s
Animations
lbWRkT .5s linear,lfJhcX 1s linear infinite,gnMFVW 3.5s linear infinite
CTA labels found on page
- Enroll now
- Am I eligible?
- Request a business demo
Source Design Tokens (CSS custom properties)
:root {
--reach-dialog: 1;
--webkit-view-transition-name: main-nav;
--progress: 0%;
}
Do's and Don'ts
Do
- Do reserve the accent
#007B34 for interactive highlights and key moments — it is used sparingly on the source page.
- Do keep the canvas at
#FFFFFF; surfaces should stay within the detected neutral ramp.
- Do stick to the detected font weight(s): 300, 400, 500, 700.
- Do align spacing to the 8px base unit derived from the page.
Don't
- Don't introduce colors outside the detected palette — every hue above was found in the source.
Design Tokens (copy-paste)
:root {
--color-primary: #00491F;
--color-accent: #007B34;
--color-background: #FFFFFF;
--color-surface: #F9F9F9;
--color-text-primary: #000000;
--color-secondary: #000000;
--color-text-secondary: #373938;
--color-border: #BCBCBC;
--color-on-primary: #FFFFFF;
--color-on-secondary: #FFFFFF;
--color-on-accent: #FFFFFF;
--color-surface-container-lowest: #FFFFFF;
--color-surface-container-low: #F9F9F9;
--color-surface-container: #DDDDDD;
--color-surface-container-high: #DBDBDB;
--font-sans: BrownLLWeb;
--font-size-display: 56px;
--font-size-headline-lg: 40px;
--font-size-headline-md: 28px;
--font-size-title-lg: 22px;
--font-size-body-lg: 18px;
--font-size-body-md: 16px;
--font-size-label-md: 14px;
--font-size-label-sm: 12px;
--radius-sm: 6px;
--radius-md: 8px;
--radius-lg: 35px;
--radius-pill: 100%;
--shadow-md: 0 0 8px 0 rgba(0,0,0,.3);
--space-xs: 4px;
--space-sm: 8px;
--space-md: 16px;
--space-lg: 32px;
--space-xl: 64px;
--tracking-label: 0.5px;
--container-max: 1100px;
}