DesignMD Maker
← Home Report · Code analysis
C
Design System

Cámara Oficial de Comercio, Industria y Servicios de la provincia de Huesca

Design system extracted from https://www.camarahuesca.com on 2026-09-02 (code-based analysis).

Source · https://www.camarahuesca.com Engine · Code analysis Created · Sep 2, 2026 11:45 Cost · $0.0000
Detected Language

Design Style

glassmorphism
2 backdrop-filter rules + 6 translucent white fills
soft-ui / layered elevation
23 large soft low-opacity shadows
rounded / pill-heavy
many large radii & pills
Palette

Colors

primary
#FFFFFF
1 on white · 21 on black · 0° 0% 100%
secondary
#000000
21 on white · 1 on black · 0° 0% 0%
accent
#A3002A
8.11 on white · 2.59 on black · 345° 100% 32%
Token Roles 13 tokens
background
#FFFFFF · 21:1 vs black
surface
#F9FAFB · 20.1:1 vs black
text-primary
#000000 · 21:1 vs white
text-secondary
#334155 · 10.35:1 vs white
border
#DDDDDD · 15.46:1 vs black
on-primary
#000000 · 21:1 vs white
on-secondary
#FFFFFF · 21:1 vs black
on-accent
#FFFFFF · 21:1 vs black
surface-container-lowest
#FFFFFF · 21:1 vs black
surface-container-low
#F9FAFB · 20.1:1 vs black
surface-container
#F3F4F6 · 19.08:1 vs black
surface-container-high
#E2E8F0 · 17.03:1 vs black
surface-container-highest
#E5E7EB · 16.96:1 vs black
Detected Palette 24 colors by frequency in source CSS
#FFFFFF
used 59× · 0° 0% 100%
#C2002F
used 27× · 345° 100% 38%
#000000
used 27× · 0° 0% 0%
#A3002A
used 5× · 345° 100% 32%
#F9FAFB
used 4× · 210° 20% 98%
#25D366
used 3× · 142° 70% 49%
#7C3AED
used 3× · 262° 83% 58%
#334155
used 3× · 215° 25% 27%
#DC2626
used 3× · 0° 72% 51%
#DDDDDD
used 2× · 0° 0% 87%
#1F2937
used 2× · 215° 28% 17%
#4B5563
used 2× · 215° 14% 34%
#E5E7EB
used 2× · 220° 13% 91%
#6B7280
used 2× · 220° 9% 46%
#E2E8F0
used 2× · 214° 32% 91%
#991B1B
used 2× · 0° 70% 35%
#7A00DF
used 1× · 273° 100% 44%
#007CBA
used 1× · 200° 100% 36%
#006BA1
used 1× · 200° 100% 32%
#005A87
used 1× · 200° 100% 26%
#444444
used 1× · 0° 0% 27%
#9A0025
used 1× · 346° 100% 30%
#F3F4F6
used 1× · 220° 14% 96%
#D1D5DB
used 1× · 216° 12% 84%
Surface Treatments

Gradients

linear-gradient(to bottom,transparent 0,rgba(255,255,255,.9) 50%,#fff 100%)
linear-gradient(135deg,#c2002f 0,#9e0127 100%)
linear-gradient(135deg,#d10032 0,#c2002f 100%)
linear-gradient(135deg,#faf5ff 0,#ede9fe 100%)
linear-gradient(to bottom,#fff 0,#f1f4f8 100%)
linear-gradient(135deg,#c2002f 0,#a3002a 100%)
Type System

Typography

headline-lg
var(--font-serif)
40px · 300 · LH 1.2
Cámara Oficial de Comercio, Industria y Servicios de la provincia de Huesca
headline-md
var(--font-serif)
28px · 300 · LH 1.2
Cámara Oficial de Comercio, Industria y Servicios de la provincia de Huesca
title-lg
inherit
22px · 300 · LH 1.4
Typography is the discipline of rendering language visible. Spacing, weight, and rhythm carry meaning long before words are read.
body-lg
inherit
18px · 300 · LH 1.7
Typography is the discipline of rendering language visible. Spacing, weight, and rhythm carry meaning long before words are read.
body-md
inherit
16px · 300 · LH 1.7
Typography is the discipline of rendering language visible. Spacing, weight, and rhythm carry meaning long before words are read.
label-md
inherit
14px · 300 · LH 1.4 · LS .05em
Typography is the discipline of rendering language visible. Spacing, weight, and rhythm carry meaning long before words are read.
label-sm
inherit
12px · 300 · LH 1.4 · LS .05em
Typography is the discipline of rendering language visible. Spacing, weight, and rhythm carry meaning long before words are read.
Detected Font Stacks
var(--font-sans)var(--font-serif)'Inter''Playfair Display'inherit
Structure

Layout

Container
Section padding: · card padding:
Grid
12-column reference grid · gap
Spacing Scale
unit
8px
xs
4px
sm
8px
md
16px
lg
32px
xl
64px
detected
.25rem
detected
.375rem
detected
.5rem
detected
.75rem
detected
12px
detected
.875rem
detected
1rem
detected
16px
detected
1.25rem
detected
20px
Breakpoints
400px480px640px767px768px1023px1024px1200px
Depth

Elevation & Depth

level 1
0 4px 8px rgba(194, 0, 47, 0.2)
level 2
0 10px 40px rgba(0,0,0,.15)
level 3
0 25px 50px -12px rgba(0,0,0,.15)
level 4
0 10px 25px -5px rgba(0,0,0,.15)
level 5
0 4px 20px -5px rgba(0,0,0,.08)
level 6
0 12px 30px -10px rgba(0,0,0,.15)
Geometry

Shapes

sm
2px
md
8px
lg
24px
pill
50%
r5
.5rem
r6
1rem
r7
16px
r8
.75rem
r9
6px
r10
1.5rem
Tokens in Context

Components

card
background{colors.surface}
border1px solid {colors.border}
radius24px
boxShadow{elevation.md}
button-primary
background{colors.primary}
radius50%
Animation

Motion

Keyframes 9 found
@keyframes ccSlideUp
from { transform: translateY(100%); opacity: 0; } to { transform: translateY(0); opacity: 1; }
@keyframes ccFadeOut
0% { opacity: 1; transform: translateY(0); } 100% { opacity: 0; transform: translateY(20px); }
@keyframes slideInUp
from { opacity: 0; transform: translateY(100px); } to{ opacity: 1; transform: translateY(0); }
@keyframes bounceDown
0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(4px)}
@keyframes aviso-ring
0%{transform:scale(1);opacity:.6}80%{transform:scale(1.5);opacity:0}100%{transform:scale(1.5);opacity:0}
@keyframes aviso-chevron-nudge
0%,100%,60%{transform:translateX(0)}80%{transform:translateX(4px)}
@keyframes camara-live-pulse
0%{box-shadow:0 0 0 0 rgba(220,38,38,.7)}70%{box-shadow:0 0 0 .4rem rgba(220,38,38,0)}100%{box-shadow:0 0 0 0 rgba(220,38,38,0)}
@keyframes heart-glow
0%,100%{opacity:.5;filter:brightness(.8)}50%{opacity:1;filter:brightness(1.2)}
@keyframes heart-pop
0%{transform:scale(1)}50%{transform:scale(1.4)}100%{transform:scale(1)}
Applied Animations
ccFadeOut 0.8s ease-out forwardsslideInUp 0.5s ease-outbounceDown 1.5s ease-in-out infinitenoneheart-glow 6s ease-in-out infiniteheart-glow 3s ease-in-out infiniteheart-pop .3s ease-out
Transitions
all 0.3s easeall 0.2s easecolor 0.2stop .2sall .3s easecolor .2sall .2s easeall .2s
Proof

Live Preview

Complete Reference

Full design.md Specification

Design Specification — Cámara Oficial de Comercio, Industria y Servicios de la provincia de Huesca

FieldValue
Site / Projecthttps://www.camarahuesca.com
Analyzed on2026-09-02
Analysis modeAutomated 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 (#A3002A). Display headings use a distinct face (var(--font-serif)) over the body stack (var(--font-sans)). Detected font weights: 300, 400, 500, 600, 700, 800. Detected style signatures: glassmorphism; soft-ui / layered elevation; rounded / pill-heavy.

Logo asset(s): https://www.camarahuesca.com/wp-content/themes/camara-huesca/assets/img/logo-camara-huesca-322.png · https://www.camarahuesca.com/wp-content/uploads/2022/07/logo-fundesa.jpg

Color System

Detected palette (by frequency)

HexRGBHSLCount
#FFFFFF255, 255, 2550° 0% 100%59
#C2002F194, 0, 47345° 100% 38%27
#0000000, 0, 00° 0% 0%27
#A3002A163, 0, 42345° 100% 32%5
#F9FAFB249, 250, 251210° 20% 98%4
#25D36637, 211, 102142° 70% 49%3
#7C3AED124, 58, 237262° 83% 58%3
#33415551, 65, 85215° 25% 27%3
#DC2626220, 38, 380° 72% 51%3
#DDDDDD221, 221, 2210° 0% 87%2
#1F293731, 41, 55215° 28% 17%2
#4B556375, 85, 99215° 14% 34%2
#E5E7EB229, 231, 235220° 13% 91%2
#6B7280107, 114, 128220° 9% 46%2
#E2E8F0226, 232, 240214° 32% 91%2
#991B1B153, 27, 270° 70% 35%2
#7A00DF122, 0, 223273° 100% 44%1
#007CBA0, 124, 186200° 100% 36%1
#006BA10, 107, 161200° 100% 32%1
#005A870, 90, 135200° 100% 26%1

Assigned roles

Roles are taken from the page's own semantic CSS custom properties when present, otherwise inferred from usage frequency + luminance/saturation.

TokenHexRGBHSL
--color-primary#FFFFFF255, 255, 2550° 0% 100%
--color-accent#A3002A163, 0, 42345° 100% 32%
--color-background#FFFFFF255, 255, 2550° 0% 100%
--color-surface#F9FAFB249, 250, 251210° 20% 98%
--color-text-primary#0000000, 0, 00° 0% 0%
--color-secondary#0000000, 0, 00° 0% 0%
--color-text-secondary#33415551, 65, 85215° 25% 27%
--color-border#DDDDDD221, 221, 2210° 0% 87%
--color-on-primary#0000000, 0, 00° 0% 0%
--color-on-secondary#FFFFFF255, 255, 2550° 0% 100%
--color-on-accent#FFFFFF255, 255, 2550° 0% 100%

Surface ramp (derived from detected light neutrals)

TokenHex
--color-surface-container-lowest#FFFFFF
--color-surface-container-low#F9FAFB
--color-surface-container#F3F4F6
--color-surface-container-high#E2E8F0
--color-surface-container-highest#E5E7EB

Gradients

  • linear-gradient(to bottom,transparent 0,rgba(255,255,255,.9) 50%,#fff 100%)
  • linear-gradient(135deg,#c2002f 0,#9e0127 100%)
  • linear-gradient(135deg,#d10032 0,#c2002f 100%)
  • linear-gradient(135deg,#faf5ff 0,#ede9fe 100%)
  • linear-gradient(to bottom,#fff 0,#f1f4f8 100%)
  • linear-gradient(135deg,#c2002f 0,#a3002a 100%)
  • radial-gradient(circle,rgba(255,255,255,.1) 0,transparent 70%)

Typography

Primary typeface: var(--font-sans) — stack: var(--font-sans)

Display / heading typeface: var(--font-serif) (used for large headings; body uses the primary stack)

Font stacks (most used first)

  • var(--font-sans)
  • var(--font-serif)
  • 'Inter'
  • 'Playfair Display'
  • inherit

Derived type scale

TokenSize
headline-lg40px
headline-md28px
title-lg22px
body-lg18px
body-md16px
label-md14px
label-sm12px

Font sizes (by frequency)

SizeCount
.875rem18
.75rem11
.8125rem11
1rem8
.9375rem8
1.125rem6
2.5rem5
1.25rem4
1.75rem4
2rem4
15px3
14px3
1.0625rem3
.625rem2
.5rem2
1.5rem2
1em1
22px1
16px1
20px1

Weights in use: 300, 400, 500, 600, 700, 800

Line heights (by frequency)

ValueCount
1.29
1.76
1.65
1.34
1.54
1.43
12
1.11
1.251

Letter spacing (by frequency)

ValueCount
.05em3
.025em3
.1em2
.08em1

Spacing

Derived spacing scale

TokenValue
unit8px
xs4px
sm8px
md16px
lg32px
xl64px

Raw values (by frequency)

ValueCount
.5rem36
1rem23
.75rem18
2rem12
1.5rem11
3rem10
2.5rem6
1.25rem6
.375rem6
.25rem6
4rem6
12px5
5rem5
.875rem4
16px2
20px2

Borders & Radius

Derived radius tokens

TokenValue
sm2px
md8px
lg24px
pill50%

Raw values (resolved, by frequency)

RadiusCount
50%8
.5rem8
1rem5
16px4
.75rem4
8px3
6px3
1.5rem3
9999px2
.625rem2
2px1
0 0 .5rem .5rem1

Shadows

Derived elevation

TokenValue
sm0 4px 8px rgba(194, 0, 47, 0.2)
md0 12px 30px -10px rgba(0,0,0,.15)
lg0 6px 20px rgba(37, 211, 102, 0.6)

All detected shadows

  • 0 4px 8px rgba(194, 0, 47, 0.2)
  • 0 10px 40px rgba(0,0,0,.15)
  • 0 25px 50px -12px rgba(0,0,0,.15)
  • 0 10px 25px -5px rgba(0,0,0,.15)
  • 0 4px 20px -5px rgba(0,0,0,.08)
  • 0 12px 30px -10px rgba(0,0,0,.15)
  • 0 25px 50px -12px rgba(0,0,0,.2)
  • 0 0 0 3px
  • 0 4px 12px rgba(37, 211, 102, 0.4)
  • 0 6px 20px rgba(37, 211, 102, 0.6)

Layout

Container max-width: 768px

Grid columns (largest detected grid): 6

Breakpoints

  • 400px
  • 480px
  • 640px
  • 767px
  • 768px
  • 1023px
  • 1024px
  • 1200px

Animation & Motion

Transitions

  • all 0.3s ease
  • all 0.2s ease
  • color 0.2s
  • top .2s
  • all .3s ease
  • color .2s
  • all .2s ease
  • all .2s
  • transform .3s ease
  • opacity .2s ease,visibility .2s
  • transform .2s ease
  • opacity .3s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease

Keyframes

@keyframes ccSlideUp { from { transform: translateY(100%); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@keyframes ccFadeOut { 0% { opacity: 1; transform: translateY(0); } 100% { opacity: 0; transform: translateY(20px); } }
@keyframes slideInUp { from { opacity: 0; transform: translateY(100px); } to{ opacity: 1; transform: translateY(0); } }
@keyframes bounceDown { 0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(4px)} }
@keyframes aviso-ring { 0%{transform:scale(1);opacity:.6}80%{transform:scale(1.5);opacity:0}100%{transform:scale(1.5);opacity:0} }
@keyframes aviso-chevron-nudge { 0%,100%,60%{transform:translateX(0)}80%{transform:translateX(4px)} }
@keyframes camara-live-pulse { 0%{box-shadow:0 0 0 0 rgba(220,38,38,.7)}70%{box-shadow:0 0 0 .4rem rgba(220,38,38,0)}100%{box-shadow:0 0 0 0 rgba(220,38,38,0)} }
@keyframes heart-glow { 0%,100%{opacity:.5;filter:brightness(.8)}50%{opacity:1;filter:brightness(1.2)} }
@keyframes heart-pop { 0%{transform:scale(1)}50%{transform:scale(1.4)}100%{transform:scale(1)} }

Animations

  • ccFadeOut 0.8s ease-out forwards
  • slideInUp 0.5s ease-out
  • bounceDown 1.5s ease-in-out infinite
  • none
  • heart-glow 6s ease-in-out infinite
  • heart-glow 3s ease-in-out infinite
  • heart-pop .3s ease-out

CTA labels found on page

  • Institución
  • Sede electrónica
  • Contactar Ahora
  • Suscribirme
  • Más información
  • ¡Contacta con nosotros!
  • ¡Únete al club!

Effects

  • backdrop-filter: blur(12px)
  • backdrop-filter: blur(10px)

Source Design Tokens (CSS custom properties)

:root {
  --wp-block-synced-color: #7a00df;
  --wp-block-synced-color--rgb: 122,0,223;
  --wp-bound-block-color: var(--wp-block-synced-color);
  --wp-editor-canvas-background: #ddd;
  --wp-admin-theme-color: #007cba;
  --wp-admin-theme-color--rgb: 0,124,186;
  --wp-admin-theme-color-darker-10: #006ba1;
  --wp-admin-theme-color-darker-10--rgb: 0,107,160.5;
  --wp-admin-theme-color-darker-20: #005a87;
  --wp-admin-theme-color-darker-20--rgb: 0,90,135;
  --wp-admin-border-width-focus: 2px;
  --wp--preset--font-size--normal: 16px;
  --wp--preset--font-size--huge: 42px;
  --primary: #fff;
}

Do's and Don'ts

Do

  • Do reserve the accent #A3002A 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 set large headings in var(--font-serif), and body copy in the primary stack.
  • Do stick to the detected font weight(s): 300, 400, 500, 600, 700, 800.
  • 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: #FFFFFF;
  --color-accent: #A3002A;
  --color-background: #FFFFFF;
  --color-surface: #F9FAFB;
  --color-text-primary: #000000;
  --color-secondary: #000000;
  --color-text-secondary: #334155;
  --color-border: #DDDDDD;
  --color-on-primary: #000000;
  --color-on-secondary: #FFFFFF;
  --color-on-accent: #FFFFFF;
  --color-surface-container-lowest: #FFFFFF;
  --color-surface-container-low: #F9FAFB;
  --color-surface-container: #F3F4F6;
  --color-surface-container-high: #E2E8F0;
  --color-surface-container-highest: #E5E7EB;
  --font-sans: var(--font-sans);
  --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: 2px;
  --radius-md: 8px;
  --radius-lg: 24px;
  --radius-pill: 50%;
  --shadow-sm: 0 4px 8px rgba(194, 0, 47, 0.2);
  --shadow-md: 0 12px 30px -10px rgba(0,0,0,.15);
  --shadow-lg: 0 6px 20px rgba(37, 211, 102, 0.6);
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 32px;
  --space-xl: 64px;
  --font-display: var(--font-serif);
  --tracking-label: .05em;
  --container-max: 768px;
}

Generated by DesignMD Maker · analyze responsibly — only scan pages you're permitted to study.