Design Specification — Home | Global Watch Company
| Field | Value |
| Site / Project | https://globalwatchco.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 (#121212), a vivid accent (#DAFFC2). All type is set in Poppins. Detected font weights: 100, 200, 300, 400, 500, 600, 700, 800, 900. Detected style signatures: technical / mono accents.
Logo asset(s): https://globalwatchco.com/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fs.mkswft.com%2FRmlsZTo1M2RhNTFlOC1jNjFhLTQ3MjItYjI5YS1hMjJlNDhjOTFlMGU%3D%2FGWC_Logo_Blue_Horizontal.png&w=3840&q=75 · https://storage.googleapis.com/s.mkswft.com/RmlsZTo2NWI4NDc5Ni00MjBmLTRmMTMtOWExNC03MDQ1OWVlMTY2YjQ=/GWC_Logo_Blue_Horizontal_Mobile.svg
Color System
Detected palette (by frequency)
| Hex | RGB | HSL | Count |
#000000 | 0, 0, 0 | 0° 0% 0% | 69 |
#FFFFFF | 255, 255, 255 | 0° 0% 100% | 57 |
#121212 | 18, 18, 18 | 0° 0% 7% | 52 |
#BFA5AE | 191, 165, 174 | 339° 17% 70% | 27 |
#EBEBEB | 235, 235, 235 | 0° 0% 92% | 19 |
#999EA1 | 153, 158, 161 | 203° 4% 62% | 13 |
#122353 | 18, 35, 83 | 224° 64% 20% | 13 |
#575757 | 87, 87, 87 | 0° 0% 34% | 11 |
#E6E6E6 | 230, 230, 230 | 0° 0% 90% | 7 |
#9CA3AF | 156, 163, 175 | 218° 11% 65% | 5 |
#127749 | 18, 119, 73 | 153° 74% 27% | 4 |
#F7F7F7 | 247, 247, 247 | 0° 0% 97% | 4 |
#FF00FF | 255, 0, 255 | 300° 100% 50% | 4 |
#D1D1D1 | 209, 209, 209 | 0° 0% 82% | 4 |
#BE0F00 | 190, 15, 0 | 5° 100% 37% | 3 |
#185738 | 24, 87, 56 | 150° 57% 22% | 3 |
#640E06 | 100, 14, 6 | 5° 89% 21% | 3 |
#3B82F6 | 59, 130, 246 | 217° 91% 60% | 3 |
#D4D4D4 | 212, 212, 212 | 0° 0% 83% | 2 |
#172554 | 23, 37, 84 | 226° 57% 21% | 2 |
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-background | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
--color-text-primary | #121212 | 18, 18, 18 | 0° 0% 7% |
--color-primary | #9DFF5C | 157, 255, 92 | 96° 100% 68% |
--color-accent | #DAFFC2 | 218, 255, 194 | 96° 100% 88% |
--color-surface | #EBEBEB | 235, 235, 235 | 0° 0% 92% |
--color-secondary | #000000 | 0, 0, 0 | 0° 0% 0% |
--color-text-secondary | #BFA5AE | 191, 165, 174 | 339° 17% 70% |
--color-border | #999EA1 | 153, 158, 161 | 203° 4% 62% |
--color-on-primary | #121212 | 18, 18, 18 | 0° 0% 7% |
--color-on-secondary | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
--color-on-accent | #121212 | 18, 18, 18 | 0° 0% 7% |
Surface ramp (derived from detected light neutrals)
| Token | Hex |
--color-surface-container-lowest | #FFFFFF |
--color-surface-container-low | #F7F7F7 |
--color-surface-container | #EDEDED |
--color-surface-container-high | #EBEBEB |
--color-surface-container-highest | #E5E7EB |
Gradients
> 3 gradient definitions were detected but all were framework utility templates (unresolvable custom-property stops), so no concrete gradients could be extracted.
Typography
Primary typeface: Poppins — stack: Poppins
Font stacks (most used first)
Poppins
var(--font-family-body)
classico-urw,sans-serif
var(--font-family-heading)
Inter
"classico-urw"
Roboto Mono
"helvetica-lt-pro"
var(--font-family-mono)
inherit
Derived type scale
| Token | Size |
| display | 64px |
| headline-lg | 36px |
| headline-md | 30px |
| title-lg | 20.6px |
| body-lg | 18px |
| body-md | 16px |
| label-md | 14.4px |
Font sizes (by frequency)
| Size | Count |
| 64px | 9 |
| 27px | 9 |
| 14px | 8 |
| .875em | 6 |
| 1rem | 6 |
| 28px | 6 |
| .8571429em | 5 |
| 1.25rem | 5 |
| 2.25rem | 5 |
| 1.5rem | 4 |
| 1.875rem | 4 |
| .875rem | 4 |
| 3rem | 4 |
| 1.125rem | 3 |
| 1.25em | 2 |
| .9em | 2 |
| 1.2857143em | 2 |
| 3.75rem | 2 |
| 24px | 2 |
| 1em | 1 |
Weights in use: 100, 200, 300, 400, 500, 600, 700, 800, 900
Line heights (by frequency)
| Value | Count |
| 1.5 | 19 |
| 1.3 | 12 |
| 1.2 | 7 |
| 1.4 | 4 |
| 1.6 | 2 |
| 1.3333333 | 2 |
| 1.7142857 | 2 |
| 1.4285714 | 2 |
| 1.5555556 | 2 |
| 1 | 2 |
Letter spacing (by frequency)
| Value | Count |
| 0em | 9 |
| -0.01em | 6 |
| 0.2em | 5 |
| 0.3em | 5 |
| .14em | 1 |
Spacing
Derived spacing scale
| Token | Value |
| unit | 4px |
| xs | 2.2857136px |
| sm | 8px |
| md | 16px |
| lg | 32px |
| xl | 64px |
Raw values (by frequency)
| Value | Count |
| .5rem | 7 |
| 1rem | 6 |
| 2rem | 5 |
| 2.5rem | 5 |
| 3rem | 5 |
| 4rem | 4 |
| 1.5rem | 4 |
| .625rem | 4 |
| 5rem | 4 |
| 1.25rem | 4 |
| .75rem | 3 |
| .6666667em | 2 |
| .1875em | 1 |
| .8571429em | 1 |
| .5714286em | 1 |
| .1428571em | 1 |
Borders & Radius
Derived radius tokens
| Token | Value |
| sm | 4px |
| md | 8px |
| lg | 24px |
| pill | 9999px |
Raw values (resolved, by frequency)
| Radius | Count |
1rem | 4 |
inherit | 4 |
1.5rem | 3 |
16px | 3 |
.3125rem | 2 |
.375rem | 2 |
0 | 2 |
.25rem | 2 |
9999px | 2 |
.5rem | 2 |
Shadows
Derived elevation
| Token | Value |
| sm | 0 0 rgba(0,0,0,0),0 0 rgba(0,0,0,0) |
| md | 0 0 0 1px rgb(/10%),0 3px 0 rgb(/10%) |
| lg | 0 0 rgba(0,0,0,0),0 0 rgba(0,0,0,0),0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1) |
All detected shadows
0 0 rgba(0,0,0,0),0 0 rgba(0,0,0,0)
0 0 rgba(0,0,0,0)
0 0 0 1px rgb(/10%),0 3px 0 rgb(/10%)
0 0 rgba(0,0,0,0),0 0 rgba(0,0,0,0),0 25px 50px -12px rgba(0,0,0,.25)
0 0 rgba(0,0,0,0),0 0 rgba(0,0,0,0),0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)
Layout
Container max-width: 1024px
Grid columns (largest detected grid): 12
Breakpoints
- 640px
- 768px
- 1024px
- 1280px
- 1281px
Animation & Motion
Transitions
-webkit-transform 750ms cubic-bezier(0.16, 0.84, 0.44, 1) 0ms,filter 750ms cubic-bezier(0.16, 0.84, 0.44, 1) 0ms,opacity 750ms ease 0ms
transform 750ms cubic-bezier(0.16, 0.84, 0.44, 1) 0ms,filter 750ms cubic-bezier(0.16, 0.84, 0.44, 1) 0ms,opacity 750ms ease 0ms
all 0ms
Easing curves
cubic-bezier(.4,0,.6,1)
cubic-bezier(.4,0,.2,1)
cubic-bezier(0,0,.2,1)
cubic-bezier(.4,0,.2,1)
cubic-bezier(0,0,.2,1)
cubic-bezier(.4,0,1,1)
var(--ease-in)
var(--ease-in-out)
Keyframes
@keyframes fadeIn { 0%{opacity:0}to{opacity:1} }
@keyframes spin { to{-webkit-transform:rotate(1turn);transform:rotate(1turn)} }
@keyframes enter { 0%{opacity:1;opacity:var(--tw-enter-opacity,1);-webkit-transform:translateZ(0) scaleX(1) rotate(0);transform:translateZ(0) scaleX(1) rotate(0);-webkit-transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0));transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw- }
@keyframes exit { to{opacity:1;opacity:var(--tw-exit-opacity,1);-webkit-transform:translateZ(0) scaleX(1) rotate(0);transform:translateZ(0) scaleX(1) rotate(0);-webkit-transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0));transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale, }
@keyframes shimmer { to{content:var(--tw-content);-webkit-transform:translateX(100%);transform:translateX(100%)} }
@keyframes pulse { 50%{opacity:.5} }
@keyframes collapse { 0%{height:var(--radix-accordion-content-height)}to{height:0} }
@keyframes expand { 0%{height:0}to{height:var(--radix-accordion-content-height)} }
@keyframes fade-in { 0%{opacity:0}to{opacity:1} }
@keyframes slide-in-top { 0%{-webkit-transform:translateY(-100%);transform:translateY(-100%)}to{-webkit-transform:translateY(0);transform:translateY(0)} }
Animations
fade-in .9s ease-out forwards
pulse 2s cubic-bezier(.4,0,.6,1) infinite
slide-in-top .5s ease-out forwards
spin 1s linear infinite
shimmer 1.5s infinite
Components
Extracted from the page's own interactive elements (classes → resolved CSS values).
button-secondary — sample text: “Subscribe”
| Property | Value |
| fontWeight | 300 |
| rounded | 9999px |
| textTransform | uppercase |
| border | 1px solid currentColor |
button-primary — sample text: “Discover”
| Property | Value |
| fontWeight | 600 |
| backgroundColor | #185738 |
| textColor | #FFF |
| rounded | 9999px |
| padding | 6px 12px |
| border | 1px solid currentColor |
badge
| Property | Value |
| fontWeight | 600 |
| backgroundColor | #185738 |
| textColor | #FFF |
| rounded | 9999px |
| padding | 6px 12px |
| border | 1px solid currentColor |
CTA labels found on page
Source Design Tokens (CSS custom properties)
:root {
--primary: 96 100% 68%;
--accent: 96 100% 88%;
--background: 0 0% 100%;
--foreground: 0 0% 7%;
--success: 116 78% 65%;
--error: 0 100% 60%;
--warning: 40 100% 60%;
--info: 220 70% 45%;
--contrast-100: 0 0% 93%;
--contrast-200: 0 0% 82%;
--contrast-300: 0 0% 70%;
--contrast-400: 0 0% 54%;
--contrast-500: 0 0% 34%;
--font-variation-settings-body: "slnt" 0;
--font-variation-settings-heading: "slnt" 0;
--font-size-xs: 0.75rem;
--font-size-sm: 0.875rem;
--font-size-base: 1rem;
--font-size-lg: 1.125rem;
--font-size-xl: 1.25rem;
--font-size-2xl: 1.5rem;
--shadow-sm: 0 1px 2px 0 rgba(0,0,0,0.05);
--shadow-base: 0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px 0 rgba(0,0,0,0.06);
--shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);
--shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);
--shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04);
--footer-logo-width: 230px;
--ink-regular: #000;
--ink-brand: #122353;
--ink-silver: #999EA1;
--ink-plat: #E6E6E6;
--ink-rose: #BFA5AE;
--footer-bg: hsl(var(--background));
--footer-focus: hsl(var(--primary));
--dur-100: 100ms;
--dur-400: 400ms;
--select-light-item-text: black;
--ease-in: cubic-bezier(0.4,0,1,1);
--ease-in-out: cubic-bezier(0.4,0,0.2,1);
--ease-out: cubic-bezier(0,0,0.2,1);
--faq-hero-bg: #4b4b4b;
--carousel-light-button: #ff00ff;
--carousel-dark-button: #ff00ff;
--carousel-focus: #ff00ff;
--carousel-light-scrollbar: #ff00ff;
--select-light-icon: var(--ink-rose);
--select-light-trigger-border: var(--ink-silver);
--breadcrumbs-hover: var(--ink-rose);
--animated-underline-font-family: var(--font-family-poppins);
--breadcrumbs-secondary-text: var(--ink-silver);
--font-family-inter: "Inter","Inter Fallback";
--font-family-dm-serif-text: "DM Serif Text","DM Serif Text Fallback";
--font-family-poppins: "Poppins","Poppins Fallback";
--font-family-roboto-mono: "Roboto Mono","Roboto Mono Fallback";
--primary-mix-white-75: 98.2 100% 93%;
--primary-mix-black-75: 97.24, 74.36%, 7.65%;
--font-family-heading: Poppins;
--font-family-body: var(--font-family-inter);
--font-family-accent: var(--font-family-roboto-mono);
--banner-background: rgb(191, 165, 174);
}
Do's and Don'ts
Do
- Do reserve the accent
#DAFFC2 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): 100, 200, 300, 400, 500, 600, 700, 800, 900.
- Do align spacing to the 4px base unit derived from the page.
Don't
- Don't introduce colors outside the detected palette — every hue above was found in the source.
- Don't add gradients — the source page uses flat fills exclusively.
Design Tokens (copy-paste)
:root {
--color-background: #FFFFFF;
--color-text-primary: #121212;
--color-primary: #9DFF5C;
--color-accent: #DAFFC2;
--color-surface: #EBEBEB;
--color-secondary: #000000;
--color-text-secondary: #BFA5AE;
--color-border: #999EA1;
--color-on-primary: #121212;
--color-on-secondary: #FFFFFF;
--color-on-accent: #121212;
--color-surface-container-lowest: #FFFFFF;
--color-surface-container-low: #F7F7F7;
--color-surface-container: #EDEDED;
--color-surface-container-high: #EBEBEB;
--color-surface-container-highest: #E5E7EB;
--font-sans: Poppins;
--font-size-display: 64px;
--font-size-headline-lg: 36px;
--font-size-headline-md: 30px;
--font-size-title-lg: 20.6px;
--font-size-body-lg: 18px;
--font-size-body-md: 16px;
--font-size-label-md: 14.4px;
--radius-sm: 4px;
--radius-md: 8px;
--radius-lg: 24px;
--radius-pill: 9999px;
--shadow-sm: 0 0 rgba(0,0,0,0),0 0 rgba(0,0,0,0);
--shadow-md: 0 0 0 1px rgb(/10%),0 3px 0 rgb(/10%);
--shadow-lg: 0 0 rgba(0,0,0,0),0 0 rgba(0,0,0,0),0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);
--space-xs: 2.2857136px;
--space-sm: 8px;
--space-md: 16px;
--space-lg: 32px;
--space-xl: 64px;
--tracking-display: -0.01em;
--tracking-label: 0.2em;
--container-max: 1024px;
}