File No. EP-2026-01 · Live
Client — Edvero Partners, Lda
Scope — Brand, UI/UX, Content, CRO, SEO

How you build a website for a real-estate advisor.

For Edvero Partners, an independent property investment advisory in Portugal: the record of the decisions behind the site, from brand foundation to conversion mechanics, copy strategy to art direction. None of the logic here is specific to real estate — it applies the same way to any consultancy or professional services brand where trust is built on process rather than outcomes: law, accountancy, financial advisory, B2B expert services.

Brand & Design SystemConsultancy & Professional ServicesNext.js · App RouterCopywritingCRO & Lead Magneti18n (EN/TR)Technical SEO
01 Summary

A brand you trust because of the file, not the story the agent tells.

Edvero Partners is an independent advisory for international investors buying property in Portugal — standing on the buyer’s side of the table, not the seller’s. The founders are Inna Statova and José Gaspar: one from the Portuguese property market, the other with more than twenty years in law and transactions. The premise is simple: an estate agent talks in order to sell; Edvero works in order to examine.

That positioning has one direct consequence for the site design: nowhere on it should a visitor feel sales pressure. No countdown, no “limited opportunity”, no borrowed trust in the form of invented reviews or stock-photo testimonials. The eleven sections below are the record of how that single sentence was carried from brand into code, from copy into conversion mechanics.

Edvero Partners homepage hero — the founders reviewing a property file
EXHIBIT 01edveropartners.com/en — hero
02 Brand Foundation & Design System

Steering clear of both property-sector clichés.

The design system started from a single constraint: avoid both of the property sector’s clichés. Not traditional estate-agent energy (gold, yachts, “your dream home”), and not a generic SaaS template either. The palette that came out of it is bright without being loud, and warm without tipping into orange. Beside it sits one signature shape: three nested rings and a check mark — the visual shorthand for “checked”.

Chalk#faf6f0
Ground
Forest#2d3e35
Primary
Limestone#ede5db
Surface
Gold#c9a24b
Accent / CTA
Clay#b86b5a
Focus ring
Olive#8a8970
Motif

Typography

Libre Bodoni for headings — a classical, reassuring serif; as serious as a notary’s office, and not as a brochure. Public Sans for body copy. Both are self-hosted through next/font/google and loaded with display: swap, so there is no third-party font request and no CLS risk.

Why there are no testimonials. Edvero is a new firm, and manufacturing borrowed proof of outcomes — client quotes, an invented “case study” — would not have been honest. Instead the VerifyPanel component offers proof of method: a concrete seven-point assessment list. Trust is earned on process, not on results we cannot yet show.

03 Design Principles

What the brief forbade guided the design more than what it asked for.

The project began with a brand brief (PRODUCT.md) and a design system document (DESIGN.md) — establishing which visual language was banned before a line of code was written. This is the step consultancy and professional services brands usually skip, and the one that makes the most difference.

What it would not look like

The brief locked down what the brand would not be, in four items: no traditional estate-agent energy, no gold-and-yacht luxury imagery, no touristic Portugal cliché (pastel streets, trams, fado), no generic SaaS template. Those four constraints eliminated most design decisions up front, so the remaining discussion could concentrate on the minority that genuinely needed deciding.

Accessibility as a requirement in the brief, not an afterthought

Contrast & Motion
  • A WCAG AA contrast target — which is why text uses the olive-ink and danger variants rather than raw olive (3.3:1) and clay (3.7:1).
  • prefers-reduced-motion does not switch motion off wholesale; it disables only the properties that move things (transform), while opacity and colour transitions stay.
Touch & Structure
  • A minimum 44px touch target on every interactive element.
  • The page is fully readable without JS: entrance animations start from the CSS “at-rest” state and GSAP only enriches them, so if JS fails the content is still visible.

The transferable lesson for consultancy brands: A “what we will not be” list aligns people faster than a “what we will be” list — particularly in the early stage, where several stakeholders (here the founding partners, Inna and José) disagree.

04 Homepage Architecture & CRO Logic

One conversion action, unchanged across twelve sections.

The entire site has exactly one conversion action: a free consultation over WhatsApp. No form, no phone call, no “request a demo” — everything flows into a single channel. That is why the navigation bar itself acts as a persistent CTA that stays reachable at every viewport, rather than hiding behind a hamburger menu.

00
Nav
Persistent CTA — visible at every breakpoint
01
Hero
Primary CTA + founder credentials (the single proof layer up top)
02
Approach
No CTA — “we examine, you decide”
03
Process (5 steps)
No CTA — accordion
04
Strategy Cards
No CTA — Income / Appreciation / Balanced
05
Portugal
No CTA — evidence board
06
Trust + Expert Network
Text link — “Get in touch”
07
Experience
No CTA — two statistics
08
About
Link — to the About page
09
Who We Work With
No CTA — qualifier (fit / not fit)
10
FAQ
No CTA — objection handling
11
Contact
WhatsApp + phone + email — Primary CTA

Between the hero and the closing band there are deliberately only two text-link conversion points. The job of the remaining nine sections is not persuasion but qualification and trust-building. The floating WhatsApp button and the exit-intent modal sit on top of this flow as a global layer.

Process section image — property plans and cost workings under review
EXHIBIT 02Process — Examining the opportunity
05 Copy Strategy

Not a promise, a frame: “We examine, you decide.”

That one sentence governs the brand’s language. Rather than a promise like “we will find you the best property”, the copy establishes a definition of roles: examining is Edvero’s job, deciding is the investor’s right. The distinction works hardest in the FAQ, which answers objections plainly instead of defending against them.

“Would you tell me if you thought a property was a bad investment?”FAQ — open by default

The answer: “Yes. Our role is to assess the opportunity objectively and explain both its strengths and its risks.” This question and “What if you identify reasons not to buy?” are the two of the nine FAQ items deliberately left open by default — because they are exactly the two that have to convince: the firm is structurally independent enough to say “do not buy”.

Filtering instead of persuading

The “fit” section inverts a standard CRO technique: instead of appealing to everyone, it states who the firm does not work with. That screens out low-intent traffic early and leaves the remaining visitor with the impression that the firm is genuinely selective.

EN — Good fit

“Investors who want to understand the numbers and investment potential before deciding.”

EN — Not a fit

“Anyone looking for validation of a decision rather than an objective assessment.”

06 Lead Magnet Strategy

One question, one field: an email address.

There is one form on the site and it asks for one field: an email address. In return it delivers something concrete — a one-page PDF giving the Portuguese names of the eight documents checked when buying a property (Certidão Permanente, Licença de Utilização and the rest) and what to look for in each. That avoids the “subscribe to our newsletter” trap: the offer is directly about what the visitor is dealing with at that exact moment, which is evaluating a property.

① Delivery
  • A server-side /api/checklist route sends two emails through the Resend REST API: the PDF link to the requester, and a notification to Edvero, with reply-to set on both sides.
  • The PDF is generated at build time by scripts/build-checklist-pdf.mjs from a single content source (lib/checklist.ts), so the content and the PDF can never drift apart.
② Spam Protection
  • An invisible honeypot field (company, positioned off-screen, aria-hidden) — if it is filled, the request quietly returns 200 OK and the bot learns nothing.
  • Email format and length are also validated server-side; client validation is not trusted.

Three different intents, three different placements

  1. Guide index pageFor the visitor still in the research stage — offered before they read an article.
  2. Inside a guide articleFor the visitor who has read the content and is interested but not yet ready for WhatsApp — at the end of the article.
  3. Exit-intent modalFor the visitor about to leave — one last low-commitment step. Detail in section 07.

The transferable lesson for consultancy brands: A lead magnet works when it is a miniature of the service itself — not “join our newsletter” but “see a real instrument we use while doing the work.” For a law firm that might be a contract checklist; for an accountant, a tax calendar.

07 Mini-Case — Exit-Intent

Catching the exit without being rude about it.

On most sites an exit-intent modal feels like an aggressive interruption. Here the trigger logic is split by device type and guarded behind an “engagement threshold” — the modal never appears at all if the user never really engaged with the site.

① Trigger
  • Desktop — mouseout with relatedTarget === null, once the cursor enters the top 50px band. (Not mouseleave, which does not bubble to document.)
  • Mobile — an upward scroll faster than 600px/s, but only after 50% of the page has been seen.
② Engagement Threshold
  • 20 seconds on the site, or
  • 35% scroll depth.
  • Until one of the two is met, the trigger is not even listened for.
③ Suppression
  • Permanently silenced once the visitor has converted (downloaded the checklist).
  • A 30-day cooldown after being shown, in localStorage.
  • Never shown on the privacy or terms pages.
  • Suppressed while the WhatsApp panel is open or an input has focus.
④ The Offer

Not a sales pitch, but the eight-document checklist detailed in section 06 — carrying the note that you will not be added to a mailing list, as part of building trust rather than spending it.

“The list we work through on any Portuguese property. One page. You will not be added to a mailing list.”Exit-intent modal body copy
08 Mini-Case — WhatsApp Channel

Not a link, a pre-consultation form.

The floating button does not simply hand off to a wa.me link — it opens a composer panel with an intent selector and two short qualifying questions. The aim is that the first message reaching Edvero already carries useful context.

The panel above is a faithful reconstruction of the real component (components/whatsapp-float.tsx), using its actual behaviour and interface copy.

When the button appears, and when it hides

The button only appears once scrollY passes 320px, and an IntersectionObserver hides it again while the Contact band at the foot of the page is in view — so it never competes with its own primary CTA. Office hours (Europe/Lisbon, weekdays 09:00–19:00) drive a live “Available now” / “Outside office hours” badge, computed through useSyncExternalStore so server and client cannot disagree during hydration.

The calculator that carries the budget across

The cost calculator in the guide articles (IMT, stamp duty, notary, annual IMI) rounds the amount entered to the nearest €50,000 and appends it to the WhatsApp message automatically: “The property I am looking at is in the region of €X.” A small detail, but it raises the quality of that first message directly.

09 Mini-Case — Art Direction

From touristic Portugal to Portugal under examination.

In the first build the strategy section used dark, dramatically graded photography — visually attractive, but in conflict with the brand’s own principle of being bright, transparent and free of gloom. The revision showed the same Portugal — azulejo-tiled facades, streets in daylight — in the brand’s own language of light.

Before
Previous image — a shadowed, low-contrast Portuguese street
After
New image — bright Portuguese buildings with azulejo tiled facades

The “Income” strategy card, the same homepage section before and after. The decision fits in one line: the brand picks light first and drama second.

The format decision

The new image set was produced directly as .webp; next.config.mjs already set AVIF/WebP as the default re-encoding format, which meant discarding files that made no difference. Every image is served through next/image with fill and an explicit sizes attribute, plus a custom object-position where needed (for example “62% 50%”) so the subject never falls outside the crop.

Portugal section — building and condition imagery
EXHIBIT 03Portugal — Building & Condition
10 Technical SEO

A real URL for each language, not one blanket rule.

The two languages (English by default, Turkish alongside it) are split into separate address structures — not by bolting /tr/ onto the front, but by giving every page an address made of real words in its own language. The guide is /en/guide in English and /tr/rehber in Turkish; About is /en/about against /tr/hakkinda.

Technical SEO
AreaImplementation
URL structureLocale segment plus a language-specific slug (/tr/rehber/[slug]); old slugs redirect with 301
hreflangEvery page emits alternates.languages and x-default
JSON-LDProfessionalService (all pages), FAQPage (homepage), Article + BreadcrumbList (guide articles)
SitemapPriority-weighted — homepage 1.0/0.9, guide 0.7–0.8, legal pages 0.2
OG imagesA separate card per locale (og-home-en.jpg / og-home-tr.jpg), with a shared card for the guide
Security headersHSTS, X-Content-Type-Options, Referrer-Policy, X-Frame-Options, Permissions-Policy
edveropartners.com Open Graph sharing card
EXHIBIT 04OG card — /en
11 Live, and Still Being Written

Live, and still being written.

The site is live at edveropartners.com. The work is not a one-off delivery but ongoing: the art direction was updated recently, the expert network and the IMPIC licence trust signal were added, and the default language moved from TR to EN — each of them part of a living brand being tuned against real user behaviour.

None of the eleven sections here requires any knowledge specific to property websites. The same framework holds for a law firm, an accountancy practice, a management consultancy or a B2B expert service: a design brief that starts by naming what it will not look like, a single conversion channel, trust that is not borrowed, and a lead magnet that previews the service itself. Only the vocabulary and the list of documents change.

There are no performance metrics on this page: the engagement is ongoing and the site is new, so no honest before/after traffic figure exists yet. What is published instead is the decision record.

Want to build a brand like this on decisions you can defend?

See the live site →

Let’s apply the same framework to your brand

Consultancy, law, accountancy or a B2B expert service — the method works the same way in any brand where trust is built on process. Let’s talk about where to start.