← All layouts · Marketing
SaaS landing page
Hero, proof, features, pricing teaser and a closing call.
One argument, made in order: what it is, that it works, how it works, what it costs, and one thing to do next. The call to action is the same words every time it appears.
- .ms-btn
- .ms-card
- .ms-stat
- .ms-hero
- .ms-footer-section
- .ms-toolbar
Live
The layout as it renders, in a frame at its own width. Resize the window to watch it respond — the frame is a real viewport.
How to build it
This is the layout's template, read from disk — the same file the frame
above renders, so it cannot drift out of date. Copy it into your own page
and replace the content; every class in it ships in
mcgowan.css.
<header class="ms-topbar">
<div class="ms-logo"><a class="u-link" href="#">Ledgerline</a></div>
<nav class="ms-topbar__nav">
<a href="#">Product</a><a href="#">Pricing</a><a href="#">Customers</a><a href="#">Docs</a>
</nav>
<div class="ms-toolbar">
<a class="ms-btn ms-btn--ghost ms-btn--sm" href="#">Sign in</a>
<a class="ms-btn ms-btn--primary ms-btn--sm" href="#">Start free</a>
</div>
</header>
<section class="ms-hero">
<h1 class="ms-hero__title">Bookkeeping that keeps up with the week</h1>
<p class="ms-hero__sub">Reconcile in minutes, not evenings. Ledgerline connects to your
bank, matches what it can, and shows you only what it cannot.</p>
<div class="ms-hero__actions">
<a class="ms-btn ms-btn--primary ms-btn--lg" href="#">Start free</a>
<a class="ms-btn ms-btn--outline ms-btn--lg" href="#">Book a demo</a>
</div>
<p class="ms-stat__meta">No card needed · 30-day trial · cancel in one click</p>
</section>
<div class="u-container u-py-8">
<div class="ms-stat-row">
<div class="ms-stat"><span class="ms-stat__label">Businesses</span>
<span class="ms-stat__value">12,400</span></div>
<div class="ms-stat"><span class="ms-stat__label">Auto-matched</span>
<span class="ms-stat__value">96%</span></div>
<div class="ms-stat"><span class="ms-stat__label">Hours saved a month</span>
<span class="ms-stat__value">9.2</span></div>
<div class="ms-stat"><span class="ms-stat__label">Rating</span>
<span class="ms-stat__value">4.8</span></div>
</div>
<h2 class="u-text-center u-mt-8">What it does</h2>
<div class="u-grid u-grid-cols-12">
<div class="u-col-12 u-col-md-4"><div class="ms-card ms-card--feature ms-card--fill">
<span class="ms-card__icon-block"><span class="material-icons">sync</span></span>
<h3>Bank feeds</h3>
<p>Direct connections to 40 banks, refreshed hourly, with no screen scraping.</p>
</div></div>
<div class="u-col-12 u-col-md-4"><div class="ms-card ms-card--feature ms-card--fill">
<span class="ms-card__icon-block"><span class="material-icons">rule</span></span>
<h3>Rules that learn</h3>
<p>Categorise once. The next one like it is matched before you see it.</p>
</div></div>
<div class="u-col-12 u-col-md-4"><div class="ms-card ms-card--feature ms-card--fill">
<span class="ms-card__icon-block"><span class="material-icons">verified</span></span>
<h3>Filing built in</h3>
<p>VAT returns prepared from the same ledger you reconciled, not a re-entry.</p>
</div></div>
</div>
<div class="ms-card ms-card--roomy u-mt-8">
<blockquote style="font-size:1.2rem">
“We closed the month in an afternoon for the first time in nine years.”
</blockquote>
<div class="ms-toolbar">
<span class="ms-avatar-md">PK</span>
<div><strong>Priya Kaur</strong>
<p class="ms-stat__meta">Finance director, Fellside Outdoor</p></div>
</div>
</div>
</div>
<section class="ms-hero">
<h2 class="ms-hero__title">Try it on this month's books</h2>
<p class="ms-hero__sub">Import a statement and see how much it matches before you decide.</p>
<div class="ms-hero__actions">
<a class="ms-btn ms-btn--primary ms-btn--lg" href="#">Start free</a>
</div>
</section>
<footer class="ms-footer"><div class="ms-footer-inner">
<div class="ms-footer-section"><strong>Ledgerline</strong><p>Bookkeeping that keeps up.</p></div>
<div class="ms-footer-section"><strong>Product</strong><p>Features<br>Pricing<br>Integrations</p></div>
<div class="ms-footer-section"><strong>Company</strong><p>About<br>Careers<br>Contact</p></div>
<div class="ms-footer-section"><strong>Legal</strong><p>Privacy<br>Terms<br>Security</p></div>
</div></footer>