04 — QUALITY: Homepage
Pass threshold: 90 / 100 When to run: After every Mode 1 build or Mode 3 content update, before sharing with Kathryn.
Structure & Completeness (20 points)
| # | Check | Points |
|---|---|---|
| 1 | All 10 sections present in correct order: Header, Hero, Problem/Pattern, Featured Product, Paid Offer, About, Proof, Pull Quote, Bottom CTA, Footer | 5 |
| 2 | Every section has exactly one job — no section tries to do two things (e.g., About does not also sell) | 3 |
| 3 | Header is sticky (position: sticky; top: 0; z-index: 100) with gold bottom border | 2 |
| 4 | Hero is two-column: main copy + side panel. Side panel contains product preview card. | 3 |
| 5 | About section uses class-based CSS (.about-hero, .about-hero-bg, .about-hero-overlay, .about-hero-content) — not inline styles for the photo treatment | 3 |
| 6 | Footer contains all compliance elements: Meta disclaimer, testimonial context disclaimer, brand attribution, contact email, legal links | 4 |
Responsive & Technical (20 points)
| # | Check | Points |
|---|---|---|
| 7 | All grids collapse to single column at 968px breakpoint | 3 |
| 8 | Header stacks vertically and centers at 968px — no hamburger menu (unless explicitly requested) | 2 |
| 9 | About hero gradient switches from left-to-right to top-to-bottom at 968px. Content shifts to justify-content: flex-end. Photo stays visible at all breakpoints. | 4 |
| 10 | No CSS var() anywhere in the file — all values hardcoded as hex | 3 |
| 11 | No JavaScript — zero tags, no scroll reveals, no interactivity | 2 |
| 12 | No external CSS files — all styles inline or in a single block | 2 |
| 13 | Gold scrollbar styles present (webkit + Firefox) | 1 |
| 14 | Font sizes reduce progressively at 840px, 640px, and 480px breakpoints | 3 |
Brand Accuracy (15 points)
| # | Check | Points |
|---|---|---|
| 15 | Correct brand variant applied throughout — CYP (teal/Fraunces/Montserrat) or AOS (charcoal/Cormorant Garamond/Inter), never mixed | 4 |
| 16 | Gold accent is #b79d64 everywhere (CTAs, borders, eyebrows, highlights) — no other gold hex values | 2 |
| 17 | Background colors match the variant palette exactly (check every section) | 3 |
| 18 | Font families match the variant — heading font and body font are both correct | 3 |
| 19 | CTA buttons follow the pattern: gold background (#b79d64), dark text, 700 weight, 0.9rem, 4px border-radius, 1rem 2rem padding | 3 |
Copy Quality (20 points)
| # | Check | Points |
|---|---|---|
| 20 | Zero internal acronyms in visible text (no CIB, PB, AOS, CPM — all spelled out) | 4 |
| 21 | Zero forbidden vocabulary (no leverage, synergy, coaching, mindset, journey, game-changer, crush it, level up, revolutionary, groundbreaking) | 3 |
| 22 | Passes copy-qc.md: no P1 violations (twinning, mirror reversals, question-silence-revelation arcs, correction-revelation compounds) | 4 |
| 23 | Passes copy-qc.md: no P2 violations without valid exception (three-beat lists, "Not because X," over-validation, formulaic setups, quotable-line attempts) | 3 |
| 24 | Problem/Pattern section validates and reveals — does not lecture or list pain points | 3 |
| 25 | About section copy is grounded in experience, not self-promotion. States what the person does and why, not a list of credentials. | 3 |
Navigation & CTAs (10 points)
| # | Check | Points |
|---|---|---|
| 26 | Header nav has anchor links that scroll to the correct sections (verified: href matches section id) | 3 |
| 27 | Header CTA button links to the featured product page (working URL) | 2 |
| 28 | Primary CTA appears in: hero, featured product section, and bottom CTA section (minimum 3 occurrences) | 3 |
| 29 | Paid offer CTA links to the correct offer page (not the featured product page) | 2 |
Meta & SEO (5 points)
| # | Check | Points |
|---|---|---|
| 30 | tag present and descriptive (brand name + descriptor) | 1 |
| 31 | present and under 160 characters | 1 |
| 32 | Open Graph tags present: og:title, og:description, og:type, og:image | 2 |
| 33 | and and present | 1 |
Self-Improvement Readiness (10 points)
| # | Check | Points |
|---|---|---|
| 34 | HTML comments mark every section boundary (e.g., , , ) | 3 |
| 35 | Section content is editable without touching structure — copy lives in clear, findable blocks | 3 |
| 36 | Testimonials can be swapped by replacing quote text and attribution — no structural changes needed | 2 |
| 37 | Offer logistics grid can be updated by changing text content only — no layout changes needed | 2 |
Common Failure Modes
| Failure | What Happens | How to Fix |
|---|---|---|
| About section uses inline styles for photo | Photo treatment breaks on mobile or gradient does not switch properly | Use class-based CSS (.about-hero pattern). Inline styles cannot express media queries for the gradient switch. |
| Mixed brand variants | Teal background with Cormorant Garamond headers, or charcoal with Fraunces | Pick one variant. Check every section. The gold accent is shared; nothing else is. |
| CTA link mismatch | Hero says "Get the Client Intelligence Brief" but links to the main domain or a dead URL | Verify every CTA href before shipping. Test each link. |
| Testimonial without context disclaimer | Proof section quotes advisory clients but footer does not disclaim that results are from advisory services, not the product | Add testimonial context paragraph to footer whenever proof comes from a different offer than the one being promoted. |
| CSS var() in output | Convertri strips CSS variables, leaving unstyled elements | Search the file for var( — zero results required. Replace every instance with the hardcoded hex value. |
| Hamburger menu on Practice Builders | The CYP Convertri site uses a hamburger, but the golden example uses nav-wrap. Building a hamburger requires JavaScript (forbidden in this kit). | Use the nav-wrap pattern (flex-wrap + center). Document the hamburger as an optional Convertri-only pattern. |
| Accordion/JS interactivity | Homepage has click-to-reveal or animated elements | Remove. This kit produces static HTML with no JavaScript. Interactive elements belong on offer pages. |
| About photo invisible on mobile | Gradient covers the entire image at small breakpoints | Verify: at 480px, the photo should still be visible above the gradient fade. Adjust min-height and gradient stops if needed. |
| Footer missing Meta disclaimer | Page runs Meta ads but footer omits the Meta platform disclaimer | Always include the Meta disclaimer. It is cheap insurance even if Meta ads are not currently running. |
| Problem section lectures | Copy says "You need to..." or "The problem is you..." instead of naming a pattern | Rewrite to validate: "Every practice hits the same wall." Name what happens, not what the reader should do about it. |