UNIT 24 • STAGE 1 OF 7
CSS variables, Google Fonts, and a full-screen hero section
Native-owned restaurants are more than just businesses; they are acts of cultural reclamation. By centering Indigenous ingredients, traditional techniques, and the stories of their communities, Native chefs reconnect people to land-based knowledge that colonization disrupted.
This unit builds a website for Manoomin Kitchen, a fictional Ojibwe-owned restaurant on Leech Lake land in Minnesota. Manoomin means "wild rice" in Ojibwe, and wild rice is central to Ojibwe identity, economy, and ceremony. Before writing code, read about the people who are making this work real:
Native Ag & Food Systems Initiative Intertribal Agriculture Council First Nations Development InstituteThis site uses a deep smoke-and-ember palette: dark charcoal backgrounds, warm orange-red accents, and gold highlights. The fonts are Cormorant Garamond (an elegant serif used in upscale restaurants and editorial design) and Lato (clean, readable body text).
Start with the full HTML structure. Inside <head>, add the Google Fonts link:
Cormorant Garamond comes in both regular and italic. The italic version will be used for the hero headline's decorative word. Lato's weight 300 gives the tagline a light, refined look.
Add a <style> block with the full design system: variables, reset, and base body styles:
--smoke: #16100c, an almost-black with warm undertones. It reads as dark charcoal rather than cold black, which suits a restaurant with warmth and character.--cedar: #3d1f0d, a deep cedar brown used for section backgrounds and gradients. It adds depth without feeling flat.--ember: #c4511a, a burnt orange that feels like firelight. This is the site's primary accent color.--gold: #d4a02a, harvest gold for labels, eyebrow text, and highlights.--cream: #f5f0e6, a warm off-white body text color that's easier on the eyes than pure white against a dark background.Add the hero CSS (still inside the <style> block), then add the hero HTML inside <body>:
min-height: 100vh, makes the hero at least as tall as the full browser window. 100vh means "100% of the viewport height."display: flex; align-items: center, vertically centers the content inside the hero. Without this, content would sit at the top.clamp(3rem, 8vw, 6rem), the headline scales with the screen: minimum 3rem, fluid at 8% of viewport width, maximum 6rem. No media queries needed.<em>wild.</em>, the semantic "emphasis" tag is used here as a CSS target to make one word italic and ember-colored, adding personality to the headline.You have a full design system with 5 color variables and 2 font variables, plus a full-screen hero with a bold headline, tagline, and CTA button.
Next: Stage 2 adds the menu section with 12 items organized into 4 categories using data attributes.