Julian
Portfolio Grid
Cool grey, geometric sans-serif clarity on expansive, airy white.




Click any value to copy. Roles are suggestions, not gospel.
Read off the live site. Treat it as reference, not a recipe.
| Role | Family | Size | Weight | Leading | Tracking | Sample |
|---|---|---|---|---|---|---|
| body | Sans | 16px | 400 | 1.5 | 0 | Aa Bb Cc |
| caption | Sans | 14px | 400 | 1.43 | 0 | Aa Bb Cc |
| button | Sans | 14px | 400 | 1.43 | 0 | Aa Bb Cc |
Max content width 644px
:root {
--color-dominant: #84847a;
--color-surface: #44443f;
--color-ink: #bfbfba;
--color-accent: #878684;
--color-detail: #bebeb9;
}
/* CSS variables exposed by source */
:root {
--color-gray-alpha-100: #00000003;
--color-gray-800: #bcbbb5;
--color-gray-alpha-600: #00000026;
--color-gray-alpha-800: #00000044;
--brand: #fad657;
--color-gray-alpha-700: #00000031;
--color-gray-alpha-300: #0000000f;
--color-gray-alpha-400: #00000017;
--color-gray-300: #f1f0ef;
--color-gray-1000: #82827c;
--color-gray-500: #e2e1de;
--color-gray-alpha-900: #00000072;
--color-gray-900: #8d8d86;
--color-gray-400: #e9e9e7;
--color-gray-700: #cfceca;
--color-gray-600: #dad9d6;
--color-gray-alpha-1200: #000000df;
--color-gray-100: #fdfdfc;
--color-gray-1200: #21201c;
--color-gray-200: #f9f9f8;
--color-gray-alpha-500: #0000001f;
--color-gray-alpha-1000: #0000007c;
--color-gray-alpha-1100: #0000009b;
--color-gray-alpha-200: #00000006;
--shadow-input-focus: 0 0 0 1px #e9e9e7,0 0 0 3px #f1f0ef;
--color-gray-1100: #63635e;
--tw-ring-offset-shadow: 0 0 #0000;
--tw-ring-shadow: 0 0 #0000;
--ds-shadow-border-large: 0 0 0 1px rgba(0,0,0,.08),0px 2px 2px rgba(0,0,0,.04),0px 8px 16px -4px rgba(0,0,0,.04);
--shiki-foreground: #21201c;
--ds-shadow-fullscreen: 0 0 0 1px rgba(0,0,0,.08),0px 1px 1px rgba(0,0,0,.02),0px 8px 16px -4px rgba(0,0,0,.04),0px 24px 32px -8px rgba(0,0,0,.06);
--ds-shadow-small: 0px 2px 2px rgba(0,0,0,.04);
--shiki-token-parameter: #ad5700;
--tw-border-spacing-x: 0;
--shiki-token-keyword: #d63848;
--ds-shadow-menu: 0 0 0 1px rgba(0,0,0,.08),0px 1px 1px rgba(0,0,0,.02),0px 4px 8px -4px rgba(0,0,0,.04),0px 16px 24px -8px rgba(0,0,0,.06);
--ds-inset-border: inset 0 0 0 1px rgba(0,0,0,.08);
--scrollbar-color-active: rgba(0,0,0,.3);
--tw-scale-y: 1;
--ds-shadow-large: 0px 2px 2px rgba(0,0,0,.04),0px 8px 16px -4px rgba(0,0,0,.04);
--ds-shadow-tooltip: 0 0 0 1px rgba(0,0,0,.08),0px 1px 1px rgba(0,0,0,.02),0px 4px 8px rgba(0,0,0,.04);
--shiki-token-constant: #21201c;
--tw-ring-color: rgba(59,130,246,.5);
--highlight: #000;
--tw-translate-y: 0;
--shiki-token-comment: #82827c;
--tw-rotate: 0;
--tw-ring-offset-color: #fff;
--ds-shadow-border: 0 0 0 1px rgba(0,0,0,.08);
--ds-shadow-border-small: 0 0 0 1px rgba(0,0,0,.08),0px 2px 2px rgba(0,0,0,.04);
--scrollbar-color: rgba(0,0,0,.1);
--ds-shadow-modal: 0 0 0 1px rgba(0,0,0,.08),0px 1px 1px rgba(0,0,0,.02),0px 8px 16px -4px rgba(0,0,0,.04),0px 24px 32px -8px rgba(0,0,0,.06);
--tw-skew-x: 0;
--ds-shadow-medium: 0px 2px 2px rgba(0,0,0,.04),0px 8px 8px -8px rgba(0,0,0,.04);
--shiki-token-string-expression: #23863a;
--tw-shadow: 0 0 #0000;
--tw-translate-x: 0;
--tw-ring-offset-width: 0px;
--shiki-token-string: #23863a;
--tw-scroll-snap-strictness: proximity;
}Drop-in prompt
Build a landing page in the visual style of Emilkowal Ski.
Reference design system (extracted from the live site):
- Palette: #84847a, #44443f, #bfbfba, #878684, #bebeb9
- Typefaces: Sans
- Macrostructure: Portfolio Grid
Use the dominant colour for surfaces, the accent sparingly,
and lean on type weight + scale rather than colour for hierarchy.
Full DESIGN.md: https://inspomcp.dev/api/design/emilkowal-ski