Design Specification — Home Automation in Mumbai | AHA Smart Homes
| Field | Value |
| Site / Project | https://www.ahasmarthomes.com/ |
| Analyzed on | 2026-08-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 (#C9A86A). All type is set in 'Inter'. Detected font weights: 300, 400, 450, 500, 600, 700, 800, 900. Detected style signatures: glassmorphism; soft-ui / layered elevation; rounded / pill-heavy.
Logo asset(s): https://d2ibglgkljrdv5.cloudfront.net/mumbai/commonImages/aha-smart-homes-logo.svg · https://d2ibglgkljrdv5.cloudfront.net/assets/logos/alexa.png
Color System
Detected palette (by frequency)
| Hex | RGB | HSL | Count |
#000000 | 0, 0, 0 | 0° 0% 0% | 36 |
#FFFFFF | 255, 255, 255 | 0° 0% 100% | 20 |
#111111 | 17, 17, 17 | 0° 0% 7% | 10 |
#C9A86A | 201, 168, 106 | 39° 47% 60% | 4 |
#292929 | 41, 41, 41 | 0° 0% 16% | 4 |
#313131 | 49, 49, 49 | 0° 0% 19% | 3 |
#1A1A1A | 26, 26, 26 | 0° 0% 10% | 2 |
#8A6A33 | 138, 106, 51 | 38° 46% 37% | 1 |
#ECD6A8 | 236, 214, 168 | 41° 64% 79% | 1 |
#0B0B0B | 11, 11, 11 | 0° 0% 4% | 1 |
#F4F1EC | 244, 241, 236 | 37° 27% 94% | 1 |
#F7F5F0 | 247, 245, 240 | 43° 30% 95% | 1 |
#1C1C18 | 28, 28, 24 | 60° 8% 10% | 1 |
#2E2B23 | 46, 43, 35 | 44° 14% 16% | 1 |
#797449 | 121, 116, 73 | 54° 25% 38% | 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-background | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
--color-surface | #111111 | 17, 17, 17 | 0° 0% 7% |
--color-text-primary | #000000 | 0, 0, 0 | 0° 0% 0% |
--color-border | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
--color-accent | #C9A86A | 201, 168, 106 | 39° 47% 60% |
--color-primary | #C9A86A | 201, 168, 106 | 39° 47% 60% |
--color-secondary | #000000 | 0, 0, 0 | 0° 0% 0% |
--color-text-secondary | #313131 | 49, 49, 49 | 0° 0% 19% |
--color-on-primary | #000000 | 0, 0, 0 | 0° 0% 0% |
--color-on-secondary | #FFFFFF | 255, 255, 255 | 0° 0% 100% |
--color-on-accent | #000000 | 0, 0, 0 | 0° 0% 0% |
Surface ramp (derived from detected light neutrals)
| Token | Hex |
--color-surface-container-lowest | #FFFFFF |
--color-surface-container-low | #F7F5F0 |
--color-surface-container | #F4F1EC |
Gradients
linear-gradient(180deg,rgba(28,28,24,0.98),rgba(46,43,35,0.98))
linear-gradient( to bottom,rgba(0,0,0,0.08) 0%,rgba(0,0,0,0.24) 45%,rgba(0,0,0,0.72) 100% )
linear-gradient(to top,rgba(0,0,0,0.82),rgba(0,0,0,0.18),transparent)
linear-gradient(to top,rgba(0,0,0,0.74) 0%,rgba(0,0,0,0.16) 52%,transparent 100%)
Typography
Primary typeface: Inter — stack: 'Inter'
Font stacks (most used first)
'Inter'
"Inter Fallback"
Inter,"Inter Fallback",Helvetica,Arial,sans-serif
Web font sources
- fonts.googleapis.com/css2?family=Inter:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,700&display=swap
Derived type scale
| Token | Size |
| display | 58px |
| headline-lg | 32px |
| headline-md | 30px |
| title-lg | 20px |
| body-lg | 18px |
| body-md | 16.8px |
| label-md | 14.4px |
| label-sm | 12px |
Font sizes (by frequency)
| Size | Count |
| 14px | 11 |
| 13px | 8 |
| 15px | 5 |
| 12px | 4 |
| 30px | 3 |
| 0.95rem | 3 |
| 29px | 2 |
| 3rem | 2 |
| 1.1rem | 2 |
| 1.05rem | 2 |
| 0.9rem | 2 |
| 1rem | 2 |
| 18px | 2 |
| 24px | 2 |
| 17px | 2 |
| 58px | 1 |
| 0.99rem | 1 |
| 1.2rem | 1 |
| 32px | 1 |
| 1.25rem | 1 |
Weights in use: 300, 400, 450, 500, 600, 700, 800, 900
Line heights (by frequency)
| Value | Count |
| 1.7 | 5 |
| 1.1 | 5 |
| 1.2 | 4 |
| 1.75 | 4 |
| 1em | 2 |
| 1.65 | 2 |
| 1 | 2 |
| 1.8 | 2 |
| 1.3 | 2 |
| 1.55 | 2 |
Letter spacing (by frequency)
| Value | Count |
| -0.04em | 3 |
| -0.03em | 3 |
| 0.02em | 1 |
| 3px | 1 |
| 2.5px | 1 |
| -3px | 1 |
| 2px | 1 |
| -1.5px | 1 |
Spacing
Derived spacing scale
| Token | Value |
| unit | 4px |
| xs | 7px |
| sm | 8px |
| md | 16px |
| lg | 40px |
| xl | 64px |
Raw values (by frequency)
| Value | Count |
| 12px | 12 |
| 16px | 11 |
| 8px | 8 |
| 28px | 7 |
| 14px | 7 |
| 24px | 7 |
| 48px | 7 |
| 10px | 6 |
| 20px | 5 |
| 18px | 5 |
| 40px | 4 |
| 22px | 3 |
| 7px | 2 |
| 64px | 2 |
| 80px | 2 |
| 120px | 2 |
Borders & Radius
Derived radius tokens
| Token | Value |
| sm | 3px |
| md | 8px |
| lg | 32px |
| pill | 9999px |
Raw values (resolved, by frequency)
| Radius | Count |
999px | 5 |
20px | 5 |
0 | 3 |
10px | 3 |
50% | 3 |
0 0 50% 50% / 0 0 18% 18% | 2 |
12px | 2 |
3px | 1 |
28px | 1 |
32px | 1 |
8px | 1 |
Shadows
Derived elevation
| Token | Value |
| sm | 0 8px 32px rgba(0,0,0,0.12) |
| md | 0 12px 40px rgba(0,0,0,0.25) |
| lg | 0 28px 70px rgba(0,0,0,0.18) |
All detected shadows
0 0 0 1000px #292929 inset
0 8px 32px rgba(0,0,0,0.12)
0 8px 16px rgba(201,168,106,0.3)
0 0 0 1000px #313131 inset
0 12px 40px rgba(0,0,0,0.25)
0 28px 70px rgba(0,0,0,0.18)
Layout
Container max-width: 768px
Grid columns (largest detected grid): 3
Breakpoints
- 480px
- 600px
- 768px
- 769px
- 960px
- 1024px
Animation & Motion
Transitions
0.3s ease
padding 0.6s ease
background 0.6s ease,backdrop-filter 0.6s ease,border-radius 0.6s ease,padding 0.6s ease,box-shadow 0.6s ease,height 0.6s ease
height 0.3s ease,filter 0.3s ease
background 0.6s ease,backdrop-filter 0.6s ease,border-radius 0.6s ease,padding 0.6s ease,box-shadow 0.6s ease,gap 0.6s ease,height 0.6s ease
transform 0.3s ease,box-shadow 0.3s ease
background 0.3s ease,backdrop-filter 0.3s ease,box-shadow 0.3s ease
all 0.3s ease
opacity 0.4s ease
transform 0.45s cubic-bezier(0.22,1,0.36,1),opacity 0.35s ease,border-radius 0.45s ease
opacity 0.3s ease,transform 0.3s ease,background 0.3s ease,color 0.3s ease
opacity 0.9s ease
Easing curves
cubic-bezier(0.22,1,0.36,1)
Keyframes
@keyframes slotMachine { from{transform:translateY(0);}to{transform:translateY(-50%);} }
CTA labels found on page
- Book a Free Demo ↗
- View Products ↗
- Contact Us ↗
Effects
- backdrop-filter:
blur(24px)
Source Design Tokens (CSS custom properties)
:root {
--color-bg: #ffffff;
--color-surface: #111111;
--color-surface-light: #1a1a1a;
--color-white: #ffffff;
--color-text: #000000;
--color-accent: #c9a86a;
--color-accent-ink: #8a6a33;
--color-accent-light: #ecd6a8;
--color-border: rgba(255,255,255,0.08);
--container-width: 1280px;
--container-padding: 40px;
--radius-sm: 12px;
--radius-md: 20px;
--radius-lg: 32px;
--transition: 0.3s ease;
--z-header: 1000;
--z-overlay: 50;
--body-bg: var(--color-bg);
--body-color: var(--color-white);
}
Do's and Don'ts
Do
- Do reserve the accent
#C9A86A 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, 450, 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.
Design Tokens (copy-paste)
:root {
--color-background: #FFFFFF;
--color-surface: #111111;
--color-text-primary: #000000;
--color-border: #FFFFFF;
--color-accent: #C9A86A;
--color-primary: #C9A86A;
--color-secondary: #000000;
--color-text-secondary: #313131;
--color-on-primary: #000000;
--color-on-secondary: #FFFFFF;
--color-on-accent: #000000;
--color-surface-container-lowest: #FFFFFF;
--color-surface-container-low: #F7F5F0;
--color-surface-container: #F4F1EC;
--font-sans: 'Inter';
--font-size-display: 58px;
--font-size-headline-lg: 32px;
--font-size-headline-md: 30px;
--font-size-title-lg: 20px;
--font-size-body-lg: 18px;
--font-size-body-md: 16.8px;
--font-size-label-md: 14.4px;
--font-size-label-sm: 12px;
--radius-sm: 3px;
--radius-md: 8px;
--radius-lg: 32px;
--radius-pill: 9999px;
--shadow-sm: 0 8px 32px rgba(0,0,0,0.12);
--shadow-md: 0 12px 40px rgba(0,0,0,0.25);
--shadow-lg: 0 28px 70px rgba(0,0,0,0.18);
--space-xs: 7px;
--space-sm: 8px;
--space-md: 16px;
--space-lg: 40px;
--space-xl: 64px;
--tracking-display: -0.04em;
--tracking-label: 0.02em;
--container-max: 768px;
}