flowmance

Tuscon Design System

Tuscon website template previewTuscon website template preview detail 2Tuscon website template preview detail 3

Tuscon is a one-person designer portfolio with two moods. It opens on a very tall (400vh) gradient hero in royal blue fading to violet, where a cut-out portrait sits in an orange blob on the left and big white statements on the right fade in one after another as you scroll. After the hero the page turns plain white: black Switzer words at 140px slide sideways across the screen, and project shots sit inside soft coloured gradient frames with white title pills. A black full-screen footer is revealed underneath at the end.

Four signatures make it recognisable:

  1. The gradient storytelling hero. #4568DC → #7D69C7, top to bottom, 400vh tall. The portrait stays put while four 47px white statements (Hey! I'am Tuscon Doe, I'am award-winning product designer…, I work from the user experience…, Minimal designer and I really like…) go from faint to full white in turn.
  2. Sliding marquee words. Service names at 140px weight 500, black on white, separated by a thin diagonal slash (Digital Design ⁄ Marketing, Art Direction ⁄ Branding). The rows drift in opposite directions as you scroll and bleed off both edges of the screen.
  3. Gradient-framed project shots. Each project is a website screenshot floating inside a radial gradient frame (cyan, slate, peach, red-orange, green-purple), with a white title-lg pill and a white round arrow button pinned 40px from the bottom-left corner.
  4. The tilted wordmark. The Tuscon logo is an image 140px wide, skewed −10° so it rises to the right, centred in the nav between a row of social icons and three underlined text links.

Colors

Surfaces

canvas#FFFFFF

Page background after the hero

surface-1#ECECEC

--white-smoke in the variables

inverse-canvas#000000

The fixed full-screen footer

Ink

on-primary#222222

Text on primary

ink#000000

Marquee words, project titles, expertise lists, nav over white

ink-muted#757575

--grey-2: base paragraph, list and blockquote colour on the blog and project pages

on-media#FFFFFF

Hero statements, nav over the hero

on-media-muted#FFFFFF · 80%

Based in Bronx, New York

inverse-ink#FFFFFF

Text on inverse-canvas

on-error#FFFFFF

Action

primary#FFFFFF

The white pill button

primary-hover#222222

Button background on hover, with white text

error#E60004

The small round "remove" button in the cart

Lines & effects

line#000000

1px dashed rule under every expertise item

line-soft#E4E4E4

1px border on the round cart close button

line-on-media#FFFFFF · 20%

1px underline under nav links over the hero

hero-from#4568DC

--royal-blue to --medium-purple, the hero's vertical gradient

hero-to#7D69C7

--royal-blue to --medium-purple, the hero's vertical gradient

Typography

Switzer · display-marquee

The quick brown fox jumps

Marquee service words (Digital Design, Marketing, Illustration). 140px · 500 · 1

Switzer · headline-statement

The quick brown fox jumps

.title-1: the white hero statements (11 uses). 47px · 500 · 1

Switzer · title-lg

The quick brown fox jumps

Project names in the white pills (Porto, 3D Circle, Kaka, Mister X). 30px · 500 · 1.2

Switzer · body-lg

The quick brown fox jumps

.black-paragraph: expertise items like Research, Branding (21 uses). 20px · 500 · 1.3

Switzer · label-nav

The quick brown fox jumps

About, Work, Contact. 18px · 500 · 1.11

Switzer · micro

The quick brown fox jumps

Body default; cart and utility text. 14px · 700 · 1.43

Spacing & shape

PurposeValue
Container.container is max 1200px, centred, a flex column
Section rhythm.section has 120px top and bottom padding, 80px at ≤991 and 60px at ≤479
BreakpointsWebflow's 991px, 767px and 479px, plus a min-width: 768px set of rules

Spacing scale

TokenValuePreview
xs7px
sm15px
md16px
lg30px
xl40px
2xl100px

Layout spacing

TokenValuePreview
nav-top50px
gutter72px
nav-height95px
section120px
section-marquee170px

Border radius

cart15px
pill-title20px
md30px
pill100px
full9999px

Surfaces

How the surfaces stack, from the page background up. Hex codes and roles are in Colors above.

Level 1canvas
Level 2surface-1

Motion

Hero statement fadeEach .title-1 goes from low opacity to 1 as it scrolls into view (scroll-linked), so only the current line is fully white
Fade inopacity 0 → 1, 500ms; a slower intro variant is 1000ms outQuart
Card popscale 0.8 → 1, 500ms swingFromTo, on scroll into view (5 project cards)
Slide iny ±80px or x ±80px → 0, 500ms
Marquee driftRows move x 0 → −30% (and back the other way), 500ms steps driven by page scroll
DoodlesLottie strokes around the portrait draw in over 1800ms ease
Nav colour switchFilter change, 300ms ease, when the nav passes onto white sections; background colour changes use 500ms ease
Nav underlineborder-bottom-color white 20% → 100%, 200ms
Button hoverbackground-color and color invert, 300ms
Small hover nudgesx ±10px, y 5px, 500ms, on arrow buttons

Do’s and don’ts

  • Open with the tall hero-from #4568DC → hero-to #7D69C7 gradient and set the intro as stacked 47px white statements with line height 1.0.
  • Switch to a plain #FFFFFF canvas with #000000 text after the hero, and keep the interface monochrome.
  • Set service words at 140px weight 500 and let the rows run off both edges, joined by a thin diagonal slash.
  • Frame each project screenshot in its own radial gradient with square corners, and pin a white 20px-radius title pill 40px from the bottom-left.
  • Underline list items with a 1px dashed #000000 rule and nav links with a 1px rule that brightens on hover.
  • Use the white pill button (#FFFFFF, #222222 text, 100px radius, 59px tall) on colour or black, inverting on hover.
  • Put the white button on the white canvas; it disappears.
  • Set ink-muted #757575 text on surface-1 #ECECEC (about 3.9:1). On that grey, use ink #000000.
  • Add shadows, borders on cards, or rounded corners on project images.
  • Use Cuprum or a second family; everything is Switzer, mostly weight 500.
  • Use the unused variable colours (#5482FF, #74D5F5, #FF5454, #826F8D) for UI.
  • Track or uppercase the type; all letter spacing is 0px.
  • Animate longer than 500ms for hovers and reveals; only intro fades (1000ms) and Lottie doodles (1800ms) run longer.

Example prompt

Any page in the Tuscon style

Prompt
Build your page in the Tuscon style. Font: Switzer, weight 500, letter spacing 0. Start with a hero 400vh tall with a linear gradient from #4568DC (top) to #7D69C7 (bottom): a cut-out portrait on a flat orange blob on the left, and on the right 3–4 short first-person statements in white at 47px, line height 1.0, each fading from faint to full opacity as it scrolls into view. Fix a transparent nav 50px from the top with 72px side padding: social icons left, a tilted wordmark centred, three 18px links right with a 1px white-20% underline that turns solid on hover. After the hero, use a #FFFFFF page with #000000 text. Add a marquee of service words at 140px weight 500, line height 1.0, joined by a thin diagonal slash, drifting sideways on scroll. Show projects as website screenshots inside radial gradient frames (1.6:1, square corners), with a white pill title (30px, padding 17px 28px, radius 20px) and a round white arrow button 40px from the bottom-left. Buttons: white, #222222 text, 16px weight 600, padding 20px 40px, 100px radius; on hover #222222 with white text over 300ms. End with a fixed black 100vh footer that is revealed as the page scrolls away. No shadows.

More design systems like this

Portfolio design systems, the same colors first.

Browse all 398

Bring any of them to your AI tool

All Access unlocks all 398 design systems, ready for Claude, ChatGPT, Gemini, Cursor, v0 and Lovable, plus 400+ templates on all 5 platforms.

Get All AccessUpgrade to All Access