FIELDCRAFT DOCS HTML template · v1.3.0

Components

Ledger

A row of large animated count-up statistics, styled as ledger entries — on paper by default, with a dark reprise for use on iron sections.

Markup

<section class="ledger paper" id="ledger" aria-label="The ledger">
  <span class="kicker">THE LEDGER</span>
  <div class="rows">
    <div class="stat rv"><span class="n" data-count="31406" data-commas>0</span><span class="l">WORK ORDERS SINCE 1987</span></div>
    <div class="stat rv"><span class="n" data-count="412">0</span><span class="l">PARTS ON EVERY TRUCK</span></div>
  </div>
</section>

Dark reprise

Add .ledger-dark alongside .ledger (dropping .paper) to use the same stat-row layout on a dark/iron section instead — used on the About page's own ledger.

<section class="ledger ledger-dark on-dark" id="ledger" aria-label="The ledger">…</section>

Town ledger variant

.town-ledger (Service Areas page) reuses the same stat-row skeleton but adds a supporting paragraph under each figure instead of just a short label — for entries that need a sentence of explanation, not just a number and a caption.


Javascript

Each .n element with a data-count attribute animates from 0 up to that value over 1.5 seconds, once, the first time it scrolls into view (via IntersectionObserver, eased with a cubic-out curve). Add the data-commas attribute to format the final value with thousands separators. Under prefers-reduced-motion or without JavaScript, the numeral renders at its final value immediately — the markup's initial 0 content is only a placeholder the script replaces, so a no-JS visitor would otherwise see “0”; a very old browser without IntersectionObserver support falls back to running every count-up immediately as well.