About the editorial portfolio landing page prompt
A personal portfolio built on one idea: a cut-out portrait layered inside a giant two-line headline, with scattered service pills, pricing, a work grid and a mode toggle.
What you get
- A hero where a cut-out portrait is layered between a serif italic first line and a huge blue sans word, so the figure splits the word in two
- A full-bleed blue services block with twelve white pills scattered at absolute positions and varied rotations, each straightening on hover
- A three-tier pricing row with an inverted blue middle card carrying a MOST POPULAR badge
- An uneven twelve-column work grid whose image slots are driven by CSS variables, with a hover arrow pill in each corner
- A four-step process band on blue with oversized outlined numbers drawn using -webkit-text-stroke
- A light and dark mode toggle, a slide-in full-screen menu and a testimonial rotator, all in one small vanilla script
Techniques it uses
Worth knowing whether you run the prompt or write the code yourself.
Layering a cut-out portrait into type
The first headline line uses justify-between to open a wide gap in the middle. The portrait is absolutely positioned into that gap at a higher z-index than both lines, so the head fills the gap and the shoulders cover the middle of the word below.
Theme tokens instead of a dark variant
Light and dark are two classes that redefine six CSS variables. Elements use helper classes like themed-text-ink rather than dark: variants, so the toggle is a single class swap on one wrapper.
Outlined display numbers
-webkit-text-stroke: 1.5px with color: transparent turns any font weight into an outline. No SVG and no second font file.
Scattered pills that behave
Pills sit at percentage top and left values inside one relative container with a fixed height, each with its own rotation. On hover they lift, straighten to 0deg and raise their z-index so they never get clipped by a neighbour.
How to adapt it
Re-image the whole site from one block
Every image on the page reads from a custom property in a single :root block at the top of the file. Paste new URLs into --portrait and --work-1 through --work-4 and nothing else needs touching.
Change the accent
The palette is five tokens in the Tailwind config. Swap the blue value and the headline word, pill buttons, services band, process band and every hover state follow together.
Use your own name
Ask the model to swap the wordmark, the two headline words and the contact details. The layout holds as long as the second headline word stays long enough for the portrait to sit inside it.
Drop a section
Each section is a self-contained block with its own id. Delete the pricing or process markup and remove its entry from the drawer nav list. Nothing else depends on it.
Frequently asked questions
Which AI tools does this prompt work with?
It is plain text, so it works in Claude, ChatGPT, Cursor, Codex, v0 and any other model that writes code. Paste it as one message and ask for the complete file.
Do I need a build step for Tailwind?
No. The page loads Tailwind from the CDN and configures the colour and font tokens in an inline script, so the single HTML file opens straight in a browser.
What kind of portrait image do I need?
A cut-out PNG with a transparent background works best, because the figure has to sit over the headline with no visible box. The CSS applies grayscale so any photo matches the palette.
What happens to the layered hero on mobile?
Below the md breakpoint the portrait leaves the headline and becomes its own centred block above it, and the three-column bottom row stacks. The headline scales with clamp so it never causes sideways scroll.
Is the dark mode saved between visits?
No. The toggle holds the mode in a variable for the session only. Ask the model to add localStorage if you want it to persist.
Can I use this as a real portfolio?
Yes. Replace the name, copy, prices and project images. The markup is semantic with one h1, aria labels on icon-only buttons and a visible focus ring, so it is ready to ship.