Files
esh-pfi-infrastructure/stacks/phasefinal-web/conf/site/engagement/index.html
T
vh 85f8a3a072 fix(phasefinal-web): clean up the multi-page site
The 2026-09-28 expansion grew the one-page design to nine pages by
bolting a nav band under each hero. This makes the cluster one site:
- One site header on every page: the wordmark (home link) and a single
  row of short, consistent labels (Applications, Systems, Hosting, AI,
  Engagement, Track record, Contact). The nav no longer wraps into two
  rows at desktop width or four on a phone.
- A real <h1> on every page (the title was a <p>), a skip link, and one
  footer outside <main> on every page, home included.
- The contact page was unreadable: its section borrowed the home page's
  dark contact-card id, so its copy was grey on near-black (2.3:1) and
  its headings measured 1.0:1. It is an ordinary section now.
- Section numbers only where there is a sequence (home, engagement).
- The spec bar names all four services; it stacks cleanly on a phone.
- Contrast: --text-tertiary 4.3:1 -> 4.96:1, --accent-text 4.36:1 ->
  4.74:1 on paper. Track-record labels drop tracked capitals.
- The grid behind the hero and the contact card is its own layer; the
  contact card loses its left side-tab stripe.
- The stylesheet link is versioned (style.css?v=2026-09-28): CSS is
  cached for an hour, and the new markup must not meet the old styles.
- README: nine pages, the shared structure, the CSS-version rule, and the
  operator's anti-slop waivers (the hero's volt rule, Space Grotesk).

Copy is unchanged apart from nav labels (the brief's legal constraints
hold). Still zero JavaScript and zero external requests. Impeccable
detector (controls 7/0, static + rendered at 1280 and 390, light and
dark): 200 unwaived -> 54, all of them the two waived brand devices;
two identical runs. Operator: "ship the site cleanup, keep the rule and
the font".
2026-09-28 16:29:02 -07:00

89 lines
3.7 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#0f1318">
<title>How We Engage — Phase Final, Inc.</title>
<meta name="description" content="Engagement models at Phase Final, Inc.: fixed-bid scopes with defined deliverables, or retainers for continuous operation and engineering capacity.">
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
<link rel="stylesheet" href="/style.css?v=2026-09-28">
</head>
<body>
<a class="skip" href="#main">Skip to content</a>
<header class="site-header">
<div class="site-header-inner">
<a class="brand" href="/"><img src="/assets/pfi-wordmark-duotone-dark.svg" alt="Phase Final, Inc." width="98" height="28"></a>
<nav class="site-nav" aria-label="Site">
<ul>
<li><a href="/services/software/">Applications</a></li>
<li><a href="/services/systems-engineering/">Systems</a></li>
<li><a href="/services/hosting/">Hosting</a></li>
<li><a href="/services/ai/">AI</a></li>
<li><a aria-current="page" href="/engagement/">Engagement</a></li>
<li><a href="/track-record/">Track record</a></li>
<li><a href="/contact/">Contact</a></li>
</ul>
</nav>
</div>
</header>
<header class="page-header">
<div class="hero-inner">
<div class="hero-copy">
<h1 class="lede">Fixed-bid or retainer. Both with one owner.</h1>
<p class="sublede">Engagements are fixed-bid or retainer, chosen by the shape of the work rather than by preference. Most new work arrives by referral.</p>
</div>
</div>
</header>
<main id="main">
<section id="models">
<h2><span class="num">01</span>Engagement models</h2>
<div class="section-body">
<ul class="detail-list">
<li>
<h3>Fixed-bid</h3>
<p>Where the scope can be specified: a defined deliverable at a defined price, with written requirements and acceptance criteria before work starts. Change requests move scope, not the deadline's meaning.</p>
</li>
<li>
<h3>Retainer</h3>
<p>Where the work is continuous: operation, maintenance, and engineering capacity over time. A named owner, a standing review cadence, and a queue the client controls.</p>
</li>
</ul>
</div>
</section>
<section id="flow">
<h2><span class="num">02</span>How an engagement runs</h2>
<div class="section-body">
<ul class="detail-list">
<li><h3>1. Spec and constraints</h3><p>You send the spec and the deadline. We send back what it takes to reach the final phase — including the parts of the spec that turn out to be in tension with the deadline.</p></li>
<li><h3>2. Written plan</h3><p>Requirements, acceptance criteria, and milestones on paper before code. On a fixed bid, this document is the contract's second half.</p></li>
<li><h3>3. Build in the open</h3><p>Regular demos against real environments, not mockups. Problems surface during the build, at build-time prices.</p></li>
<li><h3>4. Handover or operate</h3><p>Documentation, runbooks, and a clean handover — or we keep operating it under retainer. Both are first-class outcomes.</p></li>
</ul>
<p class="related"><a href="/contact/">Start a conversation →</a></p>
</div>
</section>
</main>
<footer class="site-footer">
<span>Phase Final, Inc.</span>
<nav aria-label="Footer">
<a href="/services/software/">Applications</a>
<a href="/services/systems-engineering/">Systems</a>
<a href="/services/hosting/">Hosting</a>
<a href="/services/ai/">AI</a>
<a aria-current="page" href="/engagement/">Engagement</a>
<a href="/track-record/">Track record</a>
<a href="/contact/">Contact</a>
<a href="/privacy/">Privacy</a>
</nav>
</footer>
</body>
</html>