ALLVEGHUB ECOSYSTEM
One design language across four sites. This document defines the colors, typography, spacing, components, animations, and responsive rules that keep AllVegHub and its three partner sites visually consistent.
← Back to AllVegHub| Principle | Application |
|---|---|
| Black · Red · White | The core palette. Black for text and footer, red for accents and CTAs, white (paper) for backgrounds. No large dark areas except the footer. |
| Bright & Open | Generous whitespace, light backgrounds, minimal borders. Sections breathe with 104px vertical padding on desktop. |
| Red as Signal | Red is reserved for action — CTAs, hover states, focus rings, underline animations. Never decorative. |
| Consistent Interaction | Hover always follows the same language: pink fill (#fef0f0) + red accent. Underlines slide left-to-right; fills expand top-to-bottom or left-to-right. |
| Human-First Copy | Concise, practical, no marketing fluff. Headlines in serif, body in sans-serif. Every CTA leads to a clear next step. |
#e03a3e#20231f#fbfaf7#dedbd3#6d746e#151817| Site | Variable | Hex | Usage |
|---|---|---|---|
| senyo | --olive | #8b9440 | Route card top bar, code label, arrow, ecosystem dot |
| seleglu | --green | #2ba745 | Route card top bar, code label, arrow, ecosystem dot |
| dasumen | --blue | #0a5c6c | Route card top bar, code label, arrow, ecosystem dot |
| AllVegHub | --red | #e03a3e | Primary accent, CTA, all hover/focus states |
#fef0f0#bd252a#f7f5f0#f0ede6| Role | Stack | Source |
|---|---|---|
| Headings (h1, h2, h3) | "Noto Serif SC", "Source Han Serif SC", Georgia, serif | Google Fonts / Adobe Fonts |
| Body & UI | "Noto Sans", Roboto, "Liberation Sans", sans-serif | Google Fonts / System |
| Monospace (code) | monospace | System default |
| Element | Desktop | Mobile (≤760px) |
|---|---|---|
| Header height | 82px | 68px |
| Header gap (between items) | 40px | 12px |
| Wrap max-width | 1280px | — |
| Wrap side padding | 5vw | 22px |
| Section vertical padding | 104px 0 | 72px 0 |
| Nav link gap | 30px | nav hidden |
| Tools gap | 18px | 12px |
| CTA padding | 14px 20px | 11px 13px |
| Route card padding | 28px | 28px |
| Step card padding | 25px 28px | 25px 28px |
| FAQ button padding | 22px 16px | 22px 16px |
| Answer padding | 18px 42px 23px 20px | same |
| Bottom section padding | 95px 0 | 95px 0 |
| Footer padding | 55px 5vw 22px | 40px 22px 20px |
| Form field padding | 18px 0 | 18px 0 |
| Input padding | 12px 14px | 12px 14px |
| Grid | Desktop | Mobile |
|---|---|---|
| Routes / Steps | 1px (border-based) | 1px |
| Future grid | 18px | 15px |
| Insights grid | 22px | single column |
| Outcomes | 1px (border-based) | 1px |
| Footer links | 10px 28px | block |
| Background | --red |
| Padding | 14px 20px |
| Font | 13px / 700 |
| Hover BG | #bd252a |
| Hover transform | translateY(-2px) |
| Transition | .2s |
| Font | 13px / 600 |
| Click area | Full header height (82px) |
| Underline | 3px --red, scaleX(0→1) |
| Origin | left |
| Duration | .25s |
| Hover color | --red |
| Open animation | scaleY(0→1) |
| Origin | top |
| Duration | .25s |
| Gap (button→menu) | 12px transparent bridge |
| Item padding | 10px 16px |
| Border | 1px solid --line |
| Padding | 12px 14px |
| Radius | 4px |
| Hover BG | #fef0f0 |
| Focus border | --red |
| Focus ring | 0 0 0 3px #e03a3e15 |
| Placeholder | #aab1ab 14px |
| Top border | 3px solid --red |
| Hover fill | #fef0f0 left→right |
| Fill duration | .35s |
| Hover fill | #fef0f0 top→bottom |
| Fill duration | .3s |
| Plus icon | scale(1.35) on hover |
| Icon duration | .2s |
| Component | Transform | Origin | Duration | Easing |
|---|---|---|---|---|
| Nav underline | scaleX(0→1) | left | 0.25s | default |
| Dropdown button underline | scaleX(0→1) | left | 0.25s | default |
| Dropdown menu open | scaleY(0→1), opacity(0→1) | top | 0.25s / 0.15s | ease |
| Step card hover fill | scaleX(0→1) | left | 0.35s | ease |
| FAQ row hover fill | scaleY(0→1) | top | 0.3s | ease |
| FAQ plus icon | scale(1→1.35) | center | 0.2s | ease |
| CTA hover | translateY(0→-2px) | — | 0.2s | default |
| Route top bar | scaleX(0→1) | left | 0.25s | default |
| Footer link color | color transition | — | 0.2s | default |
| Eco dot opacity | opacity(0→1) | — | 0.2s | default |
| Hero carousel | image swap | — | 4800ms interval | — |
Rule: Horizontal fills (step cards, nav underlines, route bars) always use scaleX with transform-origin:left. Vertical fills (FAQ rows, dropdown menus) always use scaleY with transform-origin:top.
| Element | Desktop (>760px) | Mobile (≤760px) |
|---|---|---|
| Header | 82px height, 40px gap, nav visible | 68px height, 12px gap, nav hidden |
| Navigation links | Visible, centered, with red underline | Hidden (display:none) |
| Hero art | 48% width, 87% opacity, masked | 78% width, 22% opacity, lighter mask |
| Route/Step/Insight grids | 3 columns | 1 column |
| Outcomes | 2 columns side-by-side | 1 column stacked |
| Form | 2 columns | 1 column |
| Section padding | 104px vertical | 72px vertical |
| Wrap padding | 5vw | 22px |
| Footer layout | Flex row (logo + links) | Block stacked |
| CTA button | 14px 20px padding | 11px 13px padding |
| Dropdown text | 13px | 11px |
| Top section header | Flex row (title + intro/CTA) | Block stacked |
Single breakpoint at 760px. No tablet-specific or large-desktop breakpoints. Mobile-first approach is not used — desktop is the default, mobile overrides are applied via @media(max-width:760px).
--red, --ink, --paper)#151817 bg, white logo, 2-column links, ecosystem row#fef0f0 + red accentscaleX(0→1), origin left, 0.25sCoordination Hub
--red #e03a3eFermentation Ingredients
--olive #8b9440Manufacturing & Private-Label
--green #2ba745Sourcing & Partner Matching
--blue #0a5c6c| Font | Role | Source | URL |
|---|---|---|---|
| Noto Sans | Body, UI, nav, buttons | Google Fonts | fonts.google.com/specimen/NotoSans |
| Noto Serif SC | Headings (h1-h3) | Google Fonts | fonts.google.com/specimen/NotoSerifSC |
| Source Han Serif SC | Chinese heading fallback | Adobe Fonts | fonts.adobe.com/fonts/source-han-serif |
| Roboto | Sans fallback | Google Fonts | fonts.google.com/specimen/Roboto |
| Georgia | Serif system fallback | System | — |
| Liberation Sans | Sans system fallback | System | — |
| File | Usage | Dimensions |
|---|---|---|
| allveghub-en.png | Header logo (English) | 165×48px (display) |
| allveghub-zh.png | Chinese logo (backup) | 165×48px (display) |
| allveg-logo-white.png | Footer logo (white + red v) | 170px wide (display) |
| hero-collaboration.png | Hero slide 1 (default) | 48% width, cover |
| hero-ingredients.png | Hero slide 2 | 48% width, cover |
| hero-production.png | Hero slide 3 | 48% width, cover |
| senyo.png | Route card logo — senyo | 145×45px (display) |
| bioseleglu.png | Route card logo — seleglu | 145×45px (display) |
| dasumen.png | Route card logo — dasumen | 145×45px (display) |
| novel-packaging.png | Future/About card 1 | 100% width × 165px |
| international-distribution.png | Future/About card 2 | 100% width × 165px |
| market-access-advisory.png | Future/About card 3 | 100% width × 165px |
| news-ingredients.png | Insights card 1 | 100% width × 220px |
| news-sauce.png | Insights card 2 | 100% width × 220px |
| news-network.png | Insights card 3 | 100% width × 220px |
Inline SVG data URI, red V-shape chevron:data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23e03a3e' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E