Free
€0
- 3 projects
- Basic scheduling
Time to put the whole course together. In this project you'll style a complete product landing page: a sticky header, a hero section, a feature grid, a pricing table with a highlighted plan, a testimonial, and a footer — responsive, themeable, accessible and animated with restraint.
Edit the CSS and watch the page change. Try different values for --hue at the top to re-theme everything at once.
| Technique | Where | Lesson |
|---|---|---|
| Cascade layers | reset → tokens → base → components → utilities | 45 |
Design tokens, light-dark(), oklch() | tokens layer | 10, 13, 46 |
Fluid type and spacing with clamp() | Headings, --space | 14 |
| Sticky header with backdrop blur | .header | 24, 39 |
| Nesting | Every component | 44 |
| Grid with a breakpoint; auto-fit grids | Hero, features, pricing | 29, 32 |
:has() to highlight a plan | article:has(.badge) | 43 |
aspect-ratio + object-fit | Hero image | 41 |
| Gradients, shadows, transitions | Hero, buttons | 12, 18, 37 |
| Focus styles, reduced motion, visually hidden text | base, utilities | 48 |
--hue, then switch your system to dark mode.animation-timeline: view(), respecting reduced motion (lesson 38).:has() (lesson 46).