About this set
A single-screen coming soon page that says one thing and asks for one thing: a serif headline, two lines of context and an email field with a Notify me button. The demo is a stationery shop opening in November, with the contact address in the top bar, three text links in the footer and a faint ruled-paper background. Use it when the launch date is loose and the only goal is to collect addresses, for a shop, a studio or a personal site. The page is a flex column that fills the viewport, so the header sits at the top, the footer at the bottom and the message in the middle at any height. The form is front end only. Without JavaScript the browser’s own required and type=”email” checks still work. With it, a few lines of script replace the browser bubble with a written message under the field, mark the input with aria-invalid, and on a valid address hide the form and show a confirmation. Nothing is sent: the script says where to connect a mailing-list provider. The field and button sit side by side and stack below 576 pixels.
What’s included
- Serif headline, one email field and a footer, nothing else competing
- Viewport-height flex layout that keeps the message centred
- Written error message linked to the field with aria-describedby
- Confirmation replaces the form and receives focus
- Front end only: validates and confirms, never pretends to send
Accessibility
The email field has a label (visually hidden, so the placeholder is not the only name) and aria-describedby points at the error and the note below it. The error region is aria-live="polite", the field gets aria-invalid when the address is wrong, and focus returns to it. On success, focus moves to the confirmation. Every link, the field and the button show a 2px green focus outline, and the button's colour transition is removed under prefers-reduced-motion.
Customise it
Change --mn-bg, --mn-ink, --mn-muted and --mn-accent on .mn in plain CSS. The Bootstrap version sets the same variables plus --bs-body-bg and --bs-btn-* on .btn-mn; in Tailwind edit the --color-mn-* theme colours and --font-mn-serif.






