renovero.ch styleguide

Snapshot: 2026-07-21 19:39

Element-based styleguide reverse-engineered from the live site (www.renovero.ch/de) on 2026-07-21. The baseline is stock Tailwind — preflight plus the default theme. This guide documents only what changes on top of that baseline: the font, the brand colors, and a handful of component patterns. Wherever Tailwind's font-size/line-height pair is close to the measured value, the Tailwind utility is used as-is — the samples below render at the Tailwind values, not the measured ones, with deltas called out per style. Utility names are Tailwind v4.

1 · Foundations

Everything not listed here is stock Tailwind. The full delta from a default install: one font, eight brand colors, navy as the text color, and a 2px button radius.

BaselineTailwind preflight + default theme. No global CSS beyond the @theme block in section 2.
Font family--font-sans: "Encode Sans", sans-serif — the only font; weights in use: font-normal/medium/semibold/bold/extrabold (400–800)
Bodytext-navy on white — navy is the default text color for everything; every text-* utility carries its own leading
ShapeButtons: rounded-xs (2px) — the only non-default shape decision. Overlays, dialogs, tooltips: whatever Tailwind/component defaults provide.
IconographyFont Awesome 7 (Free/Pro/Duotone/Sharp variables present on the live site)
Live-site provenanceThe current site is Angular + Angular Material; its Material specs (4px overlay radius, 36px buttons, gray snackbars, 48px touch targets) are framework defaults, not design decisions — a rebuild replaces them with Tailwind defaults. The AI chat wizard is a self-contained Flutter web embed that ignores page CSS; pages only provide its slot.

2 · Colors

Measured usage: navy is the text color for ~85% of elements; white and light gray-blue carry the surfaces; yellow is reserved for CTAs and social icons. None of these map to Tailwind default colors — define them as theme tokens.

Navy — primary#203768 · rgb(32,55,104)Body text, all headings, primary buttons, footer top, selected states
Navy hover#162850 · rgb(22,40,80)Primary button :hover
Yellow — accent#F9B415 · rgb(249,180,21)CTA buttons, social icons, comparison-range accent
Yellow hover#FFC84A · rgb(255,200,74)Yellow button :hover
Gray-blue#DBDFE7 · rgb(219,223,231)Hero/section backgrounds, footer bottom, disabled text
Gray-blue 50%bg-gray-blue/50Input holders, gray buttons, banner sections
Slate#637395 · rgb(99,115,149)Material secondary: toggle track, snackbar action
Muted#818BA1 · rgb(129,139,161)Secondary/muted text, placeholders
Dark slate#27455C · rgb(39,69,92)Dark image-overlay sections (homepage)
Light gray#F8F8F8Subtle alternate background
White#FFFFFFDefault surface, text on navy
Errorred-500 · #EF4444Tailwind default — the live site's #F44336 was a Material default, not a brand color

Tailwind v4 theme block — together with text-navy as the base text color, this is the entire configuration delta from a stock install:

@theme {
  --font-sans: "Encode Sans", sans-serif;

  --color-navy: #203768;
  --color-navy-hover: #162850;
  --color-yellow: #F9B415;
  --color-yellow-hover: #FFC84A;
  --color-gray-blue: #DBDFE7;   /* 50% via bg-gray-blue/50 */
  --color-slate: #637395;
  --color-muted: #818BA1;
  --color-dark-slate: #27455C;
}

3 · Type scale (Tailwind)

The live site's two overlapping typography generations (text-1…5/h1…h5 and text-base…/v2-heading-*) collapse onto nine Tailwind steps. All type is navy with no letter-spacing except the uppercase labels; headings are font-semibold. Heading specs include their mobile step (measured at 390px, using Tailwind's built-in md: breakpoint); body text needs no responsive variants. Samples render at the desktop Tailwind values.

Heading 1 — text-6xl

text-4xl md:text-6xl font-semibold → 36/40 · 60px/leading-none (measured 36/42 mobile, 64/68 desktop)

Heading 2 — text-5xl

text-3xl md:text-5xl font-semibold → 30/36 · 48px/leading-none (measured 28/36 mobile, 48/56 desktop)

Heading 3 — text-3xl

text-2xl md:text-3xl font-semibold → 24/32 · 30/36 (mobile 24/32 exact) · desktop measured 32/40 · exact for heading-big (30/36)

Heading 4 — text-2xl

text-xl md:text-2xl font-semibold → 20/28 · 24/32 (desktop exact) · mobile measured 22/28 · also the FAQ question size

Heading 5 — text-xl

text-xl font-semibold → 20px / 28px (exact for h5) · absorbs heading-emphasis (21/28)

Heading small — text-lg leading-6

text-lg leading-6 font-semibold → 18px / 24px (exact)

Text large (text-lg) — Erhalten Sie kostenlos mehrere Offerten von Handwerkern aus Ihrer Region und wählen Sie das beste Angebot.

text-lg → 18px / 28px (measured 18/30)

Text base (text-base) — Erhalten Sie kostenlos mehrere Offerten von Handwerkern aus Ihrer Region und wählen Sie das beste Angebot. Main article copy.

text-base → 16px / 24px (exact for text-base 16/24) · absorbs text-1 (16/26 — use leading-relaxed for exact 26px) and text-2 (15px — retired)

Text small (text-sm) — Erhalten Sie kostenlos mehrere Offerten von Handwerkern aus Ihrer Region. Button labels, nav and footer links.

text-sm → 14px / 20px (measured 14/21–22 across text-3, text-5, text-small)

Text tiny (text-xs) — Erhalten Sie kostenlos mehrere Offerten von Handwerkern. Captions and meta text.

text-xs → 12px / 16px (exact for text-4) · absorbs text-tiny (12/18)

Uppercase label small — zwölf pixel

text-xs leading-5 font-semibold uppercase tracking-wider → 12px / 20px / .05em (measured 12/20/600/+0.5px — tracking .042em ≈ wider)

Uppercase label base — fünfzehn pixel

text-base font-bold uppercase tracking-wide → 16px / 24px / .025em (measured 15/24/700/+0.5px)

Emphasis: the site emphasizes via weight modifiers, not tags — --mediumfont-medium, --semibold/-importantfont-semibold, --bold (700) → font-bold, --extrabold (800) → font-extrabold. Muted text: text-muted (#818BA1); disabled/placeholder-on-dark: text-gray-blue.

4 · Mapping: renovero classes → Tailwind

Full translation table for the live site's typography-* utilities. Heading rows show mobile → desktop (measured at 390px and 1440px); "exact" means Tailwind's pair equals the measured pair.

renovero class(es)MeasuredTailwindFit
typography-h1, typography-heading-extra-large36/42 → 64/68 · 600text-4xl md:text-6xl font-semibold36/40 → 60/60
typography-h2, typography-v2-heading-large28/36 → 48/56 · 600text-3xl md:text-5xl font-semibold30/36 → 48/48
typography-h3, typography-v2-heading-h3, typography-v2-heading-medium24/32 → 32/40 · 600text-2xl md:text-3xl font-semibold24/32 exact → 30/36
typography-heading-big(-important, -no-scale)30/36–40text-3xl (+ weight)exact
typography-h4, typography-v2-heading-h422/28 → 24/32 · 600text-xl md:text-2xl font-semibold20/28 → 24/32 exact
typography-h520/28text-xl (+ weight)exact
typography-heading-emphasis-important, *-to-heading-emphasis*21/28 · 600text-xl font-semibold20/28 — 21px folded into 20px
typography-heading-small-important, text-base-to-heading-small-important18/24 · 600text-lg leading-6 font-semiboldexact
typography-text-large(-important), typography-encode-sans-text, text-mobile-large18/30text-lg18/28
typography-text-1(--medium, --semibold)16/26text-base (+ weight)16/24 — or leading-relaxed for exact 26
typography-text-base(-important), text-small-base(-important), encode-sans-text-no-scale16/24text-base (+ weight)exact
typography-text-215/–text-base15px retired → 16px
typography-text-2--bold-uppercase15/24 · 700 · +0.5pxtext-base font-bold uppercase tracking-wide16/24
typography-text-3(--medium, --semibold), typography-text-5(--medium, --bold)14/22text-sm (+ weight)14/20 — button label style
typography-text-small(-important, -bold, -to-*)14/21text-sm (+ weight)14/20
typography-checkbox-label14/24 · 500text-sm leading-6 font-mediumexact
typography-text-4(--medium)12/16text-xs (+ weight)exact
typography-text-tiny(-important), mob-tiniest-tab-text-tiny-important12/18 · 400/600text-xs (+ weight)12/16
typography-text-4--semibold-uppercase12/20 · 600 · +0.5pxtext-xs leading-5 font-semibold uppercase tracking-widerexact
typography-text-4--extrabold-uppercase12/20 · 800 · +0.5pxtext-xs leading-5 font-extrabold uppercase tracking-widerexact
typography-linknavy · no underlinecontent: text-navy underline · chrome: text-navy hover:underlinedeliberate change — underline restored as affordance

5 · Links

Links in content are underlined — the underline is the affordance. Chrome links (header, footer) are plain navy/white but always underline on hover. Yellow is used for links on dark surfaces.

Navigation link — Handwerkerverzeichnis text-sm text-navy hover:underline
Inline content link text-navy underline font-semibold — inherits size
Link on dark surface text-sm text-yellow hover:underline on navy
Gap observed on the live site: anchors that carry no typography class (e.g. .logo-link, some footer anchors) fall back to the browser default rgb(0,0,238) underlined — there is no global a reset. Tailwind preflight fixes this for free (anchors inherit color, no underline).

6 · Buttons

One button component with color variants. Label is always text-sm font-semibold; flat, 2px radius, color-only hover. Hover any button below to see the hover colors.

default: bg-navy text-white hover:bg-navy-hover · .yellow: bg-yellow text-navy hover:bg-yellow-hover · .gray: bg-gray-blue/50 text-navy

search: py-4 px-10 (home hero) or py-4 px-6 (directory) · compact: py-1 px-2.5 min-h-9

PropertyTailwindNotes
Labeltext-sm font-semiboldmeasured 14/22 · 600 → 14/20
Paddingpy-2 px-4 · search py-4 px-10/px-6 · compact py-1 px-2.5all exact
Min-heightmin-h-12 (compact: min-h-9)measured 46px, rounded to the scale (48px)
Radiusrounded-xs2px exact
Shadow / transformnoneflat buttons, color-only hover
Width modifiersw-full, max-md:w-fullreplaces .full-width, .full-width-mobile
This is the only button component. The live site's Angular Material buttons (36px/4px, in dialogs and pickers) were framework defaults — don't reproduce them; use this button everywhere.

7 · Forms

The signature pattern is a borderless, square input inside a translucent gray holder, usually paired with a yellow search button. No visible borders or radii on text inputs. The key dimensions land exactly on the Tailwind spacing scale.

holder: flex items-center h-14 bg-gray-blue/50 rounded-none — input: h-12 px-5 text-sm font-medium text-navy bg-transparent border-none (56px, 48px, 20px all exact on the spacing scale)

ElementTailwind / values
Labeltext-base text-navy (checkbox labels: text-sm leading-6 font-medium)
Placeholderplaceholder:text-muted
Selection controls, pickers, overlaysTailwind/component defaults, with navy (accent-navy / bg-navy text-white) as the selected/active color and slate for secondary states. The live site's Material specs here were framework defaults — not worth reproducing.

8 · Surfaces & sections

Pages alternate white with light gray-blue bands; navy and dark slate are used for high-contrast promo sections. Content sits flat on these bands — no borders or shadows on standard sections.

Hero bandbg-gray-blue (.background-holder, .container-hero, directory band)
Banner bandbg-gray-blue/50 (.get-offers-banner)
Navy bandbg-navy text-white (.section-background-blue), yellow CTAs
Dark slate bandbg-dark-slate text-white image-overlay sections (homepage testimonials/steps)

9 · Header, breadcrumbs & footer

The header is transparent/white with text-sm navy links and no border or shadow: 104px tall on desktop (h-26), 48px on mobile (h-12), where the nav collapses to "Anmelden" + a burger menu. The footer is two-tone (navy top block, gray-blue legal bar) and structurally identical at both viewports. Measured at 390px and 1440px.

Startseite / Arbeiten im Haus / Wände und Decken

breadcrumbs: text-base text-navy · separators text-muted · desktop-only (hidden md:flex — the live site hides them on mobile)

Was muss eine Handwerker-Anfrage enthalten?

FAQ question: text-2xl font-semibold (exact) · group titles: text-3xl font-semibold

footer top: bg-navy · text-sm text-white hover:underline links · yellow circular social buttons (size-10 rounded-full bg-yellow text-navy) — footer bottom: bg-gray-blue text-navy text-sm, links hover:underline

10 · Notes for anyone building against this

Scale consolidationThe live site's two typography generations collapse onto nine Tailwind steps (xs–6xl minus 4xl). 15px and 21px sizes are retired into text-base and text-xl; odd line heights (21, 22, 26, 30) snap to Tailwind defaults.
Biggest visible deltash1 64→60px and h2 leading 56→48px — expected, not a bug.
Semantics vs. classesVisual style comes from utilities, not tag defaults — pair the semantic tag with the intended utility (an h4 can carry text-3xl).
Responsive scalingMobile-first with Tailwind's built-in breakpoints; the heading specs in sections 3–4 carry their md: step. Body text and buttons are identical at both ends (measured at 390px and 1440px) — no responsive variants needed below headings.