AmoleoFamily

Foundations

Family page design — the shared public-facing language

Established 2 October 2026 from the current Amoleo · Pets and Amoleo · Connections root-page redesigns and the Amoleo · Pets public-profile redesign. This is the family-level page language those implementations revealed; it is not a command to clone Pets.

Current reference implementations:

This document covers public-facing page composition and visual hierarchy. The literal shared primitives still live in family-theme.md, family-header.md, family-footer.md, family-auth-box.md, family-accessibility.md and family-css-system.md.


1. Family resemblance, not one template

An Amoleo page should feel related to the other products before somebody notices why: the same neutral base, typography, borders, spacing discipline, header/footer language and restrained use of the product accent. The page's subject, imagery and composition may still be unmistakably its own.

Do not turn the reference pages into a fixed landing-page component. Pets, Connections and future products can arrange the same ideas differently. Shared rules describe hierarchy and behaviour; app-specific docs decide the exact grid, copy, photography, illustrations and feature examples.

Likewise, this is the default public-page language, not a ban on stronger product-specific art direction. A product may use its accent more heavily where its own documented design calls for it. Deliberate exceptions are better than forcing every product into the same accent ratio.

2. Root and marketing pages: explain the product before asking for an account

The signed-out root is a product page first and an authentication surface second.

Typical page width is about 1120–1200px, centred, with 16px mobile gutters and roughly 20–24px desktop/tablet gutters. This is a working range, not a new token; choose the width that suits the page's content.

3. Public subject/profile pages: make the subject the hero

On a public profile, record, title, person, place or similar page, the thing being viewed outranks Amoleo promotion.

For profile-style cards, the current useful baseline is a --panel surface, 1px --border, about 16px radius, 24px padding on mobile and 32px on wider screens. Section titles are usually around 24px and may pair with a simple accent-coloured icon. Treat these as the current visual language, not hard-coded family CSS until more than one independent implementation genuinely needs the exact same rule.

4. Imagery should carry mood or identity, never information the page depends on

The September 2026 root redesigns deliberately moved Amoleo's public pages away from form-first utility screens toward more human, image-led pages.

5. Surfaces, shape and spacing

Use the shared neutral theme as the canvas. Product colour is an accent and identity signal, not normally the page background.

6. Typography

The family base remains the system-ui stack, 17px / 1.65 as the shared default where family CSS owns the body. Public page components should not drop readable prose below 16px.

Current useful scales:

Keep long explanatory copy to about 46–60 characters per line where practical. A short uppercase accent eyebrow can introduce a section, but it is an optional hierarchy device rather than mandatory decoration.

7. Responsive composition: rearrange, do not remove the proposition

768px is the family mobile header boundary and should be treated carefully (max-width: 768px includes exactly 768). Content-specific breakpoints around 960px or 1024px are fine when a two- or three-column layout genuinely needs them.

8. Accessibility, privacy and truth are part of the visual language

The polished look is not allowed to come from hiding caveats or private state.

9. What is deliberately not standardised

This document does not standardise:

When two products independently converge on the same literal CSS or component behaviour, promote that piece into family-css/family-ui through the existing extraction process. Until then, keep the page-level rule here and the implementation local.

10. New-page checklist

When designing a new public/root/profile surface:

  1. Start from the shared theme, header, footer, wordmark and accessibility rules.
  2. Decide what the page is about before deciding where auth or promotion sits.
  3. Give the first screen one strong hierarchy and, where appropriate, one strong visual.
  4. Use real product behaviour for examples and label dummy data.
  5. Use panel + border + moderate radius as the default module language; reserve stronger colour/image treatment for identity and key actions.
  6. Check the composition at phone, 768px, tablet and wide desktop sizes.
  7. Measure contrast on the rendered page, especially over imagery.
  8. If the design establishes a pattern that should apply beyond that repo, update this document rather than leaving the decision trapped in app CSS.

Generated from docs/family-page-design.md. Edit there and re-run npm run build in docs-site-src/ — never hand-edit a page.