# Tracy Harris Co · Brand Kit Component Library (master file)

Generated 2026-06-11 from the brand-kit repo. 142 variants across 29 families.

## How to use these components

Every component depends on two shared stylesheets (design tokens + brand fonts). Load them first:

```html
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/purepurposekh/tracy-harris-brand-kit@main/styles/fonts.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/purepurposekh/tracy-harris-brand-kit@main/styles/tokens.css">
```

Then set the brand context on the component's wrapper (or the page body): `data-brand="tracy"`, `data-brand="ffb"`, `data-brand="ffm"`, or `data-brand="fresh"`. The semantic CSS variables (surfaces, ink, accents, type) resolve from that attribute.

Each family below ships its shared CSS once, then every variant's HTML. Variants that carry extra inline CSS include it with the variant.

---

## about-bio · 5 variants

### Shared CSS · `components/about-bio/about-bio.css`

```css
/* About Bio, portrait + editorial bio + signature */

.about-bio {
  background: var(--surface-canvas);
  padding: var(--sp-9) var(--sp-7);
}

.about-bio--elevated {
  background: var(--surface-elevated);
}

/* ============================================================ */
/* VARIANT: SPLIT, portrait left, bio right                     */
/* ============================================================ */

.about-bio__split {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: var(--sp-8);
  align-items: start;
  max-width: 1100px;
  margin: 0 auto;
}

@media (max-width: 820px) {
  .about-bio__split { grid-template-columns: 1fr; gap: var(--sp-6); }
}

.about-bio__portrait {
  aspect-ratio: 3/4;
  border-radius: var(--r-lg);
  overflow: hidden;
  background: var(--surface-elevated);
}

.about-bio__portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.about-bio__content {
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
  padding-top: var(--sp-4);
}

.about-bio__eyebrow {
  font-family: var(--f-sans);
  font-size: 11px;
  font-weight: var(--w-medium);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin: 0;
}

.about-bio__name {
  font-family: var(--f-serif-display);
  font-weight: var(--w-regular);
  font-size: clamp(36px, 4vw, 52px);
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--ink-heading);
  margin: 0;
}

.about-bio__name em { font-family: var(--f-serif-italic); font-style: italic; }

.about-bio__tagline {
  font-family: var(--f-serif-italic);
  font-style: italic;
  font-size: 18px;
  color: var(--ink-mute);
  margin: 0;
}

.about-bio__body {
  font-family: var(--f-sans);
  font-size: 15px;
  line-height: 1.7;
  color: var(--ink-body);
  margin: 0;
}

.about-bio__body + .about-bio__body {
  margin-top: var(--sp-2);
}

.about-bio__body strong {
  font-weight: var(--w-semibold);
  color: var(--ink-heading);
}

.about-bio__signature {
  font-family: var(--f-script);
  font-size: 36px;
  color: var(--ink-heading);
  margin: var(--sp-3) 0 0 0;
  line-height: 1;
}

.about-bio__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--f-sans);
  font-size: 13px;
  font-weight: var(--w-medium);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--accent);
  text-decoration: none;
  margin-top: var(--sp-3);
  transition: gap 0.2s;
}

.about-bio__cta:hover { gap: 14px; }

.about-bio__cta svg { width: 14px; height: 14px; }

/* Facts strip */
.about-bio__facts {
  display: flex;
  gap: var(--sp-6);
  margin-top: var(--sp-4);
  padding-top: var(--sp-4);
  border-top: 1px solid var(--border-hairline);
  flex-wrap: wrap;
}

.about-bio__fact {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.about-bio__fact-value {
  font-family: var(--f-serif-display);
  font-size: 28px;
  font-weight: var(--w-regular);
  color: var(--ink-heading);
  line-height: 1.1;
}

.about-bio__fact-label {
  font-family: var(--f-sans);
  font-size: 11px;
  font-weight: var(--w-medium);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--ink-mute);
}

/* ============================================================ */
/* VARIANT: CENTERED, portrait top, stacked text                */
/* ============================================================ */

.about-bio__centered {
  max-width: 680px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-4);
}

.about-bio__centered .about-bio__portrait {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  aspect-ratio: auto;
}

.about-bio__centered .about-bio__body {
  max-width: 56ch;
}

.about-bio__centered .about-bio__facts {
  justify-content: center;
}
```

### about-bio.centered-circle-polished

Wrapper context: `<body data-brand="tracy">`

```css
:root {
      --ease-out-craft: cubic-bezier(0.23, 1, 0.32, 1);
      --ease-in-out-craft: cubic-bezier(0.77, 0, 0.175, 1);
      --ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
    }
    body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

    .about-bio { position: relative; overflow: hidden; isolation: isolate; }
    .about-bio::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 55% 45% at 50% 30%,
        rgba(110, 142, 119, 0.08) 0%,
        rgba(110, 142, 119, 0.0) 70%);
      pointer-events: none;
      z-index: 0;
    }
    .about-bio__centered { position: relative; z-index: 1; }

    .about-bio__portrait {
      opacity: 0;
      transform: translateY(18px) scale(0.94);
      animation: abcMediaReveal 1100ms var(--ease-drawer) 200ms forwards;
    }
    .about-bio__portrait img {
      transform: scale(1.06);
      transition: transform 900ms var(--ease-in-out-craft);
    }
    @media (hover: hover) and (pointer: fine) {
      .about-bio__portrait:hover img { transform: scale(1.02); }
    }

    .about-bio__eyebrow,
    .about-bio__name,
    .about-bio__body,
    .about-bio__signature,
    .about-bio__facts {
      opacity: 0;
      transform: translateY(14px);
      animation: abcRise 900ms var(--ease-out-craft) forwards;
    }
    .about-bio__eyebrow   { animation-delay: 360ms; }
    .about-bio__name      { animation-delay: 480ms; }
    .about-bio__body      { animation-delay: 600ms; }
    .about-bio__signature { animation-delay: 720ms; }
    .about-bio__facts     { animation-delay: 840ms; }

    @keyframes abcMediaReveal {
      from { opacity: 0; transform: translateY(18px) scale(0.94); }
      to   { opacity: 1; transform: translateY(0) scale(1); }
    }
    @keyframes abcRise {
      from { opacity: 0; transform: translateY(14px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .about-bio__name { text-wrap: balance; }
    .about-bio__body { text-wrap: pretty; }

    @media (prefers-reduced-motion: reduce) {
      .about-bio__portrait,
      .about-bio__portrait img,
      .about-bio__eyebrow,
      .about-bio__name,
      .about-bio__body,
      .about-bio__signature,
      .about-bio__facts {
        animation: none !important;
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
      .about-bio__portrait img { transform: scale(1.02); }
    }
```

```html
<section class="about-bio about-bio--elevated" data-brand="tracy" aria-label="About Tracy">
    <div class="about-bio__centered">
      <div class="about-bio__portrait">
        <img src="https://static.showit.co/1200/C8lYkDDfclRnqya_MiRFow/173187/062a3960.jpg" alt="Tracy Harris." />
      </div>
      <p class="about-bio__eyebrow">Your mentor</p>
      <h2 class="about-bio__name">Tracy <em>Harris</em></h2>
      <p class="about-bio__body">Former teacher turned multi-seven-figure business builder. Tracy helps women create Freedom Filled® businesses that generate revenue without sacrificing the life they want. She lives between Australia and Bali, works Monday to Thursday, and takes a week off every month.</p>
      <p class="about-bio__signature">Tracy</p>
      <div class="about-bio__facts">
        <div class="about-bio__fact">
          <span class="about-bio__fact-value">500+</span>
          <span class="about-bio__fact-label">Episodes</span>
        </div>
        <div class="about-bio__fact">
          <span class="about-bio__fact-value">7+</span>
          <span class="about-bio__fact-label">Years</span>
        </div>
      </div>
    </div>
  </section>
```

### about-bio.centered-circle

Wrapper context: `<body data-brand="tracy">`

```html
<section class="about-bio about-bio--elevated" data-brand="tracy">
    <div class="about-bio__centered">
      <div class="about-bio__portrait">
        <img src="https://static.showit.co/1200/C8lYkDDfclRnqya_MiRFow/173187/062a3960.jpg" alt="Tracy Harris." />
      </div>
      <p class="about-bio__eyebrow">Your mentor</p>
      <h2 class="about-bio__name">Tracy <em>Harris</em></h2>
      <p class="about-bio__body">Former teacher turned multi-seven-figure business builder. Tracy helps women create Freedom Filled® businesses that generate revenue without sacrificing the life they want. She lives between Australia and Bali, works Monday to Thursday, and takes a week off every month.</p>
      <p class="about-bio__signature">Tracy</p>
      <div class="about-bio__facts">
        <div class="about-bio__fact">
          <span class="about-bio__fact-value">500+</span>
          <span class="about-bio__fact-label">Episodes</span>
        </div>
        <div class="about-bio__fact">
          <span class="about-bio__fact-value">7+</span>
          <span class="about-bio__fact-label">Years</span>
        </div>
      </div>
    </div>
  </section>
```

### about-bio.showcase

```css
body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; }
    .brand-label {
      position: sticky; top: 0; z-index: 10;
      background: var(--p-charcoal); color: var(--p-oatmeal);
      font-family: var(--f-sans); font-size: 11px; font-weight: 500;
      letter-spacing: 0.2em; text-transform: uppercase;
      padding: 10px 24px;
      display: flex; justify-content: space-between;
    }
```

```html
<!-- SPLIT BIO -->
  <div class="brand-label" id="split-editorial"><span>SPLIT, portrait left, editorial bio right</span><code>class="about-bio__split"</code></div>
  <section id="split-editorial-section" class="about-bio" data-brand="tracy">
    <div class="about-bio__split">
      <div class="about-bio__portrait">
        <img src="https://static.showit.co/1200/C8lYkDDfclRnqya_MiRFow/173187/062a3960.jpg" alt="Tracy Harris." />
      </div>
      <div class="about-bio__content">
        <p class="about-bio__eyebrow">Meet Tracy</p>
        <h2 class="about-bio__name">Tracy <em>Harris</em></h2>
        <p class="about-bio__tagline">Mentor, speaker, mum of two, lover of freedom.</p>
        <p class="about-bio__body">I spent years building a business that looked successful on the outside but felt like a cage on the inside. Overworked, overwhelmed, and constantly second-guessing whether I was doing it right.</p>
        <p class="about-bio__body">Then I rebuilt everything. Not just the strategy, the entire foundation. I created a business that runs on my terms, generates revenue without burning me out, and gives me the freedom to be present for the people I love.</p>
        <p class="about-bio__body"><strong>That's what I teach.</strong> Not hustle. Not grind. A business built by design, not by default. A Freedom Filled® life.</p>
        <p class="about-bio__signature">Tracy</p>
        <a href="/about" class="about-bio__cta">
          Read Tracy's full story
          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
        </a>
        <div class="about-bio__facts">
          <div class="about-bio__fact">
            <span class="about-bio__fact-value">500+</span>
            <span class="about-bio__fact-label">Podcast episodes</span>
          </div>
          <div class="about-bio__fact">
            <span class="about-bio__fact-value">7+</span>
            <span class="about-bio__fact-label">Years running FFM</span>
          </div>
          <div class="about-bio__fact">
            <span class="about-bio__fact-value">20</span>
            <span class="about-bio__fact-label">Max FFM cohort</span>
          </div>
        </div>
      </div>
    </div>
  </section>

  <!-- CENTERED BIO -->
  <div class="brand-label" id="centered-circle"><span>CENTERED, circle portrait, stacked text</span><code>class="about-bio__centered"</code></div>
  <section id="centered-circle-section" class="about-bio about-bio--elevated" data-brand="tracy">
    <div class="about-bio__centered">
      <div class="about-bio__portrait">
        <img src="https://static.showit.co/1200/C8lYkDDfclRnqya_MiRFow/173187/062a3960.jpg" alt="Tracy Harris." />
      </div>
      <p class="about-bio__eyebrow">Your mentor</p>
      <h2 class="about-bio__name">Tracy <em>Harris</em></h2>
      <p class="about-bio__body">Former teacher turned multi-seven-figure business builder. Tracy helps women create Freedom Filled® businesses that generate revenue without sacrificing the life they want. She lives between Australia and Bali, works Monday to Thursday, and takes a week off every month.</p>
      <p class="about-bio__signature">Tracy</p>
      <div class="about-bio__facts">
        <div class="about-bio__fact">
          <span class="about-bio__fact-value">500+</span>
          <span class="about-bio__fact-label">Episodes</span>
        </div>
        <div class="about-bio__fact">
          <span class="about-bio__fact-value">7+</span>
          <span class="about-bio__fact-label">Years</span>
        </div>
      </div>
    </div>
  </section>
```

### about-bio.split-editorial-polished

Wrapper context: `<body data-brand="tracy">`

```css
:root {
      --ease-out-craft: cubic-bezier(0.23, 1, 0.32, 1);
      --ease-in-out-craft: cubic-bezier(0.77, 0, 0.175, 1);
      --ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
    }
    body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

    .about-bio { position: relative; overflow: hidden; isolation: isolate; }
    .about-bio::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 55% 45% at 30% 30%,
        rgba(110, 142, 119, 0.08) 0%,
        rgba(110, 142, 119, 0.0) 70%);
      pointer-events: none;
      z-index: 0;
    }
    .about-bio__split { position: relative; z-index: 1; }

    .about-bio__portrait {
      opacity: 0;
      transform: translateY(18px) scale(0.98);
      animation: abMediaReveal 1100ms var(--ease-drawer) 200ms forwards;
      transition: transform 400ms var(--ease-out-craft), box-shadow 400ms var(--ease-out-craft);
    }
    .about-bio__portrait img {
      transform: scale(1.06);
      transition: transform 900ms var(--ease-in-out-craft);
    }
    @media (hover: hover) and (pointer: fine) {
      .about-bio__portrait:hover {
        transform: translateY(-3px);
      }
      .about-bio__portrait:hover img { transform: scale(1.02); }
    }

    .about-bio__eyebrow,
    .about-bio__name,
    .about-bio__tagline,
    .about-bio__body,
    .about-bio__signature,
    .about-bio__cta,
    .about-bio__facts {
      opacity: 0;
      transform: translateY(14px);
      animation: abRise 900ms var(--ease-out-craft) forwards;
    }
    .about-bio__eyebrow   { animation-delay: 340ms; }
    .about-bio__name      { animation-delay: 460ms; }
    .about-bio__tagline   { animation-delay: 580ms; }
    .about-bio__body      { animation-delay: 700ms; }
    .about-bio__signature { animation-delay: 820ms; }
    .about-bio__cta       { animation-delay: 940ms; }
    .about-bio__facts     { animation-delay: 1060ms; }

    @keyframes abMediaReveal {
      from { opacity: 0; transform: translateY(18px) scale(0.98); }
      to   { opacity: 1; transform: translateY(0) scale(1); }
    }
    @keyframes abRise {
      from { opacity: 0; transform: translateY(14px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .about-bio__name    { text-wrap: balance; }
    .about-bio__body    { text-wrap: pretty; }

    .about-bio__cta {
      display: inline-flex;
      min-height: 44px;
      align-items: center;
      transition:
        gap 260ms var(--ease-out-craft),
        color 200ms var(--ease-out-craft),
        letter-spacing 220ms var(--ease-out-craft);
    }
    .about-bio__cta:hover { gap: 14px; letter-spacing: 0.22em; }
    .about-bio__cta:focus-visible {
      outline: 2px solid currentColor;
      outline-offset: 4px;
      border-radius: 2px;
    }
    .about-bio__cta svg { transition: transform 260ms var(--ease-out-craft); }
    .about-bio__cta:hover svg { transform: translateX(3px); }

    @media (prefers-reduced-motion: reduce) {
      .about-bio__portrait,
      .about-bio__portrait img,
      .about-bio__eyebrow,
      .about-bio__name,
      .about-bio__tagline,
      .about-bio__body,
      .about-bio__signature,
      .about-bio__cta,
      .about-bio__facts {
        animation: none !important;
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
      .about-bio__portrait img { transform: scale(1.02); }
      .about-bio__cta:hover svg { transform: none; }
    }
```

```html
<section class="about-bio" data-brand="tracy" aria-label="About Tracy">
    <div class="about-bio__split">
      <div class="about-bio__portrait">
        <img src="https://static.showit.co/1200/C8lYkDDfclRnqya_MiRFow/173187/062a3960.jpg" alt="Tracy Harris." />
      </div>
      <div class="about-bio__content">
        <p class="about-bio__eyebrow">Meet Tracy</p>
        <h2 class="about-bio__name">Tracy <em>Harris</em></h2>
        <p class="about-bio__tagline">Mentor, speaker, mum of two, lover of freedom.</p>
        <p class="about-bio__body">I spent years building a business that looked successful on the outside but felt like a cage on the inside. Overworked, overwhelmed, and constantly second-guessing whether I was doing it right.</p>
        <p class="about-bio__body">Then I rebuilt everything. Not just the strategy, the entire foundation. I created a business that runs on my terms, generates revenue without burning me out, and gives me the freedom to be present for the people I love.</p>
        <p class="about-bio__body"><strong>That's what I teach.</strong> Not hustle. Not grind. A business built by design, not by default. A Freedom Filled® life.</p>
        <p class="about-bio__signature">Tracy</p>
        <a href="/about" class="about-bio__cta">
          Read Tracy's full story
          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
        </a>
        <div class="about-bio__facts">
          <div class="about-bio__fact">
            <span class="about-bio__fact-value">500+</span>
            <span class="about-bio__fact-label">Podcast episodes</span>
          </div>
          <div class="about-bio__fact">
            <span class="about-bio__fact-value">7+</span>
            <span class="about-bio__fact-label">Years running FFM</span>
          </div>
          <div class="about-bio__fact">
            <span class="about-bio__fact-value">20</span>
            <span class="about-bio__fact-label">Max FFM cohort</span>
          </div>
        </div>
      </div>
    </div>
  </section>
```

### about-bio.split-editorial

Wrapper context: `<body data-brand="tracy">`

```html
<section class="about-bio" data-brand="tracy">
    <div class="about-bio__split">
      <div class="about-bio__portrait">
        <img src="https://static.showit.co/1200/C8lYkDDfclRnqya_MiRFow/173187/062a3960.jpg" alt="Tracy Harris." />
      </div>
      <div class="about-bio__content">
        <p class="about-bio__eyebrow">Meet Tracy</p>
        <h2 class="about-bio__name">Tracy <em>Harris</em></h2>
        <p class="about-bio__tagline">Mentor, speaker, mum of two, lover of freedom.</p>
        <p class="about-bio__body">I spent years building a business that looked successful on the outside but felt like a cage on the inside. Overworked, overwhelmed, and constantly second-guessing whether I was doing it right.</p>
        <p class="about-bio__body">Then I rebuilt everything. Not just the strategy, the entire foundation. I created a business that runs on my terms, generates revenue without burning me out, and gives me the freedom to be present for the people I love.</p>
        <p class="about-bio__body"><strong>That's what I teach.</strong> Not hustle. Not grind. A business built by design, not by default. A Freedom Filled® life.</p>
        <p class="about-bio__signature">Tracy</p>
        <a href="/about" class="about-bio__cta">
          Read Tracy's full story
          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
        </a>
        <div class="about-bio__facts">
          <div class="about-bio__fact">
            <span class="about-bio__fact-value">500+</span>
            <span class="about-bio__fact-label">Podcast episodes</span>
          </div>
          <div class="about-bio__fact">
            <span class="about-bio__fact-value">7+</span>
            <span class="about-bio__fact-label">Years running FFM</span>
          </div>
          <div class="about-bio__fact">
            <span class="about-bio__fact-value">20</span>
            <span class="about-bio__fact-label">Max FFM cohort</span>
          </div>
        </div>
      </div>
    </div>
  </section>
```

---

## benefit-trio · 4 variants

### benefit-trio.icon-row

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }

    .section {
      padding: clamp(56px, 7vw, 104px) clamp(20px, 5vw, 64px);
    }

    .bt__wrap {
      max-width: 1120px;
      margin: 0 auto;
    }

    .bt__eyebrow {
      font-family: var(--f-script);
      font-size: clamp(26px, 3vw, 36px);
      color: var(--p-sage);
      line-height: 1;
      margin: 0 0 16px;
      text-align: center;
    }
    .bt__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(30px, 3.6vw, 44px);
      line-height: 1.1;
      letter-spacing: -0.015em;
      color: var(--p-charcoal);
      margin: 0 auto 56px;
      max-width: 22ch;
      text-align: center;
    }
    .bt__title em { font-family: var(--f-serif-italic); font-style: italic; }

    .bt__grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: clamp(24px, 3vw, 40px);
    }
    .bt__item {
      text-align: left;
    }

    .bt-icon .bt__icon {
      width: 56px;
      height: 56px;
      border-radius: 14px;
      background: var(--p-cream);
      color: var(--p-aztek);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin: 0 0 20px;
    }
    .bt-icon .bt__icon svg {
      width: 28px;
      height: 28px;
    }

    .bt__heading {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(22px, 2.2vw, 28px);
      line-height: 1.2;
      color: var(--p-charcoal);
      margin: 0 0 10px;
    }
    .bt__heading em { font-family: var(--f-serif-italic); font-style: italic; }

    .bt__body {
      font-family: var(--f-sans);
      font-size: 15px;
      line-height: 1.65;
      color: var(--p-ink);
      margin: 0;
      max-width: 34ch;
    }

    @media (max-width: 820px) {
      .bt__grid { grid-template-columns: 1fr; gap: 40px; }
      .bt__body { max-width: 100%; }
    }
    @media (max-width: 430px) {
      .section { padding: 48px 20px; }
    }
```

```html
<section class="section bt-icon" aria-label="Benefit trio, icon row">
    <div class="bt__wrap">
      <p class="bt__eyebrow">Here's what changes.</p>
      <h2 class="bt__title">Three <em>real</em> outcomes the women inside the room walk away with.</h2>

      <div class="bt__grid">
        <article class="bt__item">
          <div class="bt__icon" aria-hidden="true">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round">
              <circle cx="12" cy="12" r="9"/>
              <path d="M12 7v5l3 2"/>
            </svg>
          </div>
          <h3 class="bt__heading">Your week, <em>by design</em>.</h3>
          <p class="bt__body">
            You'll map your four-day work week around energy, not obligation. No more Sunday dread. No more Monday scramble.
          </p>
        </article>

        <article class="bt__item">
          <div class="bt__icon" aria-hidden="true">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round">
              <path d="M12 2l2.5 5.5 6 .9-4.3 4.2 1 6-5.2-2.8L6.8 18.6l1-6L3.5 8.4l6-.9L12 2z"/>
            </svg>
          </div>
          <h3 class="bt__heading">A message that <em>lands</em>.</h3>
          <p class="bt__body">
            Your Million Dollar Message™, clarified. You'll stop sounding like everyone else and start sounding like the woman your right-fit client has been waiting for.
          </p>
        </article>

        <article class="bt__item">
          <div class="bt__icon" aria-hidden="true">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round">
              <path d="M3 12c3-5 7-8 9-8s6 3 9 8c-3 5-7 8-9 8s-6-3-9-8z"/>
              <circle cx="12" cy="12" r="3"/>
            </svg>
          </div>
          <h3 class="bt__heading">An offer women <em>apply</em> for.</h3>
          <p class="bt__body">
            You'll build one signature offer that sells on clarity, not pressure. Right-fit women self-select. Misaligned ones excuse themselves.
          </p>
        </article>
      </div>
    </div>
  </section>
```

### benefit-trio.number-row

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }

    .section {
      padding: clamp(56px, 7vw, 104px) clamp(20px, 5vw, 64px);
    }

    .bt__wrap {
      max-width: 1120px;
      margin: 0 auto;
    }

    .bt__eyebrow {
      font-family: var(--f-script);
      font-size: clamp(26px, 3vw, 36px);
      color: var(--p-sage);
      line-height: 1;
      margin: 0 0 16px;
      text-align: center;
    }
    .bt__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(30px, 3.6vw, 44px);
      line-height: 1.1;
      letter-spacing: -0.015em;
      color: var(--p-charcoal);
      margin: 0 auto 56px;
      max-width: 22ch;
      text-align: center;
    }
    .bt__title em { font-family: var(--f-serif-italic); font-style: italic; }

    .bt__grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: clamp(24px, 3vw, 40px);
    }
    .bt__item {
      text-align: left;
    }

    .bt-number .bt__num {
      font-family: var(--f-serif-display);
      font-style: italic;
      font-weight: 400;
      font-size: clamp(54px, 6vw, 80px);
      line-height: 0.9;
      letter-spacing: -0.02em;
      color: var(--p-sage);
      margin: 0 0 12px;
      display: block;
    }
    .bt-number .bt__rule {
      width: 36px;
      height: 1px;
      background: var(--p-aztek);
      opacity: 0.4;
      margin: 0 0 20px;
    }

    .bt__heading {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(22px, 2.2vw, 28px);
      line-height: 1.2;
      color: var(--p-charcoal);
      margin: 0 0 10px;
    }
    .bt__heading em { font-family: var(--f-serif-italic); font-style: italic; }

    .bt__body {
      font-family: var(--f-sans);
      font-size: 15px;
      line-height: 1.65;
      color: var(--p-ink);
      margin: 0;
      max-width: 34ch;
    }

    @media (max-width: 820px) {
      .bt__grid { grid-template-columns: 1fr; gap: 40px; }
      .bt__body { max-width: 100%; }
    }
    @media (max-width: 430px) {
      .section { padding: 48px 20px; }
    }
```

```html
<section class="section bt-number" aria-label="Benefit trio, number row">
    <div class="bt__wrap">
      <p class="bt__eyebrow">What you'll walk away with.</p>
      <h2 class="bt__title">Three <em>shifts</em> that change how you lead your beautiful business.</h2>

      <div class="bt__grid">
        <article class="bt__item">
          <span class="bt__num">01</span>
          <div class="bt__rule" aria-hidden="true"></div>
          <h3 class="bt__heading">Clarity on the <em>offer</em>.</h3>
          <p class="bt__body">
            One signature offer, priced properly, built around your lived expertise. No more pivoting every quarter.
          </p>
        </article>

        <article class="bt__item">
          <span class="bt__num">02</span>
          <div class="bt__rule" aria-hidden="true"></div>
          <h3 class="bt__heading">Confidence in the <em>message</em>.</h3>
          <p class="bt__body">
            Your Million Dollar Message™ gets sharpened until it sounds unmistakably like you and nobody else.
          </p>
        </article>

        <article class="bt__item">
          <span class="bt__num">03</span>
          <div class="bt__rule" aria-hidden="true"></div>
          <h3 class="bt__heading">A calendar that <em>holds you</em>.</h3>
          <p class="bt__body">
            A peaceful-scale rhythm of four work days, one Freedom Friday, one full week off each month. Built for a life you actually want to live.
          </p>
        </article>
      </div>
    </div>
  </section>
```

### benefit-trio.question-row

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }

    .section {
      padding: clamp(56px, 7vw, 104px) clamp(20px, 5vw, 64px);
    }

    .bt__wrap {
      max-width: 1200px;
      margin: 0 auto;
    }

    .bt__eyebrow {
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.26em;
      text-transform: uppercase;
      color: var(--p-sage);
      line-height: 1;
      margin: 0 0 16px;
      text-align: center;
    }
    .bt__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(30px, 3.6vw, 44px);
      line-height: 1.1;
      letter-spacing: -0.015em;
      color: var(--p-charcoal);
      margin: 0 auto 56px;
      max-width: 28ch;
      text-align: center;
    }
    .bt__title em { font-family: var(--f-serif-italic); font-style: italic; }

    /* -------- QUESTION ROW VARIANT --------
       4 cream cards. Big serif italic "?" replaces icon. No card title.
       The pain-point question framing IS the heading. */
    .bt-question .bt__grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: clamp(16px, 1.8vw, 24px);
    }
    .bt-question .bt__item {
      background: var(--p-cream);
      border: 1px solid var(--border-hairline, rgba(16, 16, 16, 0.08));
      border-radius: 14px;
      padding: clamp(28px, 3vw, 40px);
      text-align: left;
      display: flex;
      flex-direction: column;
      gap: 18px;
    }
    .bt-question .bt__qmark {
      font-family: var(--f-serif-italic);
      font-style: italic;
      font-weight: 400;
      font-size: clamp(64px, 5vw, 88px);
      line-height: 0.85;
      color: var(--p-aztek);
      display: block;
    }
    .bt-question .bt__body {
      font-family: var(--f-sans);
      font-size: clamp(15px, 1.05vw, 16px);
      line-height: 1.55;
      color: var(--p-ink);
      margin: 0;
    }

    @media (max-width: 980px) {
      .bt-question .bt__grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 540px) {
      .bt-question .bt__grid { grid-template-columns: 1fr; }
      .section { padding: 48px 20px; }
    }
```

```html
<section class="section bt-question" aria-label="Benefit trio, question row">
    <div class="bt__wrap">
      <p class="bt__eyebrow">The Problem</p>
      <h2 class="bt__title">Four questions that might be running on a loop in your head.</h2>

      <div class="bt__grid">
        <article class="bt__item">
          <span class="bt__qmark" aria-hidden="true">?</span>
          <p class="bt__body">How long can you keep selling on Instagram every day before something gives?</p>
        </article>

        <article class="bt__item">
          <span class="bt__qmark" aria-hidden="true">?</span>
          <p class="bt__body">What happens to the offer you know works if you never let yourself launch it again?</p>
        </article>

        <article class="bt__item">
          <span class="bt__qmark" aria-hidden="true">?</span>
          <p class="bt__body">Could you really build a sales team and run discovery calls forever?</p>
        </article>

        <article class="bt__item">
          <span class="bt__qmark" aria-hidden="true">?</span>
          <p class="bt__body">Five-day challenges that empty you for a fortnight. Is that really the path?</p>
        </article>
      </div>
    </div>
  </section>
```

### benefit-trio.showcase

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }

    .section {
      padding: clamp(56px, 7vw, 104px) clamp(20px, 5vw, 64px);
    }

    .bt__wrap {
      max-width: 1120px;
      margin: 0 auto;
    }

    .bt__eyebrow {
      font-family: var(--f-script);
      font-size: clamp(26px, 3vw, 36px);
      color: var(--p-sage);
      line-height: 1;
      margin: 0 0 16px;
      text-align: center;
    }
    .bt__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(30px, 3.6vw, 44px);
      line-height: 1.1;
      letter-spacing: -0.015em;
      color: var(--p-charcoal);
      margin: 0 auto 56px;
      max-width: 22ch;
      text-align: center;
    }
    .bt__title em { font-family: var(--f-serif-italic); font-style: italic; }

    .bt__grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: clamp(24px, 3vw, 40px);
    }
    .bt__item {
      text-align: left;
    }

    /* -------- ICON ROW VARIANT -------- */
    .bt-icon .bt__icon {
      width: 56px;
      height: 56px;
      border-radius: 14px;
      background: var(--p-cream);
      color: var(--p-aztek);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin: 0 0 20px;
    }
    .bt-icon .bt__icon svg {
      width: 28px;
      height: 28px;
    }

    .bt__heading {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(22px, 2.2vw, 28px);
      line-height: 1.2;
      color: var(--p-charcoal);
      margin: 0 0 10px;
    }
    .bt__heading em { font-family: var(--f-serif-italic); font-style: italic; }

    .bt__body {
      font-family: var(--f-sans);
      font-size: 15px;
      line-height: 1.65;
      color: var(--p-ink);
      margin: 0;
      max-width: 34ch;
    }

    /* -------- NUMBER ROW VARIANT -------- */
    .bt-number .bt__num {
      font-family: var(--f-serif-display);
      font-style: italic;
      font-weight: 400;
      font-size: clamp(54px, 6vw, 80px);
      line-height: 0.9;
      letter-spacing: -0.02em;
      color: var(--p-sage);
      margin: 0 0 12px;
      display: block;
    }
    .bt-number .bt__rule {
      width: 36px;
      height: 1px;
      background: var(--p-aztek);
      opacity: 0.4;
      margin: 0 0 20px;
    }

    /* -------- SHOWCASE LABELS -------- */
    .showcase-label {
      max-width: 1120px;
      margin: 0 auto 12px;
      padding: 0 clamp(20px, 5vw, 64px);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--p-mute);
    }

    @media (max-width: 820px) {
      .bt__grid { grid-template-columns: 1fr; gap: 40px; }
      .bt__body { max-width: 100%; }
    }
    @media (max-width: 430px) {
      .section { padding: 48px 20px; }
    }
```

```html
<p class="showcase-label" style="margin-top: 48px;">Variant · icon-row</p>
  <section class="section bt-icon anchor" id="icon-row" aria-label="Benefit trio, icon row">
    <div class="bt__wrap">
      <p class="bt__eyebrow">Here's what changes.</p>
      <h2 class="bt__title">Three <em>real</em> outcomes the women inside the room walk away with.</h2>

      <div class="bt__grid">
        <article class="bt__item">
          <div class="bt__icon" aria-hidden="true">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round">
              <circle cx="12" cy="12" r="9"/>
              <path d="M12 7v5l3 2"/>
            </svg>
          </div>
          <h3 class="bt__heading">Your week, <em>by design</em>.</h3>
          <p class="bt__body">
            You'll map your four-day work week around energy, not obligation. No more Sunday dread. No more Monday scramble.
          </p>
        </article>

        <article class="bt__item">
          <div class="bt__icon" aria-hidden="true">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round">
              <path d="M12 2l2.5 5.5 6 .9-4.3 4.2 1 6-5.2-2.8L6.8 18.6l1-6L3.5 8.4l6-.9L12 2z"/>
            </svg>
          </div>
          <h3 class="bt__heading">A message that <em>lands</em>.</h3>
          <p class="bt__body">
            Your Million Dollar Message™, clarified. You'll stop sounding like everyone else and start sounding like the woman your right-fit client has been waiting for.
          </p>
        </article>

        <article class="bt__item">
          <div class="bt__icon" aria-hidden="true">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round">
              <path d="M3 12c3-5 7-8 9-8s6 3 9 8c-3 5-7 8-9 8s-6-3-9-8z"/>
              <circle cx="12" cy="12" r="3"/>
            </svg>
          </div>
          <h3 class="bt__heading">An offer women <em>apply</em> for.</h3>
          <p class="bt__body">
            You'll build one signature offer that sells on clarity, not pressure. Right-fit women self-select. Misaligned ones excuse themselves.
          </p>
        </article>
      </div>
    </div>
  </section>

  <p class="showcase-label" style="margin-top: 48px;">Variant · number-row</p>
  <section class="section bt-number anchor" id="number-row" aria-label="Benefit trio, number row">
    <div class="bt__wrap">
      <p class="bt__eyebrow">What you'll walk away with.</p>
      <h2 class="bt__title">Three <em>shifts</em> that change how you lead your beautiful business.</h2>

      <div class="bt__grid">
        <article class="bt__item">
          <span class="bt__num">01</span>
          <div class="bt__rule" aria-hidden="true"></div>
          <h3 class="bt__heading">Clarity on the <em>offer</em>.</h3>
          <p class="bt__body">
            One signature offer, priced properly, built around your lived expertise. No more pivoting every quarter.
          </p>
        </article>

        <article class="bt__item">
          <span class="bt__num">02</span>
          <div class="bt__rule" aria-hidden="true"></div>
          <h3 class="bt__heading">Confidence in the <em>message</em>.</h3>
          <p class="bt__body">
            Your Million Dollar Message™ gets sharpened until it sounds unmistakably like you and nobody else.
          </p>
        </article>

        <article class="bt__item">
          <span class="bt__num">03</span>
          <div class="bt__rule" aria-hidden="true"></div>
          <h3 class="bt__heading">A calendar that <em>holds you</em>.</h3>
          <p class="bt__body">
            A peaceful-scale rhythm of four work days, one Freedom Friday, one full week off each month. Built for a life you actually want to live.
          </p>
        </article>
      </div>
    </div>
  </section>
```

---

## calendar · 1 variant

### Shared CSS · `components/calendar/calendar.css`

```css
/* Calendar, month, week and day views for Tracy Harris Co brand system */

.calendar-showcase {
  background: var(--surface-canvas);
  color: var(--ink-body);
  font-family: var(--f-sans);
  padding: clamp(var(--sp-6), 6vw, var(--sp-9)) clamp(var(--sp-4), 5vw, var(--sp-8));
}

.calendar-showcase * {
  box-sizing: border-box;
}

.calendar-showcase__inner {
  max-width: 1180px;
  margin: 0 auto;
}

.calendar-showcase__eyebrow {
  margin: 0 0 var(--sp-3);
  color: var(--ink-mute);
  font-family: var(--f-sans-label);
  font-size: var(--s-xs);
  font-weight: var(--w-semibold);
  letter-spacing: var(--t-widest);
  text-transform: uppercase;
}

.calendar-showcase__title {
  max-width: 820px;
  margin: 0;
  color: var(--ink-heading);
  font-family: var(--f-serif-display);
  font-size: clamp(42px, 7vw, var(--s-7xl));
  font-weight: var(--w-regular);
  letter-spacing: var(--t-tight);
  line-height: var(--l-tight);
}

.calendar-showcase__title em {
  font-family: var(--f-serif-italic);
  font-style: italic;
}

.calendar-showcase__intro {
  max-width: 68ch;
  margin: var(--sp-4) 0 0;
  color: var(--ink-body);
  font-size: var(--s-md);
  line-height: var(--l-relaxed);
}

.calendar-showcase__grid {
  display: grid;
  gap: var(--sp-7);
  margin-top: var(--sp-8);
}

.calendar-demo {
  overflow: hidden;
  border: 1px solid var(--border-hairline);
  border-radius: var(--r-lg);
  background: var(--surface-canvas);
  box-shadow: 0 24px 80px color-mix(in srgb, var(--accent) 9%, transparent);
}

.calendar-demo__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--sp-4);
  padding: var(--sp-5);
  border-bottom: 1px solid var(--border-hairline);
  background: linear-gradient(135deg, var(--surface-canvas), var(--surface-elevated));
}

.calendar-demo__date {
  display: flex;
  align-items: center;
  gap: var(--sp-4);
}

.calendar-demo__date-card {
  min-width: 68px;
  overflow: hidden;
  border: 1px solid var(--border-hairline);
  border-radius: var(--r-lg);
  background: var(--surface-canvas);
  text-align: center;
}

.calendar-demo__date-card span:first-child {
  display: block;
  padding: var(--sp-1) var(--sp-2);
  background: var(--surface-elevated);
  color: var(--ink-mute);
  font-family: var(--f-sans-label);
  font-size: var(--s-xs);
  font-weight: var(--w-semibold);
  letter-spacing: var(--t-wide);
  text-transform: uppercase;
}

.calendar-demo__date-card span:last-child {
  display: block;
  padding: var(--sp-1) var(--sp-2) var(--sp-2);
  color: var(--accent);
  font-family: var(--f-serif-display);
  font-size: var(--s-2xl);
  line-height: var(--l-tight);
}

.calendar-demo__heading {
  margin: 0;
  color: var(--ink-heading);
  font-family: var(--f-serif-display);
  font-size: clamp(var(--s-xl), 2.4vw, var(--s-3xl));
  font-weight: var(--w-regular);
  letter-spacing: var(--t-tight);
}

.calendar-demo__period {
  margin: var(--sp-1) 0 0;
  color: var(--ink-mute);
  font-size: var(--s-sm);
  line-height: var(--l-normal);
}

.calendar-demo__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--sp-2);
}

.calendar-demo__button,
.calendar-demo__view {
  min-height: 40px;
  border: 1px solid var(--border-hairline);
  border-radius: var(--r-pill);
  background: var(--surface-canvas);
  color: var(--ink-heading);
  font-family: var(--f-sans-label);
  font-size: var(--s-sm);
  font-weight: var(--w-medium);
  line-height: 1;
}

.calendar-demo__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  padding: 0 var(--sp-3);
}

.calendar-demo__button--primary,
.calendar-demo__view[aria-pressed="true"] {
  border-color: var(--accent);
  background: var(--accent);
  color: var(--accent-on);
}

.calendar-demo__view-toggle {
  display: flex;
  overflow: hidden;
  border: 1px solid var(--border-hairline);
  border-radius: var(--r-pill);
  background: var(--surface-canvas);
}

.calendar-demo__view {
  border: 0;
  border-radius: 0;
  padding: 0 var(--sp-3);
}

.calendar-demo__view + .calendar-demo__view {
  border-left: 1px solid var(--border-hairline);
}

.calendar-month {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.calendar-month__weekday,
.calendar-week__weekday {
  padding: var(--sp-3);
  border-bottom: 1px solid var(--border-hairline);
  background: var(--surface-elevated);
  color: var(--ink-mute);
  font-family: var(--f-sans-label);
  font-size: var(--s-xs);
  font-weight: var(--w-semibold);
  letter-spacing: var(--t-wide);
  text-transform: uppercase;
}

.calendar-month__day {
  min-height: 132px;
  padding: var(--sp-3);
  border-right: 1px solid var(--border-hairline);
  border-bottom: 1px solid var(--border-hairline);
  background: var(--surface-canvas);
}

.calendar-month__day:nth-child(7n) {
  border-right: 0;
}

.calendar-month__day[data-outside="true"] {
  background: var(--surface-elevated);
}

.calendar-month__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  color: var(--ink-mute);
  font-family: var(--f-sans-label);
  font-size: var(--s-sm);
  font-weight: var(--w-medium);
}

.calendar-month__day[data-current="true"] .calendar-month__number,
.calendar-week__day[data-current="true"] .calendar-week__day-number,
.calendar-day__date-badge {
  border-radius: var(--r-pill);
  background: var(--accent);
  color: var(--accent-on);
}

.calendar-event-stack {
  display: grid;
  gap: var(--sp-2);
  margin-top: var(--sp-2);
}

.calendar-event {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--accent) 18%, transparent);
  border-radius: var(--r-md);
  background: color-mix(in srgb, var(--accent) 7%, var(--surface-canvas));
  color: var(--ink-heading);
  padding: var(--sp-2);
  font-size: var(--s-xs);
  font-weight: var(--w-medium);
  line-height: var(--l-snug);
}

.calendar-event::before {
  content: '';
  flex: 0 0 auto;
  width: 7px;
  height: 7px;
  border-radius: var(--r-pill);
  background: var(--accent);
}

.calendar-event[data-tone="soft"] {
  border-color: color-mix(in srgb, var(--accent-hover) 22%, transparent);
  background: color-mix(in srgb, var(--accent-hover) 10%, var(--surface-canvas));
}

.calendar-event[data-tone="warm"] {
  border-color: color-mix(in srgb, var(--ink-mute) 20%, transparent);
  background: color-mix(in srgb, var(--surface-elevated) 72%, var(--surface-canvas));
}

.calendar-event[data-tone="soft"]::before {
  background: var(--accent-hover);
}

.calendar-event[data-tone="warm"]::before {
  background: var(--ink-mute);
}

.calendar-event__time {
  color: var(--ink-mute);
  font-family: var(--f-sans-label);
  font-size: var(--s-xs);
  white-space: nowrap;
}

.calendar-week,
.calendar-day {
  display: grid;
  grid-template-columns: 76px 1fr;
}

.calendar-week__head {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: 76px repeat(7, minmax(120px, 1fr));
  overflow-x: auto;
}

.calendar-week__spacer {
  border-right: 1px solid var(--border-hairline);
  border-bottom: 1px solid var(--border-hairline);
  background: var(--surface-elevated);
}

.calendar-week__weekday {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  border-right: 1px solid var(--border-hairline);
  text-align: center;
}

.calendar-week__day-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  color: var(--ink-heading);
  letter-spacing: var(--t-normal);
}

.calendar-time-grid {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: 76px repeat(7, minmax(120px, 1fr));
  max-height: 560px;
  overflow: auto;
  position: relative;
}

.calendar-time-grid--day {
  grid-template-columns: 76px minmax(420px, 1fr);
}

.calendar-time {
  min-height: 86px;
  padding: 0 var(--sp-3) 0 0;
  border-right: 1px solid var(--border-hairline);
  background: var(--surface-elevated);
  color: var(--ink-mute);
  font-family: var(--f-sans-label);
  font-size: var(--s-xs);
  font-weight: var(--w-medium);
  text-align: right;
  transform: translateY(-0.55em);
}

.calendar-slot {
  min-height: 86px;
  border-right: 1px solid var(--border-hairline);
  border-bottom: 1px solid var(--border-hairline);
  background: var(--surface-canvas);
  padding: var(--sp-2);
}

.calendar-slot:hover {
  background: color-mix(in srgb, var(--accent-hover) 6%, var(--surface-canvas));
}

.calendar-slot--with-event {
  align-content: start;
}

.calendar-slot .calendar-event {
  align-items: flex-start;
  min-height: 54px;
}

.calendar-now {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  position: sticky;
  top: 176px;
  z-index: 3;
  color: var(--accent);
  font-family: var(--f-sans-label);
  font-size: var(--s-xs);
  font-weight: var(--w-semibold);
  pointer-events: none;
}

.calendar-now::before,
.calendar-now::after {
  content: '';
  height: 1px;
  background: var(--accent);
}

.calendar-now::before {
  width: 76px;
}

.calendar-now::after {
  flex: 1;
}

.calendar-now span {
  padding: 0 var(--sp-2);
}

.calendar-day__head {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  grid-column: 1 / -1;
  padding: var(--sp-4) var(--sp-5);
  border-bottom: 1px solid var(--border-hairline);
  background: var(--surface-elevated);
}

.calendar-day__date-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  font-family: var(--f-sans-label);
  font-weight: var(--w-semibold);
}

.calendar-day__head h3 {
  margin: 0;
  color: var(--ink-heading);
  font-family: var(--f-serif-display);
  font-size: var(--s-xl);
  font-weight: var(--w-regular);
}

.calendar-day__head p {
  margin: var(--sp-1) 0 0;
  color: var(--ink-mute);
  font-size: var(--s-sm);
}

@media (max-width: 820px) {
  .calendar-demo__top {
    flex-direction: column;
  }

  .calendar-demo__actions {
    justify-content: flex-start;
  }

  .calendar-month {
    min-width: 760px;
    overflow-x: auto;
  }

  .calendar-demo {
    overflow-x: auto;
  }
}

@media (max-width: 620px) {
  .calendar-showcase {
    padding-left: var(--sp-4);
    padding-right: var(--sp-4);
  }

  .calendar-demo__date-card {
    display: none;
  }
}
```

### calendar.showcase

Wrapper context: `<body data-brand="tracy">`

```css
html, body { margin: 0; padding: 0; }
    body { background: var(--surface-canvas); }
```

```html
<main class="calendar-showcase">
    <div class="calendar-showcase__inner">
      <p class="calendar-showcase__eyebrow">Tracy Harris Co component study</p>
      <h1 class="calendar-showcase__title">Editorial calendars for <em>quiet authority</em></h1>
      <p class="calendar-showcase__intro">
        A Tracy Harris branded recreation of the Untitled UI calendar patterns, translated into the brand kit token system. It keeps the useful month, week and day structures, while shifting the tone away from SaaS purple toward dark green, oatmeal surfaces, serif hierarchy and calm spacing.
      </p>

      <div class="calendar-showcase__grid" aria-label="Calendar view examples">
        <section class="calendar-demo" aria-labelledby="month-title">
          <header class="calendar-demo__top">
            <div class="calendar-demo__date">
              <div class="calendar-demo__date-card" aria-hidden="true"><span>Jun</span><span>04</span></div>
              <div>
                <h2 class="calendar-demo__heading" id="month-title">June 2026</h2>
                <p class="calendar-demo__period">Month view, campaign planning, client calls and delivery rhythms.</p>
              </div>
            </div>
            <div class="calendar-demo__actions" aria-label="Month view controls">
              <button class="calendar-demo__button" type="button" aria-label="Previous month">‹</button>
              <button class="calendar-demo__button calendar-demo__button--primary" type="button">Today</button>
              <button class="calendar-demo__button" type="button" aria-label="Next month">›</button>
              <div class="calendar-demo__view-toggle" role="group" aria-label="Calendar view">
                <button class="calendar-demo__view" type="button" aria-pressed="true">Month</button>
                <button class="calendar-demo__view" type="button">Week</button>
                <button class="calendar-demo__view" type="button">Day</button>
              </div>
            </div>
          </header>

          <div class="calendar-month" role="grid" aria-label="June 2026 month calendar">
            <div class="calendar-month__weekday" role="columnheader">Mon</div>
            <div class="calendar-month__weekday" role="columnheader">Tue</div>
            <div class="calendar-month__weekday" role="columnheader">Wed</div>
            <div class="calendar-month__weekday" role="columnheader">Thu</div>
            <div class="calendar-month__weekday" role="columnheader">Fri</div>
            <div class="calendar-month__weekday" role="columnheader">Sat</div>
            <div class="calendar-month__weekday" role="columnheader">Sun</div>

            <div class="calendar-month__day"><span class="calendar-month__number">1</span><div class="calendar-event-stack"><span class="calendar-event">Team priorities</span></div></div>
            <div class="calendar-month__day"><span class="calendar-month__number">2</span><div class="calendar-event-stack"><span class="calendar-event" data-tone="soft">Content review</span></div></div>
            <div class="calendar-month__day"><span class="calendar-month__number">3</span><div class="calendar-event-stack"><span class="calendar-event">Strategy sync</span><span class="calendar-event" data-tone="warm">Deep work</span></div></div>
            <div class="calendar-month__day" data-current="true"><span class="calendar-month__number">4</span><div class="calendar-event-stack"><span class="calendar-event">Mastermind room</span><span class="calendar-event" data-tone="soft">Member call</span></div></div>
            <div class="calendar-month__day"><span class="calendar-month__number">5</span><div class="calendar-event-stack"><span class="calendar-event" data-tone="warm">Ops tidy</span></div></div>
            <div class="calendar-month__day"><span class="calendar-month__number">6</span><div class="calendar-event-stack"><span class="calendar-event">Family margin</span></div></div>
            <div class="calendar-month__day"><span class="calendar-month__number">7</span></div>

            <div class="calendar-month__day"><span class="calendar-month__number">8</span><div class="calendar-event-stack"><span class="calendar-event">Launch planning</span></div></div>
            <div class="calendar-month__day"><span class="calendar-month__number">9</span></div>
            <div class="calendar-month__day"><span class="calendar-month__number">10</span><div class="calendar-event-stack"><span class="calendar-event" data-tone="soft">Podcast prep</span></div></div>
            <div class="calendar-month__day"><span class="calendar-month__number">11</span><div class="calendar-event-stack"><span class="calendar-event">Client intensive</span></div></div>
            <div class="calendar-month__day"><span class="calendar-month__number">12</span></div>
            <div class="calendar-month__day"><span class="calendar-month__number">13</span><div class="calendar-event-stack"><span class="calendar-event" data-tone="warm">Creative review</span></div></div>
            <div class="calendar-month__day"><span class="calendar-month__number">14</span></div>

            <div class="calendar-month__day"><span class="calendar-month__number">15</span><div class="calendar-event-stack"><span class="calendar-event">Leadership note</span></div></div>
            <div class="calendar-month__day"><span class="calendar-month__number">16</span><div class="calendar-event-stack"><span class="calendar-event" data-tone="soft">Workshop rehearsal</span></div></div>
            <div class="calendar-month__day"><span class="calendar-month__number">17</span></div>
            <div class="calendar-month__day"><span class="calendar-month__number">18</span><div class="calendar-event-stack"><span class="calendar-event">Live Q and A</span></div></div>
            <div class="calendar-month__day"><span class="calendar-month__number">19</span></div>
            <div class="calendar-month__day"><span class="calendar-month__number">20</span></div>
            <div class="calendar-month__day"><span class="calendar-month__number">21</span><div class="calendar-event-stack"><span class="calendar-event" data-tone="warm">Review week</span></div></div>

            <div class="calendar-month__day"><span class="calendar-month__number">22</span></div>
            <div class="calendar-month__day"><span class="calendar-month__number">23</span><div class="calendar-event-stack"><span class="calendar-event">Planning day</span></div></div>
            <div class="calendar-month__day"><span class="calendar-month__number">24</span></div>
            <div class="calendar-month__day"><span class="calendar-month__number">25</span><div class="calendar-event-stack"><span class="calendar-event" data-tone="soft">Founder call</span></div></div>
            <div class="calendar-month__day"><span class="calendar-month__number">26</span></div>
            <div class="calendar-month__day"><span class="calendar-month__number">27</span></div>
            <div class="calendar-month__day"><span class="calendar-month__number">28</span></div>

            <div class="calendar-month__day"><span class="calendar-month__number">29</span><div class="calendar-event-stack"><span class="calendar-event">Next month map</span></div></div>
            <div class="calendar-month__day"><span class="calendar-month__number">30</span></div>
            <div class="calendar-month__day" data-outside="true"><span class="calendar-month__number">1</span></div>
            <div class="calendar-month__day" data-outside="true"><span class="calendar-month__number">2</span></div>
            <div class="calendar-month__day" data-outside="true"><span class="calendar-month__number">3</span></div>
            <div class="calendar-month__day" data-outside="true"><span class="calendar-month__number">4</span></div>
            <div class="calendar-month__day" data-outside="true"><span class="calendar-month__number">5</span></div>
          </div>
        </section>

        <section class="calendar-demo" aria-labelledby="week-title">
          <header class="calendar-demo__top">
            <div class="calendar-demo__date">
              <div class="calendar-demo__date-card" aria-hidden="true"><span>Jun</span><span>04</span></div>
              <div>
                <h2 class="calendar-demo__heading" id="week-title">Week of Jun 1</h2>
                <p class="calendar-demo__period">Week view, a time-grid rhythm for delivery, calls and focus blocks.</p>
              </div>
            </div>
            <div class="calendar-demo__actions" aria-label="Week view controls">
              <button class="calendar-demo__button" type="button">Search</button>
              <button class="calendar-demo__button calendar-demo__button--primary" type="button">Add event</button>
            </div>
          </header>

          <div class="calendar-week" aria-label="Week view calendar">
            <div class="calendar-week__head">
              <div class="calendar-week__spacer"></div>
              <div class="calendar-week__weekday">Mon <span class="calendar-week__day-number">1</span></div>
              <div class="calendar-week__weekday">Tue <span class="calendar-week__day-number">2</span></div>
              <div class="calendar-week__weekday">Wed <span class="calendar-week__day-number">3</span></div>
              <div class="calendar-week__weekday" data-current="true">Thu <span class="calendar-week__day-number">4</span></div>
              <div class="calendar-week__weekday">Fri <span class="calendar-week__day-number">5</span></div>
              <div class="calendar-week__weekday">Sat <span class="calendar-week__day-number">6</span></div>
              <div class="calendar-week__weekday">Sun <span class="calendar-week__day-number">7</span></div>
            </div>
            <div class="calendar-time-grid">
              <div class="calendar-time">8 AM</div><div class="calendar-slot"></div><div class="calendar-slot"></div><div class="calendar-slot calendar-slot--with-event"><span class="calendar-event"><span class="calendar-event__time">8:30</span> Voice notes</span></div><div class="calendar-slot"></div><div class="calendar-slot"></div><div class="calendar-slot"></div><div class="calendar-slot"></div>
              <div class="calendar-time">9 AM</div><div class="calendar-slot calendar-slot--with-event"><span class="calendar-event">Team priorities</span></div><div class="calendar-slot"></div><div class="calendar-slot"></div><div class="calendar-slot calendar-slot--with-event"><span class="calendar-event" data-tone="soft">Member call</span></div><div class="calendar-slot"></div><div class="calendar-slot"></div><div class="calendar-slot"></div>
              <div class="calendar-time">10 AM</div><div class="calendar-slot"></div><div class="calendar-slot calendar-slot--with-event"><span class="calendar-event" data-tone="warm">Creative review</span></div><div class="calendar-slot"></div><div class="calendar-slot"></div><div class="calendar-slot calendar-slot--with-event"><span class="calendar-event">Delivery check</span></div><div class="calendar-slot"></div><div class="calendar-slot"></div>
              <div class="calendar-now"><span>Now</span></div>
              <div class="calendar-time">11 AM</div><div class="calendar-slot"></div><div class="calendar-slot"></div><div class="calendar-slot calendar-slot--with-event"><span class="calendar-event" data-tone="soft">Podcast prep</span></div><div class="calendar-slot calendar-slot--with-event"><span class="calendar-event">Mastermind room</span></div><div class="calendar-slot"></div><div class="calendar-slot"></div><div class="calendar-slot"></div>
              <div class="calendar-time">12 PM</div><div class="calendar-slot"></div><div class="calendar-slot"></div><div class="calendar-slot"></div><div class="calendar-slot calendar-slot--with-event"><span class="calendar-event" data-tone="warm">Lunch and reset</span></div><div class="calendar-slot"></div><div class="calendar-slot"></div><div class="calendar-slot"></div>
              <div class="calendar-time">1 PM</div><div class="calendar-slot calendar-slot--with-event"><span class="calendar-event" data-tone="soft">Copy polish</span></div><div class="calendar-slot"></div><div class="calendar-slot"></div><div class="calendar-slot"></div><div class="calendar-slot calendar-slot--with-event"><span class="calendar-event">Offer review</span></div><div class="calendar-slot"></div><div class="calendar-slot"></div>
              <div class="calendar-time">2 PM</div><div class="calendar-slot"></div><div class="calendar-slot calendar-slot--with-event"><span class="calendar-event">Client intensive</span></div><div class="calendar-slot"></div><div class="calendar-slot"></div><div class="calendar-slot"></div><div class="calendar-slot"></div><div class="calendar-slot"></div>
              <div class="calendar-time">3 PM</div><div class="calendar-slot"></div><div class="calendar-slot"></div><div class="calendar-slot calendar-slot--with-event"><span class="calendar-event" data-tone="warm">Admin closeout</span></div><div class="calendar-slot"></div><div class="calendar-slot"></div><div class="calendar-slot"></div><div class="calendar-slot"></div>
            </div>
          </div>
        </section>

        <section class="calendar-demo" aria-labelledby="day-title">
          <header class="calendar-demo__top">
            <div class="calendar-demo__date">
              <div class="calendar-demo__date-card" aria-hidden="true"><span>Jun</span><span>04</span></div>
              <div>
                <h2 class="calendar-demo__heading" id="day-title">Thursday, June 4</h2>
                <p class="calendar-demo__period">Day view, high clarity for one demanding delivery day.</p>
              </div>
            </div>
            <div class="calendar-demo__actions" aria-label="Day view controls">
              <button class="calendar-demo__button" type="button">Copy day</button>
              <button class="calendar-demo__button calendar-demo__button--primary" type="button">Add event</button>
            </div>
          </header>
          <div class="calendar-day" aria-label="Day view calendar">
            <div class="calendar-day__head">
              <span class="calendar-day__date-badge">4</span>
              <div>
                <h3>Thursday</h3>
                <p>Founder calendar with room for actual work, not just meetings.</p>
              </div>
            </div>
            <div class="calendar-time-grid calendar-time-grid--day">
              <div class="calendar-time">8 AM</div><div class="calendar-slot"></div>
              <div class="calendar-time">9 AM</div><div class="calendar-slot calendar-slot--with-event"><span class="calendar-event" data-tone="soft"><span class="calendar-event__time">9:00</span> Member call and notes</span></div>
              <div class="calendar-time">10 AM</div><div class="calendar-slot"></div>
              <div class="calendar-time">11 AM</div><div class="calendar-slot calendar-slot--with-event"><span class="calendar-event"><span class="calendar-event__time">11:00</span> Mastermind room</span></div>
              <div class="calendar-time">12 PM</div><div class="calendar-slot calendar-slot--with-event"><span class="calendar-event" data-tone="warm"><span class="calendar-event__time">12:30</span> Lunch and reset</span></div>
              <div class="calendar-time">1 PM</div><div class="calendar-slot"></div>
              <div class="calendar-time">2 PM</div><div class="calendar-slot calendar-slot--with-event"><span class="calendar-event"><span class="calendar-event__time">2:00</span> Offer and copy review</span></div>
              <div class="calendar-time">3 PM</div><div class="calendar-slot"></div>
              <div class="calendar-time">4 PM</div><div class="calendar-slot calendar-slot--with-event"><span class="calendar-event" data-tone="soft"><span class="calendar-event__time">4:00</span> Next day map</span></div>
            </div>
          </div>
        </section>
      </div>
    </div>
  </main>
```

---

## card-flip · 1 variant

### Shared CSS · `components/card-flip/card-flip.css`

```css
/* Card Flip, 3D flip cards for programs grid alternative */

.card-flip-section {
  background: var(--surface-canvas);
  padding: var(--sp-9) var(--sp-7);
}

.card-flip-section--elevated {
  background: var(--surface-elevated);
}

.card-flip-section__inner {
  max-width: 1100px;
  margin: 0 auto;
}

.card-flip-section__header {
  text-align: center;
  margin: 0 0 var(--sp-8) 0;
}

.card-flip-section__eyebrow {
  font-family: var(--f-sans);
  font-size: 11px;
  font-weight: var(--w-medium);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin: 0 0 var(--sp-3) 0;
}

.card-flip-section__title {
  font-family: var(--f-serif-display);
  font-weight: var(--w-regular);
  font-size: clamp(36px, 4.5vw, 56px);
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--ink-heading);
  margin: 0;
}

.card-flip-section__title em { font-family: var(--f-serif-italic); font-style: italic; }

/* Grid */
.card-flip-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-5);
}

@media (max-width: 900px) { .card-flip-grid { grid-template-columns: 1fr; max-width: 400px; margin: 0 auto; } }

/* Individual card container */
.card-flip {
  perspective: 1200px;
  height: 420px;
  cursor: pointer;
}

.card-flip__inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
  transform-style: preserve-3d;
}

.card-flip.is-flipped .card-flip__inner {
  transform: rotateY(180deg);
}

.card-flip__face {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  border-radius: var(--r-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* Front face */
.card-flip__front {
  background: var(--p-white);
  border: 1px solid rgba(16,16,16,0.04);
  box-shadow: 0 2px 12px rgba(16,16,16,0.04);
  padding: var(--sp-6);
  justify-content: space-between;
}

.card-flip__accent {
  height: 3px;
  border-radius: 2px;
  margin-bottom: var(--sp-4);
}

.card-flip__accent--fresh { background: var(--p-aztek); }
.card-flip__accent--ffb { background: var(--p-sage); }
.card-flip__accent--ffm { background: var(--p-gold-mid); }

.card-flip__program-name {
  font-family: var(--f-serif-display);
  font-weight: var(--w-regular);
  font-size: 28px;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--ink-heading);
  margin: 0 0 var(--sp-2) 0;
}

.card-flip__program-name em { font-family: var(--f-serif-italic); font-style: italic; }

.card-flip__tagline {
  font-family: var(--f-serif-italic);
  font-style: italic;
  font-size: 15px;
  color: var(--ink-mute);
  margin: 0 0 var(--sp-4) 0;
}

.card-flip__summary {
  font-family: var(--f-sans);
  font-size: 14px;
  line-height: 1.6;
  color: var(--ink-body);
  margin: 0;
  flex: 1;
}

.card-flip__hint {
  font-family: var(--f-sans);
  font-size: 11px;
  font-weight: var(--w-medium);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin-top: var(--sp-4);
  display: flex;
  align-items: center;
  gap: 6px;
}

.card-flip__hint svg {
  width: 14px;
  height: 14px;
  transition: transform 0.3s;
}

.card-flip:hover .card-flip__hint svg {
  transform: rotate(180deg);
}

/* Back face */
.card-flip__back {
  background: var(--accent);
  color: var(--accent-on);
  transform: rotateY(180deg);
  padding: var(--sp-6);
  justify-content: space-between;
}

.card-flip__back-title {
  font-family: var(--f-serif-display);
  font-weight: var(--w-regular);
  font-size: 22px;
  line-height: 1.2;
  margin: 0 0 var(--sp-4) 0;
}

.card-flip__back-title em { font-family: var(--f-serif-italic); font-style: italic; }

.card-flip__back-list {
  list-style: none;
  padding: 0;
  margin: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
}

.card-flip__back-list li {
  font-family: var(--f-sans);
  font-size: 13px;
  line-height: 1.5;
  padding-left: 20px;
  position: relative;
}

.card-flip__back-list li::before {
  content: '✓';
  position: absolute;
  left: 0;
  opacity: 0.7;
}

.card-flip__back-price {
  font-family: var(--f-sans);
  font-size: 12px;
  letter-spacing: 0.08em;
  margin: var(--sp-4) 0 0 0;
  opacity: 0.7;
}

.card-flip__back-cta {
  display: inline-block;
  font-family: var(--f-sans);
  font-size: 13px;
  font-weight: var(--w-semibold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--accent);
  background: var(--accent-on);
  padding: 12px 24px;
  border-radius: var(--r-md);
  margin-top: var(--sp-4);
  text-align: center;
  transition: opacity 0.2s;
}

.card-flip__back-cta:hover { opacity: 0.9; }

/* Brand-specific back colors */
.card-flip[data-program="fresh"] .card-flip__back { background: var(--p-aztek); color: var(--p-white); }
.card-flip[data-program="fresh"] .card-flip__back-cta { color: var(--p-aztek); background: var(--p-white); }

.card-flip[data-program="ffb"] .card-flip__back { background: var(--p-sage); color: var(--p-white); }
.card-flip[data-program="ffb"] .card-flip__back-cta { color: var(--p-sage); background: var(--p-white); }

.card-flip[data-program="ffm"] .card-flip__back { background: var(--p-gold-dark); color: var(--p-white); }
.card-flip[data-program="ffm"] .card-flip__back-cta { color: var(--p-gold-dark); background: var(--p-white); }
```

### card-flip.showcase

```css
body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; }
    .brand-label {
      position: sticky; top: 0; z-index: 10;
      background: var(--p-charcoal); color: var(--p-oatmeal);
      font-family: var(--f-sans); font-size: 11px; font-weight: 500;
      letter-spacing: 0.2em; text-transform: uppercase;
      padding: 10px 24px;
      display: flex; justify-content: space-between;
    }
```

```html
<div class="brand-label"><span>CARD FLIP, 3D flip programs grid</span><code>class="card-flip-grid"</code></div>
  <section class="card-flip-section card-flip-section--elevated" data-brand="tracy">
    <div class="card-flip-section__inner">
      <header class="card-flip-section__header">
        <p class="card-flip-section__eyebrow">Your pathway</p>
        <h2 class="card-flip-section__title">Three ways to build <em>Freedom Filled®</em>.</h2>
      </header>

      <div class="card-flip-grid">

        <!-- FRESH -->
        <div class="card-flip" data-program="fresh" tabindex="0" role="button" aria-label="F.R.E.S.H FRAMEWORK. Click to see details.">
          <div class="card-flip__inner">
            <div class="card-flip__face card-flip__front">
              <div>
                <div class="card-flip__accent card-flip__accent--fresh"></div>
                <h3 class="card-flip__program-name">F.R.E.S.H <em>FRAMEWORK</em>®</h3>
                <p class="card-flip__tagline">Start with you.</p>
                <p class="card-flip__summary">The free diagnostic that shows you exactly where your business stands across five pillars: Freedom, Revenue, Engagement, Strategy, and Heart.</p>
              </div>
              <p class="card-flip__hint">
                Flip for details
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="1 4 1 10 7 10"/><path d="M3.51 15a9 9 0 1 0 2.13-9.36L1 10"/></svg>
              </p>
            </div>
            <div class="card-flip__face card-flip__back">
              <div>
                <h3 class="card-flip__back-title">What you <em>get</em></h3>
                <ul class="card-flip__back-list">
                  <li>Personalised FRESH Score across 5 pillars</li>
                  <li>Clear next-step recommendation</li>
                  <li>Immediate, actionable insights</li>
                  <li>No fluff, no generic advice</li>
                </ul>
                <p class="card-flip__back-price">Free. Always.</p>
              </div>
              <a href="/quiz" class="card-flip__back-cta">Take the Quiz</a>
            </div>
          </div>
        </div>

        <!-- FFB -->
        <div class="card-flip" data-program="ffb" tabindex="0" role="button" aria-label="Freedom Filled Business. Click to see details.">
          <div class="card-flip__inner">
            <div class="card-flip__face card-flip__front">
              <div>
                <div class="card-flip__accent card-flip__accent--ffb"></div>
                <h3 class="card-flip__program-name">Freedom Filled® <em>Business</em></h3>
                <p class="card-flip__tagline">Build the business.</p>
                <p class="card-flip__summary">12-month mentorship for women ready to build or grow a coaching, course, membership, or digital service business. Tracy's frameworks, a curated community, and structured support.</p>
              </div>
              <p class="card-flip__hint">
                Flip for details
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="1 4 1 10 7 10"/><path d="M3.51 15a9 9 0 1 0 2.13-9.36L1 10"/></svg>
              </p>
            </div>
            <div class="card-flip__face card-flip__back">
              <div>
                <h3 class="card-flip__back-title">What's <em>inside</em></h3>
                <ul class="card-flip__back-list">
                  <li>Full curriculum + implementation guides</li>
                  <li>Group coaching calls with Tracy</li>
                  <li>Private community of right-fit women</li>
                  <li>Million Dollar Message™ framework</li>
                  <li>Signature Model™ + Freedom Filled® Offers</li>
                  <li>12 months of ongoing support</li>
                </ul>
                <p class="card-flip__back-price">From $6,000 AUD</p>
              </div>
              <a href="/ffb" class="card-flip__back-cta">Apply Now</a>
            </div>
          </div>
        </div>

        <!-- FFM -->
        <div class="card-flip" data-program="ffm" tabindex="0" role="button" aria-label="Freedom Filled Mastermind. Click to see details.">
          <div class="card-flip__inner">
            <div class="card-flip__face card-flip__front">
              <div>
                <div class="card-flip__accent card-flip__accent--ffm"></div>
                <h3 class="card-flip__program-name">Freedom Filled® <em>Mastermind</em></h3>
                <p class="card-flip__tagline">Lead at a higher level.</p>
                <p class="card-flip__summary">The premium, application-only container for established business owners. Maximum 20 women per cohort. Retreats, hot seats, and direct access to Tracy.</p>
              </div>
              <p class="card-flip__hint">
                Flip for details
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="1 4 1 10 7 10"/><path d="M3.51 15a9 9 0 1 0 2.13-9.36L1 10"/></svg>
              </p>
            </div>
            <div class="card-flip__face card-flip__back">
              <div>
                <h3 class="card-flip__back-title">The <em>experience</em></h3>
                <ul class="card-flip__back-list">
                  <li>Maximum 20 women per cohort</li>
                  <li>In-person retreats (Bali, Australia)</li>
                  <li>1:1 hot seats with Tracy</li>
                  <li>Direct access to Tracy</li>
                  <li>12 months of FFB included</li>
                  <li>The Social Method® Society included</li>
                </ul>
                <p class="card-flip__back-price">From $31,000 AUD</p>
              </div>
              <a href="/ffm" class="card-flip__back-cta">Apply Now</a>
            </div>
          </div>
        </div>

      </div>
    </div>
  </section>

  <script src="../card-flip.js"></script>
```

---

## content-section · 1 variant

### content-section.showcase

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }

    .section {
      padding: clamp(56px, 6vw, 96px) clamp(20px, 5vw, 64px);
      background: var(--p-oatmeal);
    }

    .article {
      max-width: 62ch;
      margin: 0 auto;
    }

    /* -------- HEADER -------- */
    .article__meta {
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.24em;
      text-transform: uppercase;
      color: var(--p-aztek);
      margin: 0 0 18px;
    }
    .article__h1 {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(34px, 4.4vw, 52px);
      line-height: 1.08;
      letter-spacing: -0.015em;
      color: var(--p-charcoal);
      margin: 0 0 16px;
    }
    .article__h1 em { font-family: var(--f-serif-italic); font-style: italic; }
    .article__byline {
      font-size: 13px;
      color: var(--p-mute);
      margin: 0 0 44px;
      padding-bottom: 28px;
      border-bottom: 1px solid rgba(30,55,53,0.12);
    }
    .article__byline span + span::before { content: "·"; margin: 0 10px; opacity: 0.5; }

    /* -------- PROSE -------- */
    .article p {
      font-family: var(--f-sans);
      font-size: 17px;
      line-height: 1.75;
      color: var(--p-ink);
      margin: 0 0 24px;
    }
    .article p em { font-family: var(--f-serif-italic); font-style: italic; }
    .article p strong { color: var(--p-charcoal); font-weight: 600; }

    /* DROP CAP on first paragraph */
    .article__lead::first-letter {
      font-family: var(--f-serif-display);
      font-style: italic;
      font-weight: 400;
      font-size: 72px;
      line-height: 0.88;
      color: var(--p-aztek);
      float: left;
      padding: 6px 12px 0 0;
      margin: 0;
    }

    /* SUBHEADING H2 */
    .article h2 {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(24px, 2.6vw, 30px);
      line-height: 1.2;
      letter-spacing: -0.01em;
      color: var(--p-charcoal);
      margin: 44px 0 18px;
    }
    .article h2 em { font-family: var(--f-serif-italic); font-style: italic; }

    .article h3 {
      font-family: var(--f-sans);
      font-weight: 600;
      font-size: 18px;
      color: var(--p-charcoal);
      margin: 32px 0 12px;
    }

    /* PULL QUOTE */
    .pullquote {
      margin: 44px 0;
      padding: 20px 0 20px 32px;
      border-left: 2px solid var(--p-sage);
    }
    .pullquote blockquote {
      font-family: var(--f-script);
      font-size: clamp(28px, 3.4vw, 42px);
      line-height: 1.2;
      color: var(--p-charcoal);
      margin: 0 0 14px;
      font-style: normal;
    }
    .pullquote cite {
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--p-mute);
      font-style: normal;
    }

    /* INLINE IMAGE */
    figure.article__figure {
      margin: 44px 0;
    }
    figure.article__figure .figure__img {
      width: 100%;
      aspect-ratio: 16 / 10;
      background: linear-gradient(135deg, var(--p-sage), var(--p-aztek));
      border-radius: 10px;
      position: relative;
      overflow: hidden;
    }
    figure.article__figure .figure__img::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 30% 30%, rgba(246,244,241,0.2), transparent 45%),
        radial-gradient(circle at 70% 75%, rgba(201,164,108,0.18), transparent 45%);
    }
    figure.article__figure figcaption {
      font-size: 13px;
      color: var(--p-mute);
      line-height: 1.5;
      margin-top: 12px;
      font-style: italic;
    }

    /* LIST */
    .article ul,
    .article ol {
      padding-left: 22px;
      margin: 0 0 24px;
    }
    .article li {
      font-size: 17px;
      line-height: 1.7;
      color: var(--p-ink);
      margin-bottom: 10px;
    }

    /* SIG LINE */
    .article__sig {
      font-family: var(--f-script);
      font-size: 34px;
      color: var(--p-charcoal);
      line-height: 1;
      margin: 40px 0 8px;
    }

    /* AUTHOR BIO BLOCK */
    .author-bio {
      display: grid;
      grid-template-columns: 96px 1fr;
      gap: 24px;
      align-items: start;
      margin: 56px 0 0;
      padding: 32px 28px;
      background: var(--p-cream);
      border-radius: 14px;
    }
    .author-bio__photo {
      width: 96px;
      height: 96px;
      border-radius: 50%;
      background: url("../../../assets/photos/tracy-outfit8-39.jpg") center 20% / cover;
      background-color: var(--p-sage);
      flex-shrink: 0;
    }
    .author-bio__name {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: 20px;
      color: var(--p-charcoal);
      margin: 0 0 6px;
    }
    .author-bio__name em { font-family: var(--f-serif-italic); font-style: italic; }
    .author-bio__blurb {
      font-family: var(--f-sans);
      font-size: 14px;
      line-height: 1.6;
      color: var(--p-ink);
      margin: 0 0 14px;
    }
    .author-bio__social {
      display: flex;
      gap: 12px;
    }
    .author-bio__social a {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      border: 1px solid rgba(30,55,53,0.25);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: var(--p-aztek);
      text-decoration: none;
      transition: background .2s, color .2s;
    }
    .author-bio__social a:hover {
      background: var(--p-aztek);
      color: var(--p-oatmeal);
      border-color: var(--p-aztek);
    }
    .author-bio__social svg { width: 14px; height: 14px; }

    @media (max-width: 640px) {
      .article__lead::first-letter { font-size: 56px; }
      .author-bio { grid-template-columns: 64px 1fr; gap: 18px; padding: 22px; }
      .author-bio__photo { width: 64px; height: 64px; }
      .pullquote { padding-left: 20px; }
    }
    @media (max-width: 430px) {
      .section { padding: 48px 20px; }
    }
```

```html
<section class="section anchor" id="default" aria-label="Content section">
    <article class="article">

      <p class="article__meta">Strategy</p>
      <h1 class="article__h1">What nobody tells you about <em>peaceful scale</em>.</h1>
      <p class="article__byline">
        <span>By Tracy Harris</span>
        <span>April 14, 2026</span>
        <span>8 min read</span>
      </p>

      <p class="article__lead">
        Seven years ago I sold my first mastermind seat. A woman I'd never met wired $18,000 into my account on a Tuesday afternoon, while I was folding washing with one eye on my toddler. I remember standing in the laundry and feeling two things at once. <em>Wonder</em>, that this was actually possible. And <strong>terror</strong>, that I now had to deliver.
      </p>

      <p>
        That was the beginning of what I now call peaceful scale. Back then I didn't have a name for it. I just knew I didn't want to grow a business that required me to disappear from my own life.
      </p>

      <h2>The myth of the <em>seven-figure hustle</em>.</h2>

      <p>
        There's a story we've all been sold: to hit seven figures, you need seven-figure hours. You need the 5am club, the 80-hour week, the "sleep when you're dead" ethos. For some women, that story works. For most of the women I coach, it's the thing quietly killing them.
      </p>

      <div class="pullquote">
        <blockquote>Scaling peacefully means you get to keep <em>yourself</em> as you grow.</blockquote>
        <cite>, Tracy Harris</cite>
      </div>

      <p>
        The women in my Freedom Filled® Mastermind aren't working 80-hour weeks. Most are working four days, taking a full week off each month, and still adding <strong>six figures of revenue per year</strong> to their businesses. How? Because we optimised for the right thing from the start.
      </p>

      <figure class="article__figure">
        <div class="figure__img" role="img" aria-label="A laptop on a linen-covered table with a ceramic mug beside it"></div>
        <figcaption>Most of my best business decisions have been made at this exact table, with this exact cup of tea. Peaceful scale starts in the ordinary moments.</figcaption>
      </figure>

      <h2>Three rules I won't break.</h2>

      <p>
        Over seven years of scaling, these are the three principles I've refused to trade away, even when the short-term numbers tempted me to.
      </p>

      <ol>
        <li><strong>One signature offer.</strong> I resist the pull to add more, more, more. Less, sharper, deeper.</li>
        <li><strong>A four-day week.</strong> Fridays are Freedom Fridays. For reflection, rest, or the things that don't fit a work calendar.</li>
        <li><strong>A week off every month.</strong> Non-negotiable. My team runs the container while I rest.</li>
      </ol>

      <h3>What this looks like in practice.</h3>

      <p>
        It means saying no to opportunities that would require me to break these rules, even good ones. It means trusting that the right-fit women will still find me. It means letting the business serve the life, not the other way around.
      </p>

      <p>
        Seven years in, I can tell you: it works. Not because it's easy. Because it's <em>stewarded</em>.
      </p>

      <p class="article__sig">Xx Tracy</p>

      <!-- AUTHOR BIO -->
      <aside class="author-bio" aria-label="About the author">
        <div class="author-bio__photo" role="img" aria-label="Tracy Harris portrait"></div>
        <div>
          <p class="author-bio__name">Tracy <em>Harris</em></p>
          <p class="author-bio__blurb">
            Founder of Tracy Harris Co, host of the Mums With Hustle Podcast, and creator of Freedom Filled® Business Mentorship. Helps women build beautiful, <em>Freedom Filled®</em> businesses that serve their lives. Based between Australia and Bali.
          </p>
          <div class="author-bio__social">
            <a href="https://instagram.com/tracyharrisco" aria-label="Instagram">
              <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="2" width="20" height="20" rx="5"/><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"/><line x1="17.5" y1="6.5" x2="17.51" y2="6.5"/></svg>
            </a>
            <a href="https://tracyharris.co" aria-label="Website">
              <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="2" y1="12" x2="22" y2="12"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg>
            </a>
            <a href="/podcast" aria-label="Podcast">
              <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 18v-6a9 9 0 0 1 18 0v6"/><path d="M21 19a2 2 0 0 1-2 2h-1v-6h3zM3 19a2 2 0 0 0 2 2h1v-6H3z"/></svg>
            </a>
          </div>
        </div>
      </aside>

    </article>
  </section>
```

---

## cta-block · 20 variants

### Shared CSS · `components/cta-block/cta-block.css`

```css
/* CTA Block, mid-page interrupt call-to-action */

.cta-block {
  padding: var(--sp-9) var(--sp-7);
}

.cta-block--canvas { background: var(--surface-canvas); }
.cta-block--elevated { background: var(--surface-elevated); }
.cta-block--accent { background: var(--accent); }
.cta-block--dark { background: var(--surface-inverse); }

.cta-block__inner {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-4);
}

.cta-block__eyebrow {
  font-family: var(--f-sans);
  font-size: 11px;
  font-weight: var(--w-medium);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin: 0;
}

.cta-block--accent .cta-block__eyebrow,
.cta-block--dark .cta-block__eyebrow {
  color: rgba(255,255,255,0.6);
}

.cta-block__title {
  font-family: var(--f-serif-display);
  font-weight: var(--w-regular);
  font-size: clamp(36px, 5vw, 64px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--ink-heading);
  margin: 0;
  max-width: 18ch;
}

.cta-block--accent .cta-block__title,
.cta-block--dark .cta-block__title {
  color: var(--p-white);
}

.cta-block__title em { font-family: var(--f-serif-italic); font-style: italic; }

.cta-block__body {
  font-family: var(--f-sans);
  font-size: 16px;
  line-height: 1.65;
  color: var(--ink-body);
  margin: 0;
  max-width: 52ch;
}

.cta-block--accent .cta-block__body,
.cta-block--dark .cta-block__body {
  color: rgba(255,255,255,0.8);
}

.cta-block__actions {
  display: flex;
  gap: var(--sp-3);
  margin-top: var(--sp-3);
  flex-wrap: wrap;
  justify-content: center;
}

.cta-block__btn {
  font-family: var(--f-sans);
  font-size: 13px;
  font-weight: var(--w-semibold);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 16px 32px;
  border-radius: var(--r-md);
  transition: all 0.2s;
  display: inline-block;
}

.cta-block__btn--primary {
  background: var(--accent);
  color: var(--accent-on);
}

.cta-block__btn--primary:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

.cta-block--accent .cta-block__btn--primary,
.cta-block--dark .cta-block__btn--primary {
  background: var(--p-white);
  color: var(--accent);
}

.cta-block__btn--secondary {
  background: transparent;
  color: var(--ink-heading);
  border: 1px solid var(--border-hairline);
}

.cta-block__btn--secondary:hover {
  border-color: var(--accent);
  color: var(--accent);
}

.cta-block--accent .cta-block__btn--secondary,
.cta-block--dark .cta-block__btn--secondary {
  color: var(--p-white);
  border-color: rgba(255,255,255,0.3);
}

.cta-block--accent .cta-block__btn--secondary:hover,
.cta-block--dark .cta-block__btn--secondary:hover {
  border-color: var(--p-white);
}

/* Divider variant: thin rule above and below */
.cta-block--ruled {
  border-top: 1px solid var(--border-hairline);
  border-bottom: 1px solid var(--border-hairline);
}

/* Script accent word */
.cta-block__script {
  font-family: var(--f-script);
  font-size: 1.2em;
  font-weight: var(--w-regular);
  font-style: normal;
}
```

### cta-block.accent-polished

Wrapper context: `<body data-brand="tracy">`

```css
:root { --ease-out-craft: cubic-bezier(0.23, 1, 0.32, 1); }
    body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

    .cta-block { position: relative; overflow: hidden; isolation: isolate; }
    .cta-block::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 55% 45% at 50% 50%,
        rgba(246, 244, 241, 0.12) 0%,
        rgba(246, 244, 241, 0.0) 70%);
      pointer-events: none;
      z-index: 0;
    }
    .cta-block__inner { position: relative; z-index: 1; }

    .cta-block__eyebrow,
    .cta-block__title,
    .cta-block__body,
    .cta-block__actions {
      opacity: 0;
      transform: translateY(12px);
      animation: ctaaRise 900ms var(--ease-out-craft) forwards;
    }
    .cta-block__eyebrow { animation-delay: 160ms; }
    .cta-block__title   { animation-delay: 300ms; }
    .cta-block__body    { animation-delay: 440ms; }
    .cta-block__actions { animation-delay: 580ms; }
    @keyframes ctaaRise {
      from { opacity: 0; transform: translateY(12px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .cta-block__title { text-wrap: balance; }
    .cta-block__body  { text-wrap: pretty; }

    .cta-block__btn {
      box-sizing: border-box;
      min-height: 48px;
      padding: 14px 28px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      line-height: 1;
      transition:
        background-color 200ms var(--ease-out-craft),
        color 200ms var(--ease-out-craft),
        transform 180ms var(--ease-out-craft),
        box-shadow 220ms var(--ease-out-craft),
        letter-spacing 220ms var(--ease-out-craft);
    }
    .cta-block__btn--primary {
      box-shadow: 0 6px 24px -12px rgba(16, 16, 16, 0.3);
    }
    .cta-block__btn--primary:hover {
      transform: translateY(-1px);
      box-shadow: 0 10px 28px -10px rgba(16, 16, 16, 0.4);
    }
    .cta-block__btn--primary:active { transform: translateY(0) scale(0.98); }
    .cta-block__btn--primary:focus-visible {
      outline: 2px solid var(--p-oatmeal);
      outline-offset: 3px;
    }
    .cta-block__btn--secondary:hover {
      letter-spacing: calc(var(--t-wider) + 0.02em);
    }
    .cta-block__btn--secondary:focus-visible {
      outline: 1px solid var(--p-oatmeal);
      outline-offset: 4px;
      border-radius: 2px;
    }

    @media (prefers-reduced-motion: reduce) {
      .cta-block__eyebrow,
      .cta-block__title,
      .cta-block__body,
      .cta-block__actions {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
    }
```

```html
<section class="cta-block cta-block--accent" data-brand="tracy" aria-label="Apply to FFM">
    <div class="cta-block__inner">
      <p class="cta-block__eyebrow">Limited to 20 women</p>
      <h2 class="cta-block__title">The room is <em>everything</em>.</h2>
      <p class="cta-block__body">Freedom Filled® Mastermind is application-only because the room matters. If you're ready, we'd love to hear from you.</p>
      <div class="cta-block__actions">
        <a href="/ffm" class="cta-block__btn cta-block__btn--primary">Apply to FFM</a>
        <a href="/ffm#faq" class="cta-block__btn cta-block__btn--secondary">Read the FAQ</a>
      </div>
    </div>
  </section>
```

### cta-block.accent

Wrapper context: `<body data-brand="tracy">`

```html
<section class="cta-block cta-block--accent" data-brand="tracy">
    <div class="cta-block__inner">
      <p class="cta-block__eyebrow">Limited to 20 women</p>
      <h2 class="cta-block__title">The room is <em>everything</em>.</h2>
      <p class="cta-block__body">Freedom Filled® Mastermind is application-only because the room matters. If you're ready, we'd love to hear from you.</p>
      <div class="cta-block__actions">
        <a href="/ffm" class="cta-block__btn cta-block__btn--primary">Apply to FFM</a>
        <a href="/ffm#faq" class="cta-block__btn cta-block__btn--secondary">Read the FAQ</a>
      </div>
    </div>
  </section>
```

### cta-block.callout-quiz-dashed

Wrapper context: `<body data-brand="tracy">`

```css
body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; background: var(--p-cream); padding: 48px 24px; color: var(--p-charcoal); }
    .callout-quiz {
      max-width: 720px; margin: 0 auto;
      padding: 36px 32px;
      background: var(--p-cream);
      border: 1px dashed rgba(16,16,16,0.18);
      border-radius: 12px;
      text-align: center;
    }
    .callout-quiz h4 {
      font-family: var(--f-serif-display);
      font-size: clamp(22px, 2.4vw, 28px);
      margin: 0 0 8px;
      color: var(--p-charcoal);
      font-weight: 400;
      letter-spacing: -0.01em;
    }
    .callout-quiz h4 em { font-family: var(--f-serif-italic); font-style: italic; }
    .callout-quiz p {
      font-size: 14px; line-height: 1.55;
      margin: 0 0 18px; color: var(--p-ink);
    }
    .callout-quiz__btn {
      display: inline-block;
      padding: 12px 24px;
      background: var(--p-ffb-dark);
      color: var(--p-oatmeal);
      border-radius: var(--r-pill);
      font-size: 11px; font-weight: 600;
      letter-spacing: 0.22em; text-transform: uppercase;
      text-decoration: none;
      transition: transform .2s ease;
    }
    .callout-quiz__btn:hover { transform: translateY(-1px); }

    @media (max-width: 640px) {
      .callout-quiz { padding: 28px 22px; }
    }
```

```html
<aside class="callout-quiz" data-brand="tracy">
    <h4>Curious where you <em>actually</em> stand?</h4>
    <p>Three minutes. Seven questions. A clearer picture of what's running the show in your business right now.</p>
    <a href="#quiz" class="callout-quiz__btn">Take the FRESH Quiz</a>
  </aside>
```

### cta-block.canvas-polished

Wrapper context: `<body data-brand="tracy">`

```css
:root {
      --ease-out-craft:    cubic-bezier(0.23, 1, 0.32, 1);
      --ease-in-out-craft: cubic-bezier(0.77, 0, 0.175, 1);
    }
    body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

    /* Polish overlay on shared cta-block layer */
    .cta-block {
      position: relative;
      overflow: hidden;
      isolation: isolate;
    }
    .cta-block::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 60% 48% at 50% 40%,
        rgba(110, 142, 119, 0.08) 0%,
        rgba(110, 142, 119, 0.0) 70%);
      pointer-events: none;
      z-index: 0;
    }
    .cta-block__inner {
      position: relative;
      z-index: 1;
    }
    .cta-block__eyebrow,
    .cta-block__title,
    .cta-block__body,
    .cta-block__actions {
      opacity: 0;
      transform: translateY(12px);
      animation: ctaRise 900ms var(--ease-out-craft) forwards;
      will-change: transform, opacity;
    }
    .cta-block__eyebrow { animation-delay: 160ms; }
    .cta-block__title   { animation-delay: 300ms; }
    .cta-block__body    { animation-delay: 440ms; }
    .cta-block__actions { animation-delay: 580ms; }
    @keyframes ctaRise {
      from { opacity: 0; transform: translateY(12px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .cta-block__title { text-wrap: balance; }
    .cta-block__body  { text-wrap: pretty; }

    .cta-block__btn {
      box-sizing: border-box;
      min-height: 48px;
      padding: 14px 28px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      line-height: 1;
      transition:
        background-color 200ms var(--ease-out-craft),
        transform 180ms var(--ease-out-craft),
        box-shadow 220ms var(--ease-out-craft),
        color 200ms var(--ease-out-craft),
        border-color 200ms var(--ease-out-craft),
        letter-spacing 220ms var(--ease-out-craft);
    }
    .cta-block__btn--primary {
      box-shadow: 0 6px 24px -12px rgba(30, 55, 53, 0.45);
    }
    .cta-block__btn--primary:hover {
      transform: translateY(-1px);
      box-shadow: 0 10px 28px -10px rgba(30, 55, 53, 0.55);
    }
    .cta-block__btn--primary:active {
      transform: translateY(0) scale(0.98);
    }
    .cta-block__btn--primary:focus-visible {
      outline: 2px solid var(--p-aztek);
      outline-offset: 3px;
    }
    .cta-block__btn--secondary:hover {
      letter-spacing: calc(var(--t-wider) + 0.02em);
    }
    .cta-block__btn--secondary:focus-visible {
      outline: 1px solid var(--p-aztek);
      outline-offset: 4px;
      border-radius: 2px;
    }

    @media (prefers-reduced-motion: reduce) {
      .cta-block__eyebrow,
      .cta-block__title,
      .cta-block__body,
      .cta-block__actions {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
    }
```

```html
<section class="cta-block cta-block--canvas" data-brand="tracy" aria-label="Next step">
    <div class="cta-block__inner">
      <p class="cta-block__eyebrow">Ready to begin?</p>
      <h2 class="cta-block__title">Your next chapter starts with a <em>conversation</em>.</h2>
      <p class="cta-block__body">Take the FRESH Quiz to find out which program fits where you are right now. Two minutes. Personalised results. No pressure.</p>
      <div class="cta-block__actions">
        <a href="/quiz" class="cta-block__btn cta-block__btn--primary">Take the Quiz</a>
        <a href="/about" class="cta-block__btn cta-block__btn--secondary">Learn more</a>
      </div>
    </div>
  </section>
```

### cta-block.canvas

Wrapper context: `<body data-brand="tracy">`

```html
<section class="cta-block cta-block--canvas" data-brand="tracy">
    <div class="cta-block__inner">
      <p class="cta-block__eyebrow">Ready to begin?</p>
      <h2 class="cta-block__title">Your next chapter starts with a <em>conversation</em>.</h2>
      <p class="cta-block__body">Take the FRESH Quiz to find out which program fits where you are right now. Two minutes. Personalised results. No pressure.</p>
      <div class="cta-block__actions">
        <a href="/quiz" class="cta-block__btn cta-block__btn--primary">Take the Quiz</a>
        <a href="/about" class="cta-block__btn cta-block__btn--secondary">Learn more</a>
      </div>
    </div>
  </section>
```

### cta-block.dark-polished

Wrapper context: `<body data-brand="ffm">`

```css
:root { --ease-out-craft: cubic-bezier(0.23, 1, 0.32, 1); }
    body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; background: var(--p-charcoal); }

    .cta-block { position: relative; overflow: hidden; isolation: isolate; }
    .cta-block::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 60% 50% at 50% 35%,
        rgba(201, 164, 108, 0.14) 0%,
        rgba(201, 164, 108, 0.0) 70%);
      pointer-events: none;
      z-index: 0;
    }
    .cta-block__inner { position: relative; z-index: 1; }

    .cta-block__eyebrow,
    .cta-block__title,
    .cta-block__body,
    .cta-block__actions {
      opacity: 0;
      transform: translateY(12px);
      animation: ctadRise 900ms var(--ease-out-craft) forwards;
    }
    .cta-block__eyebrow { animation-delay: 160ms; }
    .cta-block__title   { animation-delay: 300ms; }
    .cta-block__body    { animation-delay: 440ms; }
    .cta-block__actions { animation-delay: 580ms; }
    @keyframes ctadRise {
      from { opacity: 0; transform: translateY(12px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .cta-block__title { text-wrap: balance; }
    .cta-block__body  { text-wrap: pretty; }

    .cta-block__btn {
      box-sizing: border-box;
      min-height: 48px;
      padding: 14px 28px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      line-height: 1;
      transition:
        background 220ms var(--ease-out-craft),
        transform 180ms var(--ease-out-craft),
        box-shadow 220ms var(--ease-out-craft);
    }
    .cta-block__btn--primary {
      box-shadow: 0 8px 28px -12px rgba(201, 164, 108, 0.55);
    }
    .cta-block__btn--primary:hover {
      transform: translateY(-1px);
      box-shadow: 0 14px 36px -10px rgba(201, 164, 108, 0.65);
    }
    .cta-block__btn--primary:active { transform: translateY(0) scale(0.98); }
    .cta-block__btn--primary:focus-visible {
      outline: 2px solid var(--p-gold-mid);
      outline-offset: 3px;
    }

    @media (prefers-reduced-motion: reduce) {
      .cta-block__eyebrow,
      .cta-block__title,
      .cta-block__body,
      .cta-block__actions {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
    }
```

```html
<section class="cta-block cta-block--dark" data-brand="ffm" aria-label="Book a Mastermind discovery call">
    <div class="cta-block__inner">
      <p class="cta-block__eyebrow">By invitation</p>
      <h2 class="cta-block__title">Lead at a <em>higher level</em>.</h2>
      <p class="cta-block__body">Retreats, hot seats, direct access to Tracy, and a cohort of twenty women who refuse to settle. This is the Mastermind.</p>
      <div class="cta-block__actions">
        <a href="/ffm" class="cta-block__btn cta-block__btn--primary">Book a Discovery Call</a>
      </div>
    </div>
  </section>
```

### cta-block.dark

Wrapper context: `<body data-brand="ffm">`

```html
<section class="cta-block cta-block--dark" data-brand="ffm">
    <div class="cta-block__inner">
      <p class="cta-block__eyebrow">By invitation</p>
      <h2 class="cta-block__title">Lead at a <em>higher level</em>.</h2>
      <p class="cta-block__body">Retreats, hot seats, direct access to Tracy, and a cohort of twenty women who refuse to settle. This is the Mastermind.</p>
      <div class="cta-block__actions">
        <a href="/ffm" class="cta-block__btn cta-block__btn--primary">Book a Discovery Call</a>
      </div>
    </div>
  </section>
```

### cta-block.elevated-polished

Wrapper context: `<body data-brand="tracy">`

```css
:root {
      --ease-out-craft: cubic-bezier(0.23, 1, 0.32, 1);
    }
    body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

    .cta-block { position: relative; overflow: hidden; isolation: isolate; }
    .cta-block::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 55% 45% at 50% 50%,
        rgba(204, 153, 137, 0.1) 0%,
        rgba(204, 153, 137, 0.0) 70%);
      pointer-events: none;
      z-index: 0;
    }
    .cta-block__inner { position: relative; z-index: 1; }

    .cta-block__eyebrow,
    .cta-block__title,
    .cta-block__body,
    .cta-block__actions {
      opacity: 0;
      transform: translateY(12px);
      animation: ctaeRise 900ms var(--ease-out-craft) forwards;
    }
    .cta-block__eyebrow { animation-delay: 160ms; }
    .cta-block__title   { animation-delay: 300ms; }
    .cta-block__body    { animation-delay: 440ms; }
    .cta-block__actions { animation-delay: 580ms; }
    @keyframes ctaeRise {
      from { opacity: 0; transform: translateY(12px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .cta-block__title { text-wrap: balance; }
    .cta-block__body  { text-wrap: pretty; }

    .cta-block__btn {
      box-sizing: border-box;
      min-height: 48px;
      padding: 14px 28px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      line-height: 1;
      transition:
        background-color 200ms var(--ease-out-craft),
        transform 180ms var(--ease-out-craft),
        box-shadow 220ms var(--ease-out-craft);
    }
    .cta-block__btn--primary {
      box-shadow: 0 8px 28px -12px rgba(30, 55, 53, 0.5);
    }
    .cta-block__btn--primary:hover {
      transform: translateY(-1px);
      box-shadow: 0 14px 36px -12px rgba(30, 55, 53, 0.58);
    }
    .cta-block__btn--primary:active { transform: translateY(0) scale(0.98); }
    .cta-block__btn--primary:focus-visible {
      outline: 2px solid var(--p-aztek);
      outline-offset: 3px;
    }

    @media (prefers-reduced-motion: reduce) {
      .cta-block__eyebrow,
      .cta-block__title,
      .cta-block__body,
      .cta-block__actions {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
    }
```

```html
<section class="cta-block cta-block--elevated" data-brand="tracy" aria-label="Apply to FFB">
    <div class="cta-block__inner">
      <p class="cta-block__eyebrow">Freedom Filled® Business</p>
      <h2 class="cta-block__title">Build a business that lets you <em>live</em>.</h2>
      <p class="cta-block__body">12 months of mentorship, Tracy's proven frameworks, and a community of women who get it. Applications are open.</p>
      <div class="cta-block__actions">
        <a href="/ffb" class="cta-block__btn cta-block__btn--primary">Apply to FFB</a>
      </div>
    </div>
  </section>
```

### cta-block.elevated

Wrapper context: `<body data-brand="tracy">`

```html
<section class="cta-block cta-block--elevated" data-brand="tracy">
    <div class="cta-block__inner">
      <p class="cta-block__eyebrow">Freedom Filled® Business</p>
      <h2 class="cta-block__title">Build a business that lets you <em>live</em>.</h2>
      <p class="cta-block__body">12 months of mentorship, Tracy's proven frameworks, and a community of women who get it. Applications are open.</p>
      <div class="cta-block__actions">
        <a href="/ffb" class="cta-block__btn cta-block__btn--primary">Apply to FFB</a>
      </div>
    </div>
  </section>
```

### cta-block.outro-connect-listen

Wrapper context: `<body data-brand="tracy">`

```css
body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; background: var(--p-cream); padding: 48px 24px; color: var(--p-charcoal); }
    .outro-combo {
      max-width: 960px; margin: 0 auto;
      display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
    }
    .outro-combo__card {
      padding: 40px 32px;
      border-radius: 12px;
      text-align: left;
    }
    .outro-combo__card--connect {
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
    }
    .outro-combo__card--listen {
      background: var(--p-ffb-dark);
      color: var(--p-oatmeal);
    }
    .outro-combo__eyebrow {
      font-family: var(--f-sans);
      font-size: 10px; font-weight: 600;
      letter-spacing: 0.3em; text-transform: uppercase;
      margin: 0 0 14px; opacity: 0.7;
    }
    .outro-combo__card h3 {
      font-family: var(--f-serif-display);
      font-size: clamp(24px, 2.6vw, 32px);
      line-height: 1.1; margin: 0 0 14px;
      letter-spacing: -0.015em;
    }
    .outro-combo__card h3 em { font-family: var(--f-serif-italic); font-style: italic; }
    .outro-combo__card p {
      font-size: 15px; line-height: 1.55;
      margin: 0 0 24px; opacity: 0.9;
    }
    .outro-combo__links { display: flex; flex-wrap: wrap; gap: 10px; }
    .outro-combo__btn {
      display: inline-flex; align-items: center; gap: 8px;
      padding: 11px 20px;
      border-radius: var(--r-pill);
      font-family: var(--f-sans);
      font-size: 11px; font-weight: 600;
      letter-spacing: 0.18em; text-transform: uppercase;
      text-decoration: none;
      border: 1px solid transparent;
      transition: transform .2s ease, background .2s ease, color .2s ease;
    }
    .outro-combo__card--connect .outro-combo__btn {
      background: var(--p-charcoal);
      color: var(--p-oatmeal);
    }
    .outro-combo__card--connect .outro-combo__btn--ghost {
      background: transparent;
      color: var(--p-charcoal);
      border-color: rgba(16,16,16,0.25);
    }
    .outro-combo__card--listen .outro-combo__btn {
      background: var(--p-oatmeal);
      color: var(--p-ffb-dark);
    }
    .outro-combo__card--listen .outro-combo__btn--ghost {
      background: transparent;
      color: var(--p-oatmeal);
      border-color: rgba(246,244,241,0.35);
    }
    .outro-combo__btn:hover { transform: translateY(-1px); }

    @media (max-width: 820px) {
      .outro-combo { grid-template-columns: 1fr; gap: 14px; }
    }
    @media (max-width: 640px) {
      .outro-combo__card { padding: 28px 22px; }
    }
```

```html
<section class="outro-combo">
    <article class="outro-combo__card outro-combo__card--connect" data-brand="tracy">
      <p class="outro-combo__eyebrow">Let's stay in touch</p>
      <h3>Come say <em>hi</em>.</h3>
      <p>The newsletter lands weekly. Instagram is where the daily conversation happens. Pick the one that fits your inbox.</p>
      <div class="outro-combo__links">
        <a href="#letters" class="outro-combo__btn">Join the Letters</a>
        <a href="#instagram" class="outro-combo__btn outro-combo__btn--ghost">Follow on Instagram</a>
      </div>
    </article>

    <article class="outro-combo__card outro-combo__card--listen" data-brand="ffb">
      <p class="outro-combo__eyebrow">Rather listen than read?</p>
      <h3>Press <em>play</em>.</h3>
      <p>The podcast has 500+ episodes in the back-catalogue. Honest conversations about building a business that doesn't eat your life.</p>
      <div class="outro-combo__links">
        <a href="#podcast" class="outro-combo__btn">Subscribe</a>
        <a href="#podcast-archive" class="outro-combo__btn outro-combo__btn--ghost">Browse episodes</a>
      </div>
    </article>
  </section>
```

### cta-block.outro-dancefloor

Wrapper context: `<body data-brand="tracy">`

```css
body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; background: var(--p-cream); padding: 48px 24px; }
    .outro-dancefloor {
      max-width: 960px; margin: 0 auto;
      padding: 80px 44px; border-radius: 14px;
      background: #0a0805; color: var(--p-oatmeal); text-align: center;
      position: relative; overflow: hidden;
    }
    .outro-dancefloor__strobe {
      position: absolute; inset: 0; pointer-events: none;
      background:
        radial-gradient(circle at 15% 25%, rgba(216,185,122,0.4) 0%, transparent 18%),
        radial-gradient(circle at 85% 75%, rgba(168,195,168,0.35) 0%, transparent 18%),
        radial-gradient(circle at 75% 20%, rgba(243,213,166,0.3) 0%, transparent 14%);
      animation: dancefloor-pulse 3.5s ease-in-out infinite alternate;
      mix-blend-mode: screen;
    }
    @keyframes dancefloor-pulse {
      0% { transform: scale(1); opacity: 0.8; }
      50% { transform: scale(1.1) rotate(4deg); opacity: 1; }
      100% { transform: scale(1); opacity: 0.85; }
    }
    .outro-dancefloor__tiles {
      position: absolute; inset: 0; z-index: 0;
      background:
        repeating-linear-gradient(45deg, rgba(255,255,255,0.018) 0 40px, rgba(255,255,255,0) 40px 80px),
        repeating-linear-gradient(-45deg, rgba(255,255,255,0.018) 0 40px, rgba(255,255,255,0) 40px 80px);
    }
    .outro-dancefloor__inner { position: relative; z-index: 2; }
    .outro-dancefloor__eye {
      font-family: var(--f-script); font-size: 34px; color: #f3d5a6; margin: 0 0 6px;
    }
    .outro-dancefloor__lead {
      font-family: var(--f-serif-display); font-weight: 400;
      font-size: clamp(48px, 7.5vw, 98px); line-height: 0.95; letter-spacing: -0.02em;
      margin: 0 0 18px;
    }
    .outro-dancefloor__lead em { font-family: var(--f-serif-italic); font-style: italic; color: #d8b97a; }
    .outro-dancefloor__beat {
      display: inline-flex; align-items: center; gap: 6px; margin: 0 0 34px;
      font-size: 10px; letter-spacing: 0.4em; text-transform: uppercase; font-weight: 600; opacity: 0.7;
    }
    .outro-dancefloor__beat span {
      width: 6px; height: 20px; background: #d8b97a; border-radius: 2px;
      animation: dancefloor-bar 0.8s ease-in-out infinite;
    }
    .outro-dancefloor__beat span:nth-child(2) { animation-delay: .1s; height: 26px; }
    .outro-dancefloor__beat span:nth-child(3) { animation-delay: .2s; height: 14px; }
    .outro-dancefloor__beat span:nth-child(4) { animation-delay: .3s; height: 22px; }
    .outro-dancefloor__beat span:nth-child(5) { animation-delay: .4s; height: 18px; }
    @keyframes dancefloor-bar { 0%, 100% { transform: scaleY(0.4); } 50% { transform: scaleY(1); } }
    .outro-dancefloor__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }
    .outro-dancefloor__link {
      padding: 14px 28px; background: rgba(246,244,241,0.1);
      border: 1px solid rgba(246,244,241,0.3);
      backdrop-filter: blur(10px);
      color: var(--p-oatmeal); text-decoration: none;
      border-radius: var(--r-pill);
      font-size: 11px; font-weight: 700; letter-spacing: 0.3em; text-transform: uppercase;
      transition: transform .2s ease, background .2s ease, border-color .2s ease;
    }
    .outro-dancefloor__link:hover {
      transform: translateY(-3px) scale(1.03);
      background: #d8b97a; color: var(--p-charcoal); border-color: #d8b97a;
    }
```

```html
<section class="outro-dancefloor" data-brand="tracy">
    <div class="outro-dancefloor__tiles"></div>
    <div class="outro-dancefloor__strobe"></div>
    <div class="outro-dancefloor__inner">
      <p class="outro-dancefloor__eye tk-script-accent">Hey lovely,</p>
      <h3 class="outro-dancefloor__lead">stay for <em>one more song.</em></h3>
      <p class="outro-dancefloor__beat">NOW PLAYING <span></span><span></span><span></span><span></span><span></span></p>
      <div class="outro-dancefloor__links">
        <a class="outro-dancefloor__link" href="#quiz">Take the Quiz</a>
        <a class="outro-dancefloor__link" href="#podcast">Subscribe</a>
        <a class="outro-dancefloor__link" href="#instagram">Instagram</a>
        <a class="outro-dancefloor__link" href="#letters">Letters</a>
      </div>
    </div>
  </section>
```

### cta-block.outro-dm

Wrapper context: `<body data-brand="tracy">`

```css
body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; background: var(--p-cream); padding: 48px 24px; }
    .outro-dm {
      max-width: 720px; margin: 0 auto;
      padding: 48px 40px; background: var(--p-oatmeal); border-radius: 14px;
    }
    .outro-dm__top {
      display: flex; align-items: center; gap: 12px;
      padding-bottom: 18px; margin-bottom: 24px;
      border-bottom: 1px solid rgba(16,16,16,0.12);
    }
    .outro-dm__avatar {
      width: 44px; height: 44px; border-radius: 50%;
      background-image: url('https://cdn.jsdelivr.net/gh/purepurposekh/tracy-harris-brand-kit@main/assets/photos/tracy-outfit8-39.jpg');
      background-size: cover; background-position: 35% 20%; background-repeat: no-repeat;
    }
    .outro-dm__name { font-weight: 600; font-size: 14px; margin: 0; color: var(--p-charcoal); }
    .outro-dm__handle { font-size: 12px; opacity: 0.6; margin: 0; color: var(--p-charcoal); }
    .outro-dm__online {
      margin-left: auto; font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase;
      font-weight: 600; color: #6e8f72;
      display: inline-flex; align-items: center; gap: 6px;
    }
    .outro-dm__online::before {
      content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor;
    }
    .outro-dm__bubbles { display: flex; flex-direction: column; gap: 12px; }
    .outro-dm__bubble {
      max-width: 75%; padding: 14px 18px; border-radius: 20px;
      font-size: 14.5px; line-height: 1.5; color: var(--p-charcoal);
    }
    .outro-dm__bubble--them {
      align-self: flex-start; background: #fff; border-bottom-left-radius: 6px;
    }
    .outro-dm__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
    .outro-dm__action {
      padding: 10px 18px; background: var(--p-charcoal); color: var(--p-oatmeal);
      border-radius: 20px; font-size: 12px; font-weight: 600; letter-spacing: 0.08em;
      text-decoration: none; display: inline-flex; align-items: center; gap: 6px;
      transition: transform .2s ease;
    }
    .outro-dm__action--ghost {
      background: transparent; color: var(--p-charcoal); border: 1px solid rgba(16,16,16,0.25);
    }
    .outro-dm__action:hover { transform: translateY(-2px); }
    .outro-dm__typing {
      align-self: flex-start; display: inline-flex; gap: 4px;
      padding: 14px 18px; background: #fff; border-radius: 20px; border-bottom-left-radius: 6px;
    }
    .outro-dm__typing span {
      width: 8px; height: 8px; background: rgba(16,16,16,0.35); border-radius: 50%;
      animation: dm-pulse 1.4s infinite;
    }
    .outro-dm__typing span:nth-child(2) { animation-delay: .2s; }
    .outro-dm__typing span:nth-child(3) { animation-delay: .4s; }
    @keyframes dm-pulse { 0%, 60%, 100% { opacity: 0.3; } 30% { opacity: 1; } }
```

```html
<section class="outro-dm" data-brand="tracy">
    <div class="outro-dm__top">
      <div class="outro-dm__avatar"></div>
      <div>
        <p class="outro-dm__name">Tracy Harris</p>
        <p class="outro-dm__handle">@tracyharrisco</p>
      </div>
      <span class="outro-dm__online">Active now</span>
    </div>
    <div class="outro-dm__bubbles">
      <div class="outro-dm__bubble outro-dm__bubble--them">Hey lovely, thanks for reading all the way through.</div>
      <div class="outro-dm__bubble outro-dm__bubble--them">If something sparked, here's where to go next.</div>
      <div class="outro-dm__typing"><span></span><span></span><span></span></div>
      <div class="outro-dm__actions">
        <a class="outro-dm__action" href="#quiz">Take the FRESH Quiz</a>
        <a class="outro-dm__action outro-dm__action--ghost" href="#instagram">Say hi on Instagram</a>
        <a class="outro-dm__action outro-dm__action--ghost" href="#podcast">Subscribe to the podcast</a>
      </div>
    </div>
  </section>
```

### cta-block.outro-editorial

Wrapper context: `<body data-brand="tracy">`

```css
body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; background: var(--p-cream); padding: 48px 24px; }
    .outro-editorial {
      max-width: 720px; margin: 0 auto;
      display: grid; grid-template-columns: 160px 1fr; gap: 32px; align-items: center;
      background: var(--p-oatmeal); padding: 40px; border-radius: 12px;
    }
    .outro-editorial__portrait {
      width: 160px; height: 200px; border-radius: 8px; overflow: hidden;
      background-image: url('https://cdn.jsdelivr.net/gh/purepurposekh/tracy-harris-brand-kit@main/assets/photos/tracy-outfit8-39.jpg');
      background-size: cover;
      background-position: 35% 20%;
      background-repeat: no-repeat;
    }
    .outro-editorial__meta {
      font-size: 10px; font-weight: 600; letter-spacing: 0.3em; text-transform: uppercase;
      margin: 0 0 8px; opacity: 0.7; color: var(--p-ink);
    }
    .outro-editorial__name {
      font-family: var(--f-serif-display); font-weight: 400;
      font-size: clamp(26px, 2.8vw, 32px); line-height: 1.1;
      margin: 0 0 10px; color: var(--p-charcoal); letter-spacing: -0.015em;
    }
    .outro-editorial__name em { font-family: var(--f-serif-italic); font-style: italic; }
    .outro-editorial__bio {
      font-size: 14px; line-height: 1.55; color: var(--p-ink);
      margin: 0 0 18px; max-width: 52ch;
    }
    .outro-editorial__links { display: flex; flex-wrap: wrap; gap: 18px; }
    .outro-editorial__links a {
      font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 600;
      color: var(--p-charcoal); text-decoration: none;
      border-bottom: 1px solid var(--p-charcoal); padding-bottom: 2px;
    }
    @media (max-width: 820px) {
      .outro-editorial { grid-template-columns: 1fr; text-align: center; }
      .outro-editorial__portrait { width: 160px; height: 200px; margin: 0 auto; }
    }
```

```html
<section class="outro-editorial" data-brand="tracy">
    <div class="outro-editorial__portrait" role="img" aria-label="Tracy Harris"></div>
    <div>
      <p class="outro-editorial__meta">About the author</p>
      <h3 class="outro-editorial__name">Tracy <em>Harris</em></h3>
      <p class="outro-editorial__bio">Mentor, speaker, mum of two. I help coaches, practitioners, creatives and experts package what they already know into Freedom Filled® online group programs. Host of the podcast since 2015.</p>
      <div class="outro-editorial__links">
        <a href="#instagram">Instagram</a>
        <a href="#podcast">Podcast</a>
        <a href="#quiz">Take the Quiz</a>
        <a href="#letters">Letters</a>
      </div>
    </div>
  </section>
```

### cta-block.outro-kinetic

Wrapper context: `<body data-brand="tracy">`

```css
body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; background: var(--p-cream); padding: 48px 24px; }
    .outro-kinetic {
      max-width: 960px; margin: 0 auto;
      position: relative;
      padding: 72px 44px; border-radius: 16px; overflow: hidden;
      background:
        radial-gradient(circle at 20% 20%, #9db4a4 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, #d8c8b6 0%, transparent 50%),
        var(--p-oatmeal);
      text-align: center;
    }
    .outro-kinetic::before {
      content: "";
      position: absolute; inset: -50% -10%;
      background: conic-gradient(from 0deg, #d8c8b6, #9db4a4, #b79e83, #d8c8b6);
      filter: blur(80px); opacity: 0.35;
      animation: kinetic-spin 28s linear infinite;
      z-index: 0;
    }
    @keyframes kinetic-spin { to { transform: rotate(360deg); } }
    .outro-kinetic__inner { position: relative; z-index: 1; }
    .outro-kinetic__sig {
      font-family: var(--f-script);
      font-size: clamp(56px, 8vw, 90px); line-height: 1; margin: 0 0 10px;
      color: var(--p-charcoal);
    }
    .outro-kinetic__sub {
      font-family: var(--f-serif-display);
      font-size: clamp(20px, 2.2vw, 26px);
      margin: 0 0 28px; color: var(--p-charcoal);
    }
    .outro-kinetic__sub em { font-family: var(--f-serif-italic); font-style: italic; }
    .outro-kinetic__row { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 24px; }
    .outro-kinetic__chip {
      padding: 11px 22px; background: rgba(255,255,255,0.75);
      border: 1px solid rgba(16,16,16,0.1);
      backdrop-filter: blur(10px); border-radius: var(--r-pill);
      font-size: 11px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase;
      color: var(--p-charcoal); text-decoration: none;
      transition: transform .2s ease, background .2s ease;
    }
    .outro-kinetic__chip:hover { transform: translateY(-2px); background: rgba(255,255,255,1); }
    .outro-kinetic__primary {
      display: inline-block; padding: 16px 32px;
      background: var(--p-charcoal); color: var(--p-oatmeal);
      border-radius: var(--r-pill); font-size: 12px; font-weight: 700;
      letter-spacing: 0.2em; text-transform: uppercase; text-decoration: none;
      transition: transform .2s ease;
      position: relative;
    }
    .outro-kinetic__primary::after {
      content: ""; position: absolute; inset: -4px; border-radius: inherit;
      border: 1px solid var(--p-charcoal); opacity: 0;
      transition: all .3s ease;
    }
    .outro-kinetic__primary:hover { transform: translateY(-2px); }
    .outro-kinetic__primary:hover::after { opacity: 1; inset: -8px; }
```

```html
<section class="outro-kinetic" data-brand="tracy">
    <div class="outro-kinetic__inner">
      <p class="outro-kinetic__sig tk-script-accent">Xx Tracy</p>
      <p class="outro-kinetic__sub">Thanks for spending <em>this one</em> with me.</p>
      <div class="outro-kinetic__row">
        <a class="outro-kinetic__chip" href="#instagram">Instagram</a>
        <a class="outro-kinetic__chip" href="#apple">Apple Podcasts</a>
        <a class="outro-kinetic__chip" href="#spotify">Spotify</a>
        <a class="outro-kinetic__chip" href="#youtube">YouTube</a>
        <a class="outro-kinetic__chip" href="#letters">Letters</a>
      </div>
      <a class="outro-kinetic__primary" href="#quiz">Take the FRESH Quiz</a>
    </div>
  </section>
```

### cta-block.outro-neon

Wrapper context: `<body data-brand="tracy">`

```css
body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; background: var(--p-cream); padding: 48px 24px; }
    .outro-neon {
      max-width: 880px; margin: 0 auto;
      padding: 80px 40px; border-radius: 14px;
      background: radial-gradient(ellipse at center, #14221f 0%, #070b0a 100%);
      color: var(--p-oatmeal); text-align: center; position: relative; overflow: hidden;
    }
    .outro-neon__brick {
      position: absolute; inset: 0;
      background:
        repeating-linear-gradient(0deg, rgba(255,255,255,0.015) 0 40px, transparent 40px 80px),
        repeating-linear-gradient(90deg, rgba(255,255,255,0.015) 0 80px, transparent 80px 160px);
      pointer-events: none;
    }
    .outro-neon__sign { position: relative; z-index: 1; }
    .outro-neon__pretext {
      font-family: var(--f-script); font-size: 32px;
      color: #f3d5a6; margin: 0 0 8px;
      text-shadow: 0 0 10px #b79e5a, 0 0 22px #b79e5a;
    }
    .outro-neon__big {
      font-family: var(--f-serif-italic); font-style: italic;
      font-size: clamp(54px, 8vw, 96px); line-height: 0.95; margin: 0 0 28px;
      color: var(--p-oatmeal); font-weight: 400;
      text-shadow:
        0 0 3px #fff,
        0 0 10px #a8c3a8,
        0 0 24px #6e8f72,
        0 0 46px #4a6950;
      animation: neon-flicker 5s infinite;
    }
    @keyframes neon-flicker {
      0%, 92%, 94%, 96%, 100% { opacity: 1; }
      93%, 95% { opacity: 0.55; }
    }
    .outro-neon__sub {
      font-size: 14px; letter-spacing: 0.25em; text-transform: uppercase;
      opacity: 0.65; margin: 0 0 34px; color: var(--p-oatmeal);
    }
    .outro-neon__pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; position: relative; z-index: 1; }
    .outro-neon__pill {
      padding: 12px 22px; border: 2px solid #a8c3a8; border-radius: var(--r-pill);
      color: var(--p-oatmeal); text-decoration: none; font-size: 10px; font-weight: 700;
      letter-spacing: 0.3em; text-transform: uppercase;
      box-shadow: 0 0 10px #6e8f72, inset 0 0 10px rgba(168,195,168,0.15);
      transition: box-shadow .2s ease, transform .2s ease;
    }
    .outro-neon__pill:hover { box-shadow: 0 0 22px #a8c3a8, inset 0 0 16px rgba(168,195,168,0.4); transform: translateY(-2px); }
    .outro-neon__pill--gold {
      border-color: #d8b97a;
      box-shadow: 0 0 10px #b79e5a, inset 0 0 10px rgba(216,185,122,0.15);
    }
    .outro-neon__pill--gold:hover { box-shadow: 0 0 22px #d8b97a, inset 0 0 16px rgba(216,185,122,0.4); }
```

```html
<section class="outro-neon" data-brand="tracy">
    <div class="outro-neon__brick"></div>
    <div class="outro-neon__sign">
      <p class="outro-neon__pretext tk-script-accent">Hey lovely,</p>
      <p class="outro-neon__big">keep going.</p>
      <p class="outro-neon__sub">Thanks for reading this far.</p>
      <div class="outro-neon__pills">
        <a class="outro-neon__pill" href="#quiz">Take the Quiz</a>
        <a class="outro-neon__pill outro-neon__pill--gold" href="#instagram">Instagram</a>
        <a class="outro-neon__pill" href="#podcast">Subscribe</a>
        <a class="outro-neon__pill outro-neon__pill--gold" href="#letters">Letters</a>
      </div>
    </div>
  </section>
```

### cta-block.outro-ribbon

Wrapper context: `<body data-brand="tracy">`

```css
body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; background: var(--p-cream); padding: 48px 24px; }
    .outro-ribbon {
      max-width: 880px; margin: 0 auto;
      background: var(--p-charcoal); color: var(--p-oatmeal);
      border-radius: 12px; padding: 36px 40px;
      display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center;
    }
    .outro-ribbon__sig {
      font-family: var(--f-script); font-size: clamp(44px, 5vw, 56px);
      line-height: 1; margin: 0; color: var(--p-oatmeal);
    }
    .outro-ribbon__line {
      font-family: var(--f-serif-display); font-size: 16px; opacity: 0.8;
      margin: 6px 0 0; font-style: italic; color: var(--p-oatmeal);
    }
    .outro-ribbon__links { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
    .outro-ribbon__link {
      padding: 12px 22px; border: 1px solid rgba(246,244,241,0.35); border-radius: var(--r-pill);
      color: var(--p-oatmeal); text-decoration: none; font-size: 10px; font-weight: 600;
      letter-spacing: 0.2em; text-transform: uppercase;
    }
    .outro-ribbon__link--primary {
      background: var(--p-oatmeal); color: var(--p-ffb-dark); border-color: var(--p-oatmeal);
    }
    @media (max-width: 820px) {
      .outro-ribbon { grid-template-columns: 1fr; text-align: center; }
      .outro-ribbon__links { justify-content: center; }
    }
```

```html
<section class="outro-ribbon" data-brand="tracy">
    <div>
      <p class="outro-ribbon__sig tk-script-accent">Xx Tracy</p>
      <p class="outro-ribbon__line">Let's keep the conversation going.</p>
    </div>
    <div class="outro-ribbon__links">
      <a class="outro-ribbon__link outro-ribbon__link--primary" href="#quiz">Take the Quiz</a>
      <a class="outro-ribbon__link" href="#instagram">Instagram</a>
      <a class="outro-ribbon__link" href="#podcast">Subscribe</a>
      <a class="outro-ribbon__link" href="#letters">Letters</a>
    </div>
  </section>
```

### cta-block.outro-runway

Wrapper context: `<body data-brand="tracy">`

```css
body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; background: var(--p-cream); padding: 48px 24px; }
    .outro-runway {
      max-width: 960px; margin: 0 auto;
      position: relative; border-radius: 14px; overflow: hidden; color: var(--p-oatmeal);
      background:
        linear-gradient(180deg, rgba(26,51,47,0.15) 0%, rgba(7,11,10,0.85) 100%),
        url('https://cdn.jsdelivr.net/gh/purepurposekh/tracy-harris-brand-kit@main/assets/photos/tracy-outfit8-39.jpg');
      background-size: cover; background-position: 35% 18%; background-repeat: no-repeat;
      min-height: 520px; padding: 44px 44px 36px;
    }
    .outro-runway__slate {
      display: flex; justify-content: space-between; align-items: center;
      padding-bottom: 18px; border-bottom: 1px solid rgba(246,244,241,0.25);
      font-family: var(--f-sans); font-size: 10px; letter-spacing: 0.4em; text-transform: uppercase;
      font-weight: 600; opacity: 0.9;
    }
    .outro-runway__body {
      position: absolute; bottom: 36px; left: 44px; right: 44px;
      display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; flex-wrap: wrap;
    }
    .outro-runway__title {
      font-family: var(--f-serif-display); font-weight: 400;
      font-size: clamp(46px, 7vw, 84px); line-height: 0.88; letter-spacing: -0.02em;
      margin: 0; max-width: 56%;
    }
    .outro-runway__title em { font-family: var(--f-serif-italic); font-style: italic; color: #d8b97a; }
    .outro-runway__looks { display: flex; flex-direction: column; gap: 10px; min-width: 220px; }
    .outro-runway__look-label {
      font-family: var(--f-sans); font-size: 9px; letter-spacing: 0.45em; text-transform: uppercase;
      opacity: 0.7; margin: 0 0 4px;
    }
    .outro-runway__look {
      display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
      padding: 10px 16px; background: rgba(255,255,255,0.08);
      backdrop-filter: blur(8px); border: 1px solid rgba(246,244,241,0.15);
      border-radius: 8px; text-decoration: none; color: var(--p-oatmeal);
      transition: background .2s ease, transform .2s ease;
    }
    .outro-runway__look:hover { background: rgba(255,255,255,0.16); transform: translateX(4px); }
    .outro-runway__look-num { font-family: var(--f-serif-italic); font-style: italic; font-size: 18px; color: #d8b97a; }
    .outro-runway__look-name { font-family: var(--f-serif-display); font-size: 15px; flex: 1; text-align: left; padding-left: 12px; }
    .outro-runway__look-walk { font-size: 9px; letter-spacing: 0.3em; text-transform: uppercase; font-weight: 700; color: #d8b97a; }
```

```html
<section class="outro-runway" data-brand="tracy">
    <div class="outro-runway__slate">
      <span>FREEDOM FILLED · FW26 COLLECTION</span>
      <span>PARIS · BALI · SYDNEY</span>
      <span>EP 01</span>
    </div>
    <div class="outro-runway__body">
      <h3 class="outro-runway__title">What's your <em>next look</em>?</h3>
      <div class="outro-runway__looks">
        <p class="outro-runway__look-label">Now walking</p>
        <a class="outro-runway__look" href="#quiz">
          <span class="outro-runway__look-num">01</span>
          <span class="outro-runway__look-name">The Quiz</span>
          <span class="outro-runway__look-walk">3 MIN</span>
        </a>
        <a class="outro-runway__look" href="#podcast">
          <span class="outro-runway__look-num">02</span>
          <span class="outro-runway__look-name">The Podcast</span>
          <span class="outro-runway__look-walk">WKLY</span>
        </a>
        <a class="outro-runway__look" href="#instagram">
          <span class="outro-runway__look-num">03</span>
          <span class="outro-runway__look-name">Instagram</span>
          <span class="outro-runway__look-walk">DAILY</span>
        </a>
        <a class="outro-runway__look" href="#letters">
          <span class="outro-runway__look-num">04</span>
          <span class="outro-runway__look-name">Letters</span>
          <span class="outro-runway__look-walk">WKLY</span>
        </a>
      </div>
    </div>
  </section>
```

### cta-block.ruled-polished

Wrapper context: `<body data-brand="tracy">`

```css
:root { --ease-out-craft: cubic-bezier(0.23, 1, 0.32, 1); }
    body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

    .cta-block { position: relative; overflow: hidden; isolation: isolate; }
    .cta-block__inner { position: relative; z-index: 1; }
    .cta-block__title,
    .cta-block__actions {
      opacity: 0;
      transform: translateY(12px);
      animation: ctarRise 900ms var(--ease-out-craft) forwards;
    }
    .cta-block__title   { animation-delay: 200ms; }
    .cta-block__actions { animation-delay: 380ms; }
    @keyframes ctarRise {
      from { opacity: 0; transform: translateY(12px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .cta-block__title { text-wrap: balance; }

    .cta-block__btn {
      min-height: 48px;
      transition:
        background-color 200ms var(--ease-out-craft),
        transform 180ms var(--ease-out-craft),
        box-shadow 220ms var(--ease-out-craft);
    }
    .cta-block__btn--primary {
      box-shadow: 0 6px 24px -12px rgba(30, 55, 53, 0.45);
    }
    .cta-block__btn--primary:hover {
      transform: translateY(-1px);
      box-shadow: 0 10px 28px -10px rgba(30, 55, 53, 0.55);
    }
    .cta-block__btn--primary:active { transform: translateY(0) scale(0.98); }
    .cta-block__btn--primary:focus-visible {
      outline: 2px solid var(--p-aztek);
      outline-offset: 3px;
    }

    @media (prefers-reduced-motion: reduce) {
      .cta-block__title,
      .cta-block__actions {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
    }
```

```html
<section class="cta-block cta-block--canvas cta-block--ruled" data-brand="tracy" aria-label="Start here">
    <div class="cta-block__inner">
      <h2 class="cta-block__title">Not sure? <em>Start here</em>.</h2>
      <div class="cta-block__actions">
        <a href="/quiz" class="cta-block__btn cta-block__btn--primary">Take the FRESH Quiz</a>
      </div>
    </div>
  </section>
```

### cta-block.ruled

Wrapper context: `<body data-brand="tracy">`

```html
<section class="cta-block cta-block--canvas cta-block--ruled" data-brand="tracy">
    <div class="cta-block__inner">
      <h2 class="cta-block__title">Not sure? <em>Start here</em>.</h2>
      <div class="cta-block__actions">
        <a href="/quiz" class="cta-block__btn cta-block__btn--primary">Take the FRESH Quiz</a>
      </div>
    </div>
  </section>
```

### cta-block.showcase

```css
body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; }
    .brand-label {
      position: sticky; top: 0; z-index: 10;
      background: var(--p-charcoal); color: var(--p-oatmeal);
      font-family: var(--f-sans); font-size: 11px; font-weight: 500;
      letter-spacing: 0.2em; text-transform: uppercase;
      padding: 10px 24px;
      display: flex; justify-content: space-between;
    }
```

```html
<!-- LIGHT -->
  <div class="brand-label" id="canvas"><span>LIGHT, centered on white</span><code>class="cta-block--canvas"</code></div>
  <section id="canvas-section" class="cta-block cta-block--canvas" data-brand="tracy">
    <div class="cta-block__inner">
      <p class="cta-block__eyebrow">Ready to begin?</p>
      <h2 class="cta-block__title">Your next chapter starts with a <em>conversation</em>.</h2>
      <p class="cta-block__body">Take the FRESH Quiz to find out which program fits where you are right now. Two minutes. Personalised results. No pressure.</p>
      <div class="cta-block__actions">
        <a href="/quiz" class="cta-block__btn cta-block__btn--primary">Take the Quiz</a>
        <a href="/about" class="cta-block__btn cta-block__btn--secondary">Learn more</a>
      </div>
    </div>
  </section>

  <!-- ELEVATED -->
  <div class="brand-label" id="elevated"><span>ELEVATED, oatmeal background</span><code>class="cta-block--elevated"</code></div>
  <section id="elevated-section" class="cta-block cta-block--elevated" data-brand="tracy">
    <div class="cta-block__inner">
      <p class="cta-block__eyebrow">Freedom Filled® Business</p>
      <h2 class="cta-block__title">Build a business that lets you <em>live</em>.</h2>
      <p class="cta-block__body">12 months of mentorship, Tracy's proven frameworks, and a community of women who get it. Applications are open.</p>
      <div class="cta-block__actions">
        <a href="/ffb" class="cta-block__btn cta-block__btn--primary">Apply to FFB</a>
      </div>
    </div>
  </section>

  <!-- ACCENT -->
  <div class="brand-label" id="cta-accent"><span>ACCENT, brand color background</span><code>class="cta-block--accent"</code></div>
  <section id="cta-accent-section" class="cta-block cta-block--accent" data-brand="tracy">
    <div class="cta-block__inner">
      <p class="cta-block__eyebrow">Limited to 20 women</p>
      <h2 class="cta-block__title">The room is <em>everything</em>.</h2>
      <p class="cta-block__body">Freedom Filled® Mastermind is application-only because the room matters. If you're ready, we'd love to hear from you.</p>
      <div class="cta-block__actions">
        <a href="/ffm" class="cta-block__btn cta-block__btn--primary">Apply to FFM</a>
        <a href="/ffm#faq" class="cta-block__btn cta-block__btn--secondary">Read the FAQ</a>
      </div>
    </div>
  </section>

  <!-- DARK -->
  <div class="brand-label" id="dark"><span>DARK, inverse background (FFM style)</span><code>class="cta-block--dark"</code></div>
  <section id="dark-section" class="cta-block cta-block--dark" data-brand="ffm">
    <div class="cta-block__inner">
      <p class="cta-block__eyebrow">By invitation</p>
      <h2 class="cta-block__title">Lead at a <em>higher level</em>.</h2>
      <p class="cta-block__body">Retreats, hot seats, direct access to Tracy, and a cohort of twenty women who refuse to settle. This is the Mastermind.</p>
      <div class="cta-block__actions">
        <a href="/ffm" class="cta-block__btn cta-block__btn--primary">Book a Discovery Call</a>
      </div>
    </div>
  </section>

  <!-- RULED (minimal) -->
  <div class="brand-label" id="ruled"><span>RULED, thin borders, minimal</span><code>class="cta-block--ruled"</code></div>
  <section id="ruled-section" class="cta-block cta-block--canvas cta-block--ruled" data-brand="tracy">
    <div class="cta-block__inner">
      <h2 class="cta-block__title">Not sure? <em>Start here</em>.</h2>
      <div class="cta-block__actions">
        <a href="/quiz" class="cta-block__btn cta-block__btn--primary">Take the FRESH Quiz</a>
      </div>
    </div>
  </section>
```

---

## curriculum-preview · 3 variants

### curriculum-preview.grid-preview

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }

    .section {
      padding: clamp(56px, 7vw, 104px) clamp(20px, 5vw, 64px);
    }

    .cp__header {
      max-width: 820px;
      margin: 0 auto 56px;
      text-align: center;
    }
    .cp__eyebrow {
      font-family: var(--f-script);
      font-size: clamp(26px, 3vw, 36px);
      color: var(--p-sage);
      line-height: 1;
      margin: 0 0 16px;
    }
    .cp__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(30px, 3.6vw, 44px);
      line-height: 1.1;
      letter-spacing: -0.015em;
      color: var(--p-charcoal);
      margin: 0 0 18px;
    }
    .cp__title em { font-family: var(--f-serif-italic); font-style: italic; }
    .cp__sub {
      font-size: 16px;
      line-height: 1.7;
      color: var(--p-ink);
      margin: 0;
      max-width: 60ch;
      margin-left: auto;
      margin-right: auto;
    }

    .cp-grid .cp__tiles {
      max-width: 1120px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: clamp(20px, 2.5vw, 32px);
    }
    .cp-grid .cp__tile {
      background: var(--p-cream);
      border-radius: 12px;
      overflow: hidden;
      position: relative;
      display: flex;
      flex-direction: column;
      text-decoration: none;
      color: inherit;
      transition: transform .25s ease, box-shadow .25s ease;
    }
    .cp-grid .cp__tile:hover {
      transform: translateY(-3px);
      box-shadow: 0 14px 28px rgba(16,16,16,0.08);
    }
    .cp-grid .cp__thumb {
      aspect-ratio: 16 / 10;
      background: linear-gradient(135deg, var(--p-sage) 0%, var(--p-aztek) 100%);
      position: relative;
      overflow: hidden;
    }
    .cp-grid .cp__thumb::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 30% 30%, rgba(246,244,241,0.18), transparent 40%),
        radial-gradient(circle at 70% 70%, rgba(246,244,241,0.12), transparent 40%);
    }
    .cp-grid .cp__tile--alt .cp__thumb {
      background: linear-gradient(135deg, var(--p-aztek) 0%, var(--p-charcoal) 100%);
    }
    .cp-grid .cp__tile--deep .cp__thumb {
      background: linear-gradient(135deg, var(--p-gold-mid) 0%, var(--p-gold-dark) 100%);
    }
    .cp-grid .cp__thumb-num {
      position: absolute;
      top: 18px;
      left: 20px;
      z-index: 2;
      font-family: var(--f-serif-display);
      font-style: italic;
      font-size: 48px;
      color: var(--p-oatmeal);
      line-height: 1;
      opacity: 0.85;
    }
    .cp-grid .cp__thumb-meta {
      position: absolute;
      bottom: 14px;
      left: 20px;
      right: 20px;
      z-index: 2;
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--p-oatmeal);
      display: flex;
      justify-content: space-between;
    }
    .cp-grid .cp__tile-body {
      padding: 22px 24px 26px;
    }
    .cp-grid .cp__tile-title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: 22px;
      line-height: 1.22;
      color: var(--p-charcoal);
      margin: 0 0 8px;
    }
    .cp-grid .cp__tile-title em { font-family: var(--f-serif-italic); font-style: italic; }
    .cp-grid .cp__tile-sub {
      font-size: 13px;
      line-height: 1.55;
      color: var(--p-mute);
      margin: 0;
    }
    .cp-grid .cp__free {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      margin-top: 12px;
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--p-aztek);
      border-bottom: 1px solid var(--p-aztek);
      padding-bottom: 2px;
      text-decoration: none;
    }
    .cp-grid .cp__free svg { width: 12px; height: 12px; }

    @media (max-width: 820px) {
      .cp-grid .cp__tiles { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 560px) {
      .cp-grid .cp__tiles { grid-template-columns: 1fr; }
    }
    @media (max-width: 430px) {
      .section { padding: 48px 18px; }
    }
```

```html
<section class="section cp-grid" aria-label="Curriculum preview, grid">
    <div class="cp__header">
      <p class="cp__eyebrow">What's inside.</p>
      <h2 class="cp__title">Six modules. <em>One transformation.</em></h2>
      <p class="cp__sub">Each module opens up a new layer. Start where you are, move at the pace your real life allows.</p>
    </div>

    <div class="cp__tiles">
      <a href="#module-1" class="cp__tile">
        <div class="cp__thumb">
          <span class="cp__thumb-num" aria-hidden="true">01</span>
          <span class="cp__thumb-meta"><span>Module 01</span><span>28 min</span></span>
        </div>
        <div class="cp__tile-body">
          <h3 class="cp__tile-title">The <em>Foundation</em>.</h3>
          <p class="cp__tile-sub">Your vision, values, and non-negotiable week. The work that makes every other module land.</p>
          <span class="cp__free">
            Preview module 1 free
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
          </span>
        </div>
      </a>

      <div class="cp__tile cp__tile--alt">
        <div class="cp__thumb">
          <span class="cp__thumb-num" aria-hidden="true">02</span>
          <span class="cp__thumb-meta"><span>Module 02</span><span>34 min</span></span>
        </div>
        <div class="cp__tile-body">
          <h3 class="cp__tile-title">Your Signature <em>Offer</em>.</h3>
          <p class="cp__tile-sub">One offer, priced properly, built to sell on clarity. No more pivoting every quarter.</p>
        </div>
      </div>

      <div class="cp__tile cp__tile--deep">
        <div class="cp__thumb">
          <span class="cp__thumb-num" aria-hidden="true">03</span>
          <span class="cp__thumb-meta"><span>Module 03</span><span>41 min</span></span>
        </div>
        <div class="cp__tile-body">
          <h3 class="cp__tile-title">Million Dollar <em>Message</em>.</h3>
          <p class="cp__tile-sub">Your signature messaging, sharpened until right-fit women say "this is for me".</p>
        </div>
      </div>

      <div class="cp__tile">
        <div class="cp__thumb">
          <span class="cp__thumb-num" aria-hidden="true">04</span>
          <span class="cp__thumb-meta"><span>Module 04</span><span>26 min</span></span>
        </div>
        <div class="cp__tile-body">
          <h3 class="cp__tile-title">The Content <em>Engine</em>.</h3>
          <p class="cp__tile-sub">Batch-ready content system that runs on four-day weeks and doesn't chew your life.</p>
        </div>
      </div>

      <div class="cp__tile cp__tile--alt">
        <div class="cp__thumb">
          <span class="cp__thumb-num" aria-hidden="true">05</span>
          <span class="cp__thumb-meta"><span>Module 05</span><span>38 min</span></span>
        </div>
        <div class="cp__tile-body">
          <h3 class="cp__tile-title">Sales in your <em>voice</em>.</h3>
          <p class="cp__tile-sub">Warm, apply-based sales. No scarcity, no scripts that make you cringe.</p>
        </div>
      </div>

      <div class="cp__tile cp__tile--deep">
        <div class="cp__thumb">
          <span class="cp__thumb-num" aria-hidden="true">06</span>
          <span class="cp__thumb-meta"><span>Module 06</span><span>32 min</span></span>
        </div>
        <div class="cp__tile-body">
          <h3 class="cp__tile-title">Peaceful <em>Scale</em>.</h3>
          <p class="cp__tile-sub">Growing revenue without growing your hours. Grounded, sustainable, stewarded.</p>
        </div>
      </div>
    </div>
  </section>
```

### curriculum-preview.module-stack

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }

    .section {
      padding: clamp(56px, 7vw, 104px) clamp(20px, 5vw, 64px);
    }

    .cp__header {
      max-width: 820px;
      margin: 0 auto 56px;
      text-align: center;
    }
    .cp__eyebrow {
      font-family: var(--f-script);
      font-size: clamp(26px, 3vw, 36px);
      color: var(--p-sage);
      line-height: 1;
      margin: 0 0 16px;
    }
    .cp__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(30px, 3.6vw, 44px);
      line-height: 1.1;
      letter-spacing: -0.015em;
      color: var(--p-charcoal);
      margin: 0 0 18px;
    }
    .cp__title em { font-family: var(--f-serif-italic); font-style: italic; }
    .cp__sub {
      font-size: 16px;
      line-height: 1.7;
      color: var(--p-ink);
      margin: 0;
      max-width: 60ch;
      margin-left: auto;
      margin-right: auto;
    }

    .cp-stack .cp__list {
      max-width: 820px;
      margin: 0 auto;
      list-style: none;
      padding: 0;
    }
    .cp-stack .cp__module {
      border-top: 1px solid rgba(30,55,53,0.14);
      overflow: hidden;
    }
    .cp-stack .cp__module:last-child {
      border-bottom: 1px solid rgba(30,55,53,0.14);
    }
    .cp-stack .cp__toggle {
      all: unset;
      display: grid;
      grid-template-columns: 64px 1fr auto;
      gap: 16px;
      align-items: center;
      padding: 22px 4px;
      cursor: pointer;
      width: 100%;
      box-sizing: border-box;
      transition: background .2s;
    }
    .cp-stack .cp__toggle:hover {
      background: rgba(110,142,119,0.05);
    }
    .cp-stack .cp__toggle:focus-visible {
      outline: 2px solid var(--p-sage);
      outline-offset: 2px;
    }
    .cp-stack .cp__num {
      font-family: var(--f-serif-display);
      font-style: italic;
      font-weight: 400;
      font-size: 28px;
      color: var(--p-sage);
      line-height: 1;
    }
    .cp-stack .cp__mod-title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(20px, 2.2vw, 26px);
      line-height: 1.25;
      color: var(--p-charcoal);
      margin: 0 0 4px;
    }
    .cp-stack .cp__mod-title em { font-family: var(--f-serif-italic); font-style: italic; }
    .cp-stack .cp__mod-summary {
      font-size: 14px;
      color: var(--p-mute);
      line-height: 1.5;
      margin: 0;
    }
    .cp-stack .cp__chev {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      border: 1px solid rgba(30,55,53,0.2);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: var(--p-aztek);
      transition: transform .3s ease, background .2s;
      flex-shrink: 0;
    }
    .cp-stack .cp__toggle:hover .cp__chev {
      background: var(--p-aztek);
      color: var(--p-oatmeal);
    }
    .cp-stack .cp__module[open] .cp__chev {
      transform: rotate(180deg);
      background: var(--p-aztek);
      color: var(--p-oatmeal);
    }
    .cp-stack .cp__detail {
      padding: 0 4px 28px 80px;
      font-size: 15px;
      line-height: 1.7;
      color: var(--p-ink);
      max-width: 62ch;
    }
    .cp-stack .cp__detail em { font-family: var(--f-serif-italic); font-style: italic; }
    .cp-stack .cp__detail ul {
      margin: 12px 0 0;
      padding: 0 0 0 18px;
    }
    .cp-stack .cp__detail li { margin-bottom: 6px; }

    .cp-stack summary::-webkit-details-marker { display: none; }
    .cp-stack summary { list-style: none; }

    @media (max-width: 820px) {
      .cp-stack .cp__toggle { grid-template-columns: 48px 1fr auto; gap: 12px; }
      .cp-stack .cp__num { font-size: 22px; }
      .cp-stack .cp__detail { padding-left: 60px; }
    }
    @media (max-width: 430px) {
      .section { padding: 48px 18px; }
      .cp-stack .cp__mod-title { font-size: 18px; }
      .cp-stack .cp__detail { padding-left: 0; }
    }
```

```html
<section class="section cp-stack" aria-label="Curriculum preview, module stack">
    <div class="cp__header">
      <p class="cp__eyebrow">What's inside.</p>
      <h2 class="cp__title">The <em>Freedom Filled®</em> curriculum.</h2>
      <p class="cp__sub">Eight modules released over twelve months. Each one lands with a workbook, a live coaching call, and a Voxer thread for questions as you go.</p>
    </div>

    <ol class="cp__list">
      <details class="cp__module" open>
        <summary class="cp__toggle">
          <span class="cp__num">01</span>
          <div>
            <h3 class="cp__mod-title">The <em>Foundation</em>.</h3>
            <p class="cp__mod-summary">Your vision, your values, your version of Freedom Filled® success.</p>
          </div>
          <span class="cp__chev" aria-hidden="true">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>
          </span>
        </summary>
        <div class="cp__detail">
          We start where every real business starts: with you. By the end of Module 1 you'll have <em>your</em> definition of success mapped across F.R.E.S.H, a one-page vision document, and a non-negotiable week template.
          <ul>
            <li>F.R.E.S.H self-assessment + gap analysis</li>
            <li>One-page vision exercise (your 12-month snapshot)</li>
            <li>Non-negotiable week template + energy audit</li>
          </ul>
        </div>
      </details>

      <details class="cp__module">
        <summary class="cp__toggle">
          <span class="cp__num">02</span>
          <div>
            <h3 class="cp__mod-title">Your <em>Signature Offer</em>.</h3>
            <p class="cp__mod-summary">The one offer you'll get known for. Priced, packaged, positioned.</p>
          </div>
          <span class="cp__chev" aria-hidden="true">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>
          </span>
        </summary>
        <div class="cp__detail">
          Stop spinning offers. Build the one. You'll design your signature offer using the Freedom Filled® Offers framework, price it properly, and walk away with delivery architecture that doesn't drain you.
        </div>
      </details>

      <details class="cp__module">
        <summary class="cp__toggle">
          <span class="cp__num">03</span>
          <div>
            <h3 class="cp__mod-title">The <em>Million Dollar Message</em>.</h3>
            <p class="cp__mod-summary">Messaging clarity that makes right-fit women say "this is for me".</p>
          </div>
          <span class="cp__chev" aria-hidden="true">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>
          </span>
        </summary>
        <div class="cp__detail">
          Your Million Dollar Message™, built in a week. Story bank, signature phrases, and the one-sentence pitch you'll use in every intro DM, sales call, and podcast interview from here on.
        </div>
      </details>

      <details class="cp__module">
        <summary class="cp__toggle">
          <span class="cp__num">04</span>
          <div>
            <h3 class="cp__mod-title">The <em>Content Engine</em>.</h3>
            <p class="cp__mod-summary">A repeatable system for content that sells without burning you out.</p>
          </div>
          <span class="cp__chev" aria-hidden="true">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>
          </span>
        </summary>
        <div class="cp__detail">
          Batch-ready content system that pumps out one anchor piece per week and repurposes it across Instagram, email, and podcast. Built for four-day weeks.
        </div>
      </details>

      <details class="cp__module">
        <summary class="cp__toggle">
          <span class="cp__num">05</span>
          <div>
            <h3 class="cp__mod-title">Sales in <em>your voice</em>.</h3>
            <p class="cp__mod-summary">Selling that feels warm, not slimy. Apply-based not pressure-based.</p>
          </div>
          <span class="cp__chev" aria-hidden="true">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>
          </span>
        </summary>
        <div class="cp__detail">
          Sales conversations, application forms, and objection-handling scripts. No fake scarcity, no gross countdowns. Just clear invitations to right-fit women.
        </div>
      </details>

      <details class="cp__module">
        <summary class="cp__toggle">
          <span class="cp__num">06</span>
          <div>
            <h3 class="cp__mod-title">Launches that <em>don't break you</em>.</h3>
            <p class="cp__mod-summary">Peaceful-scale launch plans built around a 300/100/10 workshop.</p>
          </div>
          <span class="cp__chev" aria-hidden="true">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>
          </span>
        </summary>
        <div class="cp__detail">
          My exact workshop model: 300 registrations, 100 attend, 10 enrol. Tear-down of what makes it convert, plus your fill-in-the-blanks launch calendar.
        </div>
      </details>

      <details class="cp__module">
        <summary class="cp__toggle">
          <span class="cp__num">07</span>
          <div>
            <h3 class="cp__mod-title">Systems + <em>Support</em>.</h3>
            <p class="cp__mod-summary">The tech stack and team structure that holds a scaling business.</p>
          </div>
          <span class="cp__chev" aria-hidden="true">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>
          </span>
        </summary>
        <div class="cp__detail">
          What to build yourself, what to hand off, and when. Including the exact Asana setup, Loom SOP template, and first-hire scorecards.
        </div>
      </details>

      <details class="cp__module">
        <summary class="cp__toggle">
          <span class="cp__num">08</span>
          <div>
            <h3 class="cp__mod-title">The <em>Peaceful Scale</em>.</h3>
            <p class="cp__mod-summary">Growing revenue without growing your hours or your stress.</p>
          </div>
          <span class="cp__chev" aria-hidden="true">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>
          </span>
        </summary>
        <div class="cp__detail">
          The mindset and metrics that turn a six-figure year into a seven-figure rhythm. Grounded, sustainable, stewarded.
        </div>
      </details>
    </ol>
  </section>
```

### curriculum-preview.showcase

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }

    .section {
      padding: clamp(56px, 7vw, 104px) clamp(20px, 5vw, 64px);
    }

    .cp__header {
      max-width: 820px;
      margin: 0 auto 56px;
      text-align: center;
    }
    .cp__eyebrow {
      font-family: var(--f-script);
      font-size: clamp(26px, 3vw, 36px);
      color: var(--p-sage);
      line-height: 1;
      margin: 0 0 16px;
    }
    .cp__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(30px, 3.6vw, 44px);
      line-height: 1.1;
      letter-spacing: -0.015em;
      color: var(--p-charcoal);
      margin: 0 0 18px;
    }
    .cp__title em { font-family: var(--f-serif-italic); font-style: italic; }
    .cp__sub {
      font-size: 16px;
      line-height: 1.7;
      color: var(--p-ink);
      margin: 0;
      max-width: 60ch;
      margin-left: auto;
      margin-right: auto;
    }

    /* -------- MODULE STACK VARIANT -------- */
    .cp-stack .cp__list {
      max-width: 820px;
      margin: 0 auto;
      list-style: none;
      padding: 0;
    }
    .cp-stack .cp__module {
      border-top: 1px solid rgba(30,55,53,0.14);
      overflow: hidden;
    }
    .cp-stack .cp__module:last-child {
      border-bottom: 1px solid rgba(30,55,53,0.14);
    }
    .cp-stack .cp__toggle {
      all: unset;
      display: grid;
      grid-template-columns: 64px 1fr auto;
      gap: 16px;
      align-items: center;
      padding: 22px 4px;
      cursor: pointer;
      width: 100%;
      box-sizing: border-box;
      transition: background .2s;
    }
    .cp-stack .cp__toggle:hover {
      background: rgba(110,142,119,0.05);
    }
    .cp-stack .cp__toggle:focus-visible {
      outline: 2px solid var(--p-sage);
      outline-offset: 2px;
    }
    .cp-stack .cp__num {
      font-family: var(--f-serif-display);
      font-style: italic;
      font-weight: 400;
      font-size: 28px;
      color: var(--p-sage);
      line-height: 1;
    }
    .cp-stack .cp__mod-title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(20px, 2.2vw, 26px);
      line-height: 1.25;
      color: var(--p-charcoal);
      margin: 0 0 4px;
    }
    .cp-stack .cp__mod-title em { font-family: var(--f-serif-italic); font-style: italic; }
    .cp-stack .cp__mod-summary {
      font-size: 14px;
      color: var(--p-mute);
      line-height: 1.5;
      margin: 0;
    }
    .cp-stack .cp__chev {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      border: 1px solid rgba(30,55,53,0.2);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: var(--p-aztek);
      transition: transform .3s ease, background .2s;
      flex-shrink: 0;
    }
    .cp-stack .cp__toggle:hover .cp__chev {
      background: var(--p-aztek);
      color: var(--p-oatmeal);
    }
    .cp-stack .cp__module[open] .cp__chev {
      transform: rotate(180deg);
      background: var(--p-aztek);
      color: var(--p-oatmeal);
    }
    .cp-stack .cp__detail {
      padding: 0 4px 28px 80px;
      font-size: 15px;
      line-height: 1.7;
      color: var(--p-ink);
      max-width: 62ch;
    }
    .cp-stack .cp__detail em { font-family: var(--f-serif-italic); font-style: italic; }
    .cp-stack .cp__detail ul {
      margin: 12px 0 0;
      padding: 0 0 0 18px;
    }
    .cp-stack .cp__detail li { margin-bottom: 6px; }

    /* details summary arrow hiding */
    .cp-stack summary::-webkit-details-marker { display: none; }
    .cp-stack summary { list-style: none; }

    /* -------- GRID PREVIEW VARIANT -------- */
    .cp-grid .cp__tiles {
      max-width: 1120px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: clamp(20px, 2.5vw, 32px);
    }
    .cp-grid .cp__tile {
      background: var(--p-cream);
      border-radius: 12px;
      overflow: hidden;
      position: relative;
      display: flex;
      flex-direction: column;
      text-decoration: none;
      color: inherit;
      transition: transform .25s ease, box-shadow .25s ease;
    }
    .cp-grid .cp__tile:hover {
      transform: translateY(-3px);
      box-shadow: 0 14px 28px rgba(16,16,16,0.08);
    }
    .cp-grid .cp__thumb {
      aspect-ratio: 16 / 10;
      background: linear-gradient(135deg, var(--p-sage) 0%, var(--p-aztek) 100%);
      position: relative;
      overflow: hidden;
    }
    .cp-grid .cp__thumb::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 30% 30%, rgba(246,244,241,0.18), transparent 40%),
        radial-gradient(circle at 70% 70%, rgba(246,244,241,0.12), transparent 40%);
    }
    .cp-grid .cp__tile--alt .cp__thumb {
      background: linear-gradient(135deg, var(--p-fresh-peach) 0%, var(--p-fresh-orange) 100%);
    }
    .cp-grid .cp__tile--deep .cp__thumb {
      background: linear-gradient(135deg, var(--p-gold-mid) 0%, var(--p-gold-dark) 100%);
    }
    .cp-grid .cp__thumb-num {
      position: absolute;
      top: 18px;
      left: 20px;
      z-index: 2;
      font-family: var(--f-serif-display);
      font-style: italic;
      font-size: 48px;
      color: var(--p-oatmeal);
      line-height: 1;
      opacity: 0.85;
    }
    .cp-grid .cp__thumb-meta {
      position: absolute;
      bottom: 14px;
      left: 20px;
      right: 20px;
      z-index: 2;
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--p-oatmeal);
      display: flex;
      justify-content: space-between;
    }
    .cp-grid .cp__tile-body {
      padding: 22px 24px 26px;
    }
    .cp-grid .cp__tile-title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: 22px;
      line-height: 1.22;
      color: var(--p-charcoal);
      margin: 0 0 8px;
    }
    .cp-grid .cp__tile-title em { font-family: var(--f-serif-italic); font-style: italic; }
    .cp-grid .cp__tile-sub {
      font-size: 13px;
      line-height: 1.55;
      color: var(--p-mute);
      margin: 0;
    }
    .cp-grid .cp__free {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      margin-top: 12px;
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--p-aztek);
      border-bottom: 1px solid var(--p-aztek);
      padding-bottom: 2px;
      text-decoration: none;
    }
    .cp-grid .cp__free svg { width: 12px; height: 12px; }

    /* -------- SHOWCASE LABELS -------- */
    .showcase-label {
      max-width: 1120px;
      margin: 0 auto 12px;
      padding: 0 clamp(20px, 5vw, 64px);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--p-mute);
    }

    @media (max-width: 820px) {
      .cp-grid .cp__tiles { grid-template-columns: repeat(2, 1fr); }
      .cp-stack .cp__toggle { grid-template-columns: 48px 1fr auto; gap: 12px; }
      .cp-stack .cp__num { font-size: 22px; }
      .cp-stack .cp__detail { padding-left: 60px; }
    }
    @media (max-width: 560px) {
      .cp-grid .cp__tiles { grid-template-columns: 1fr; }
    }
    @media (max-width: 430px) {
      .section { padding: 48px 18px; }
      .cp-stack .cp__mod-title { font-size: 18px; }
      .cp-stack .cp__detail { padding-left: 0; }
    }
```

```html
<p class="showcase-label" style="margin-top: 48px;">Variant · module-stack</p>
  <section class="section cp-stack anchor" id="module-stack" aria-label="Curriculum preview, module stack">
    <div class="cp__header">
      <p class="cp__eyebrow">What's inside.</p>
      <h2 class="cp__title">The <em>Freedom Filled®</em> curriculum.</h2>
      <p class="cp__sub">Eight modules released over twelve months. Each one lands with a workbook, a live coaching call, and a Voxer thread for questions as you go.</p>
    </div>

    <ol class="cp__list">
      <details class="cp__module" open>
        <summary class="cp__toggle">
          <span class="cp__num">01</span>
          <div>
            <h3 class="cp__mod-title">The <em>Foundation</em>.</h3>
            <p class="cp__mod-summary">Your vision, your values, your version of Freedom Filled® success.</p>
          </div>
          <span class="cp__chev" aria-hidden="true">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>
          </span>
        </summary>
        <div class="cp__detail">
          We start where every real business starts: with you. By the end of Module 1 you'll have <em>your</em> definition of success mapped across F.R.E.S.H, a one-page vision document, and a non-negotiable week template.
          <ul>
            <li>F.R.E.S.H self-assessment + gap analysis</li>
            <li>One-page vision exercise (your 12-month snapshot)</li>
            <li>Non-negotiable week template + energy audit</li>
          </ul>
        </div>
      </details>

      <details class="cp__module">
        <summary class="cp__toggle">
          <span class="cp__num">02</span>
          <div>
            <h3 class="cp__mod-title">Your <em>Signature Offer</em>.</h3>
            <p class="cp__mod-summary">The one offer you'll get known for. Priced, packaged, positioned.</p>
          </div>
          <span class="cp__chev" aria-hidden="true">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>
          </span>
        </summary>
        <div class="cp__detail">
          Stop spinning offers. Build the one. You'll design your signature offer using the Freedom Filled® Offers framework, price it properly, and walk away with delivery architecture that doesn't drain you.
        </div>
      </details>

      <details class="cp__module">
        <summary class="cp__toggle">
          <span class="cp__num">03</span>
          <div>
            <h3 class="cp__mod-title">The <em>Million Dollar Message</em>.</h3>
            <p class="cp__mod-summary">Messaging clarity that makes right-fit women say "this is for me".</p>
          </div>
          <span class="cp__chev" aria-hidden="true">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>
          </span>
        </summary>
        <div class="cp__detail">
          Your Million Dollar Message™, built in a week. Story bank, signature phrases, and the one-sentence pitch you'll use in every intro DM, sales call, and podcast interview from here on.
        </div>
      </details>

      <details class="cp__module">
        <summary class="cp__toggle">
          <span class="cp__num">04</span>
          <div>
            <h3 class="cp__mod-title">The <em>Content Engine</em>.</h3>
            <p class="cp__mod-summary">A repeatable system for content that sells without burning you out.</p>
          </div>
          <span class="cp__chev" aria-hidden="true">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>
          </span>
        </summary>
        <div class="cp__detail">
          Batch-ready content system that pumps out one anchor piece per week and repurposes it across Instagram, email, and podcast. Built for four-day weeks.
        </div>
      </details>

      <details class="cp__module">
        <summary class="cp__toggle">
          <span class="cp__num">05</span>
          <div>
            <h3 class="cp__mod-title">Sales in <em>your voice</em>.</h3>
            <p class="cp__mod-summary">Selling that feels warm, not slimy. Apply-based not pressure-based.</p>
          </div>
          <span class="cp__chev" aria-hidden="true">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>
          </span>
        </summary>
        <div class="cp__detail">
          Sales conversations, application forms, and objection-handling scripts. No fake scarcity, no gross countdowns. Just clear invitations to right-fit women.
        </div>
      </details>

      <details class="cp__module">
        <summary class="cp__toggle">
          <span class="cp__num">06</span>
          <div>
            <h3 class="cp__mod-title">Launches that <em>don't break you</em>.</h3>
            <p class="cp__mod-summary">Peaceful-scale launch plans built around a 300/100/10 workshop.</p>
          </div>
          <span class="cp__chev" aria-hidden="true">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>
          </span>
        </summary>
        <div class="cp__detail">
          My exact workshop model: 300 registrations, 100 attend, 10 enrol. Tear-down of what makes it convert, plus your fill-in-the-blanks launch calendar.
        </div>
      </details>

      <details class="cp__module">
        <summary class="cp__toggle">
          <span class="cp__num">07</span>
          <div>
            <h3 class="cp__mod-title">Systems + <em>Support</em>.</h3>
            <p class="cp__mod-summary">The tech stack and team structure that holds a scaling business.</p>
          </div>
          <span class="cp__chev" aria-hidden="true">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>
          </span>
        </summary>
        <div class="cp__detail">
          What to build yourself, what to hand off, and when. Including the exact Asana setup, Loom SOP template, and first-hire scorecards.
        </div>
      </details>

      <details class="cp__module">
        <summary class="cp__toggle">
          <span class="cp__num">08</span>
          <div>
            <h3 class="cp__mod-title">The <em>Peaceful Scale</em>.</h3>
            <p class="cp__mod-summary">Growing revenue without growing your hours or your stress.</p>
          </div>
          <span class="cp__chev" aria-hidden="true">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>
          </span>
        </summary>
        <div class="cp__detail">
          The mindset and metrics that turn a six-figure year into a seven-figure rhythm. Grounded, sustainable, stewarded.
        </div>
      </details>
    </ol>
  </section>

  <p class="showcase-label" style="margin-top: 48px;">Variant · grid-preview</p>
  <section class="section cp-grid anchor" id="grid-preview" aria-label="Curriculum preview, grid">
    <div class="cp__header">
      <p class="cp__eyebrow">What's inside.</p>
      <h2 class="cp__title">Six modules. <em>One transformation.</em></h2>
      <p class="cp__sub">Each module opens up a new layer. Start where you are, move at the pace your real life allows.</p>
    </div>

    <div class="cp__tiles">
      <a href="#module-1" class="cp__tile">
        <div class="cp__thumb">
          <span class="cp__thumb-num" aria-hidden="true">01</span>
          <span class="cp__thumb-meta"><span>Module 01</span><span>28 min</span></span>
        </div>
        <div class="cp__tile-body">
          <h3 class="cp__tile-title">The <em>Foundation</em>.</h3>
          <p class="cp__tile-sub">Your vision, values, and non-negotiable week. The work that makes every other module land.</p>
          <span class="cp__free">
            Preview module 1 free
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
          </span>
        </div>
      </a>

      <div class="cp__tile cp__tile--alt">
        <div class="cp__thumb">
          <span class="cp__thumb-num" aria-hidden="true">02</span>
          <span class="cp__thumb-meta"><span>Module 02</span><span>34 min</span></span>
        </div>
        <div class="cp__tile-body">
          <h3 class="cp__tile-title">Your Signature <em>Offer</em>.</h3>
          <p class="cp__tile-sub">One offer, priced properly, built to sell on clarity. No more pivoting every quarter.</p>
        </div>
      </div>

      <div class="cp__tile cp__tile--deep">
        <div class="cp__thumb">
          <span class="cp__thumb-num" aria-hidden="true">03</span>
          <span class="cp__thumb-meta"><span>Module 03</span><span>41 min</span></span>
        </div>
        <div class="cp__tile-body">
          <h3 class="cp__tile-title">Million Dollar <em>Message</em>.</h3>
          <p class="cp__tile-sub">Your signature messaging, sharpened until right-fit women say "this is for me".</p>
        </div>
      </div>

      <div class="cp__tile">
        <div class="cp__thumb">
          <span class="cp__thumb-num" aria-hidden="true">04</span>
          <span class="cp__thumb-meta"><span>Module 04</span><span>26 min</span></span>
        </div>
        <div class="cp__tile-body">
          <h3 class="cp__tile-title">The Content <em>Engine</em>.</h3>
          <p class="cp__tile-sub">Batch-ready content system that runs on four-day weeks and doesn't chew your life.</p>
        </div>
      </div>

      <div class="cp__tile cp__tile--alt">
        <div class="cp__thumb">
          <span class="cp__thumb-num" aria-hidden="true">05</span>
          <span class="cp__thumb-meta"><span>Module 05</span><span>38 min</span></span>
        </div>
        <div class="cp__tile-body">
          <h3 class="cp__tile-title">Sales in your <em>voice</em>.</h3>
          <p class="cp__tile-sub">Warm, apply-based sales. No scarcity, no scripts that make you cringe.</p>
        </div>
      </div>

      <div class="cp__tile cp__tile--deep">
        <div class="cp__thumb">
          <span class="cp__thumb-num" aria-hidden="true">06</span>
          <span class="cp__thumb-meta"><span>Module 06</span><span>32 min</span></span>
        </div>
        <div class="cp__tile-body">
          <h3 class="cp__tile-title">Peaceful <em>Scale</em>.</h3>
          <p class="cp__tile-sub">Growing revenue without growing your hours. Grounded, sustainable, stewarded.</p>
        </div>
      </div>
    </div>
  </section>
```

---

## event-widget · 1 variant

### event-widget.showcase

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-cream);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
      min-height: 100vh;
    }
    .wrap {
      max-width: 900px;
      margin: 0 auto;
      padding: 64px 24px;
    }
    .wrap h1 {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(32px, 4vw, 48px);
      line-height: 1.1;
      margin: 0 0 12px;
    }
    .wrap h1 em { font-family: var(--f-serif-italic); font-style: italic; }
    .wrap p { font-size: 16px; line-height: 1.65; max-width: 62ch; }

    /* -------- FLOATING WIDGET -------- */
    .ew {
      position: fixed;
      right: 24px;
      bottom: 24px;
      width: 320px;
      max-width: calc(100vw - 24px);
      z-index: 100;
      border-radius: 18px;
      overflow: hidden;
      background: var(--p-charcoal);
      color: var(--p-oatmeal);
      box-shadow: 0 18px 40px rgba(16,16,16,0.22), 0 2px 6px rgba(16,16,16,0.12);
      transition: transform .3s ease, opacity .3s ease;
      font-family: var(--f-sans);
      isolation: isolate;
    }
    .ew.is-hidden {
      transform: translateY(20px);
      opacity: 0;
      pointer-events: none;
    }
    .ew__media {
      position: relative;
      aspect-ratio: 16 / 9;
      background: url("../../../assets/photos/tracy-outfit8-49.jpg") center 25% / cover;
      cursor: pointer;
    }
    .ew__media::after {
      content: "";
      position: absolute; inset: 0;
      background: linear-gradient(180deg,
        rgba(16,16,16,0.0) 0%,
        rgba(16,16,16,0.0) 40%,
        rgba(16,16,16,0.7) 100%);
    }
    .ew__play {
      position: absolute;
      left: 50%; top: 44%;
      transform: translate(-50%, -50%);
      width: 52px; height: 52px;
      border-radius: 50%;
      background: rgba(246,244,241,0.94);
      color: var(--p-charcoal);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      z-index: 2;
      border: 0;
      cursor: pointer;
      padding: 0;
      transition: transform .2s ease, background .2s ease;
      animation: ewPulse 2.6s ease-in-out infinite;
    }
    @keyframes ewPulse {
      0%, 100% { box-shadow: 0 0 0 0 rgba(246,244,241,0.35); }
      50%      { box-shadow: 0 0 0 12px rgba(246,244,241,0); }
    }
    .ew__media:hover .ew__play { transform: translate(-50%, -50%) scale(1.06); background: #fff; }

    .ew__media-title { display: none; }  /* visible on mobile only */

    .ew__label {
      position: absolute;
      left: 12px; top: 12px;
      z-index: 2;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 4px 10px;
      border-radius: var(--r-pill);
      background: rgba(16,16,16,0.55);
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--p-oatmeal);
    }
    .ew__label::before {
      content: "";
      width: 6px; height: 6px;
      border-radius: 50%;
      background: var(--p-sage);
      box-shadow: 0 0 0 0 rgba(110,142,119,0.6);
      animation: ewBlink 1.8s ease-in-out infinite;
    }
    @keyframes ewBlink {
      0%, 100% { box-shadow: 0 0 0 0 rgba(110,142,119,0.6); }
      50%      { box-shadow: 0 0 0 6px rgba(110,142,119,0); }
    }

    .ew__close {
      position: absolute;
      right: 10px; top: 10px;
      z-index: 3;
      width: 30px; height: 30px;
      border-radius: 50%;
      background: rgba(16,16,16,0.6);
      color: var(--p-oatmeal);
      border: 0;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0;
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
      transition: background .2s ease;
      -webkit-tap-highlight-color: transparent;
    }
    .ew__close::before, .ew__close::after {
      content: "";
      position: absolute;
      width: 12px; height: 1.5px;
      background: currentColor;
    }
    .ew__close::before { transform: rotate(45deg); }
    .ew__close::after  { transform: rotate(-45deg); }
    .ew__close:hover { background: rgba(16,16,16,0.85); }

    .ew__body {
      padding: 14px 16px 16px;
    }
    .ew__eyebrow {
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--p-oatmeal);
      opacity: 0.72;
      margin: 0 0 6px;
    }
    .ew__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: 18px;
      line-height: 1.2;
      margin: 0 0 4px;
      color: var(--p-oatmeal);
    }
    .ew__title em { font-family: var(--f-serif-italic); font-style: italic; }
    .ew__meta {
      font-family: var(--f-sans);
      font-size: 11px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--p-oatmeal);
      opacity: 0.65;
      margin: 0 0 12px;
    }
    .ew__cta {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      width: 100%;
      padding: 12px 16px;
      border-radius: var(--r-pill);
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      text-decoration: none;
      border: 0;
      cursor: pointer;
      transition: transform .2s ease, background .2s ease;
    }
    .ew__cta:hover { background: #fff; transform: translateY(-1px); }

    /* Re-open tab when widget closed */
    .ew__reopen {
      position: fixed;
      right: 24px;
      bottom: 24px;
      z-index: 100;
      display: none;
      align-items: center;
      gap: 8px;
      padding: 10px 16px;
      border-radius: var(--r-pill);
      background: var(--p-charcoal);
      color: var(--p-oatmeal);
      border: 0;
      cursor: pointer;
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      box-shadow: 0 8px 20px rgba(16,16,16,0.2);
    }
    .ew__reopen.is-visible { display: inline-flex; }
    .ew__reopen::before {
      content: "";
      width: 8px; height: 8px;
      border-radius: 50%;
      background: var(--p-sage);
    }

    /* -------- MODAL -------- */
    .ewm {
      position: fixed;
      inset: 0;
      z-index: 150;
      background: rgba(16,16,16,0.82);
      display: none;
      align-items: center;
      justify-content: center;
      padding: 24px;
      opacity: 0;
      transition: opacity .25s ease;
      backdrop-filter: blur(4px);
      -webkit-backdrop-filter: blur(4px);
    }
    .ewm.is-open { display: flex; opacity: 1; }
    .ewm__dialog {
      background: var(--p-charcoal);
      color: var(--p-oatmeal);
      border-radius: 22px;
      max-width: min(960px, 100%);
      width: 100%;
      max-height: calc(100vh - 48px);
      max-height: calc(100svh - 48px);
      overflow: hidden;
      position: relative;
      display: grid;
      grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.9fr);
      box-shadow: 0 30px 80px rgba(16,16,16,0.5);
    }
    .ewm__dialog > * { min-width: 0; min-height: 0; }
    .ewm__video {
      position: relative;
      background: #000;
      overflow: hidden;
      min-height: 280px;
      /* On desktop the video fills its grid cell full-height (no aspect-ratio lock).
         The aspect-ratio lock kicks in on mobile below. */
    }
    .ewm__video-frame {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      border: 0;
      display: block;
    }
    .ewm__poster {
      position: absolute; inset: 0;
      background: url("../../../assets/photos/tracy-outfit8-49.jpg") center 25% / cover;
    }
    .ewm__poster::after {
      content: "";
      position: absolute; inset: 0;
      background: linear-gradient(180deg, rgba(16,16,16,0) 50%, rgba(16,16,16,0.65) 100%);
    }
    .ewm__poster-play {
      position: absolute;
      left: 50%; top: 50%;
      transform: translate(-50%, -50%);
      z-index: 2;
      display: inline-flex; align-items: center; gap: 10px;
      padding: 12px 22px 12px 18px;
      border: 0; cursor: pointer;
      border-radius: var(--r-pill);
      background: rgba(246,244,241,0.96);
      color: var(--p-charcoal);
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      transition: background .2s, transform .2s;
    }
    .ewm__poster-play:hover { background: #fff; transform: translate(-50%, -50%) scale(1.04); }
    .ewm__copy {
      padding: 40px 36px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 16px;
    }
    .ewm__eyebrow {
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: var(--p-oatmeal);
      opacity: 0.7;
      margin: 0;
    }
    .ewm__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(26px, 2.6vw, 36px);
      line-height: 1.15;
      margin: 0;
    }
    .ewm__title em { font-family: var(--f-serif-italic); font-style: italic; }
    .ewm__desc {
      font-family: var(--f-sans);
      font-size: 14px;
      line-height: 1.6;
      color: var(--p-oatmeal);
      opacity: 0.85;
      margin: 0;
    }
    .ewm__meta {
      display: flex;
      gap: 16px;
      flex-wrap: wrap;
      font-family: var(--f-sans);
      font-size: 11px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--p-oatmeal);
      opacity: 0.75;
      margin: 4px 0 8px;
    }
    .ewm__meta span + span::before {
      content: "·"; margin-right: 16px; opacity: 0.6;
    }
    .ewm__cta {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 14px 22px;
      border-radius: var(--r-pill);
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      text-decoration: none;
      border: 0;
      cursor: pointer;
      margin-top: 4px;
    }
    .ewm__cta:hover { background: #fff; }
    .ewm__close {
      position: absolute;
      top: 14px; right: 14px;
      z-index: 2;
      width: 40px; height: 40px;
      border-radius: 50%;
      background: rgba(16,16,16,0.75);
      color: var(--p-oatmeal);
      border: 0;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
    }
    .ewm__close::before,
    .ewm__close::after {
      content: ""; position: absolute;
      width: 16px; height: 1.5px; background: currentColor;
    }
    .ewm__close::before { transform: rotate(45deg); }
    .ewm__close::after  { transform: rotate(-45deg); }

    body.ewm-open { overflow: hidden; }

    /* -------- MOBILE / smaller viewports -------- */
    @media (max-width: 900px) {
      .ewm { padding: 16px; }
      .ewm__dialog {
        grid-template-columns: 1fr;
        grid-template-rows: auto 1fr;
        max-height: calc(100svh - 32px);
        overflow-y: auto;
      }
      .ewm__video { aspect-ratio: 16 / 10; min-height: 0; }
      .ewm__copy { padding: 24px 22px; gap: 12px; }
      .ewm__title { font-size: clamp(22px, 6vw, 30px); }
    }

    /* -------- COMPACT FLOATING WIDGET FOR MOBILE --------
       Thumbnail-only treatment: a tiny "Next workshop" pulse label on top,
       and a "Watch" pill over the bottom-right. No separate copy block.
    */
    @media (max-width: 820px) {
      .ew {
        right: 12px;
        bottom: 12px;
        width: 260px;
        max-width: calc(100vw - 24px);
        border-radius: 14px;
        background: transparent;
        box-shadow: 0 10px 24px rgba(16,16,16,0.35);
      }
      .ew__body { display: none; } /* drop the separate title/meta/CTA on mobile */
      .ew__media {
        border-radius: 14px;
        overflow: hidden;
        aspect-ratio: 16 / 11;
      }
      /* Workshop title overlaid on the thumbnail itself */
      .ew__media-title {
        display: block;
        position: absolute;
        left: 10px; right: 80px; bottom: 10px;
        z-index: 2;
        font-family: var(--f-serif-display);
        font-weight: 400;
        font-size: 14px;
        line-height: 1.15;
        color: var(--p-oatmeal);
        margin: 0;
        text-shadow: 0 1px 8px rgba(0,0,0,0.5);
      }
      .ew__media-title em { font-family: var(--f-serif-italic); font-style: italic; }
      .ew__media::after {
        background: linear-gradient(180deg,
          rgba(16,16,16,0.15) 0%,
          rgba(16,16,16,0.0) 35%,
          rgba(16,16,16,0.0) 55%,
          rgba(16,16,16,0.55) 100%);
      }
      .ew__label {
        top: 8px; left: 8px;
        padding: 4px 10px;
        font-size: 9px;
        letter-spacing: 0.2em;
        background: rgba(16,16,16,0.62);
      }
      /* Replace the center "play circle" with a small "Watch" pill at bottom-right */
      .ew__play {
        left: auto; top: auto;
        right: 10px; bottom: 10px;
        transform: none;
        width: auto; height: auto;
        border-radius: var(--r-pill);
        padding: 6px 12px 6px 10px;
        background: rgba(246,244,241,0.96);
        color: var(--p-charcoal);
        font-family: var(--f-sans);
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        animation: none;
        display: inline-flex;
        align-items: center;
        gap: 6px;
      }
      .ew__play::after {
        content: "Watch";
      }
      .ew__media:hover .ew__play { transform: scale(1.04); }
      /* Compact close: smaller, in the corner of the thumb */
      .ew__close {
        top: 6px; right: 6px;
        width: 26px; height: 26px;
      }
      .ew__close::before, .ew__close::after {
        width: 10px;
      }
    }

    /* Very narrow phones, hide widget label text for maximum space */
    @media (max-width: 380px) {
      .ew { width: 220px; }
      .ew__label { font-size: 8px; letter-spacing: 0.16em; padding: 3px 8px; }
    }

    /* Landscape phones: keep it scrollable, tighter padding */
    @media (max-height: 520px) {
      .ewm { padding: 8px; }
      .ewm__dialog {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
        max-height: calc(100svh - 16px);
        overflow-y: auto;
      }
      .ewm__video { aspect-ratio: 16 / 7; min-height: 0; }
      .ewm__copy { padding: 16px 18px; gap: 8px; }
      .ewm__title { font-size: 22px; }
      .ewm__desc { font-size: 13px; }
    }
```

```html
<div class="wrap">
    <h1>Event <em>widget</em>, floating teaser</h1>
    <p>Persistent bottom-right card promoting the next live workshop. Click the play badge or the full card to open a modal with a class replay snippet and a registration CTA. Dismiss closes it for the session and leaves a small "Next workshop" tab to bring it back.</p>
    <p>Heavily Tracy-branded: charcoal card, oatmeal text, sage "live" pulse, Jhon Halend-friendly typography stack. Uses the real Tracy portrait as the video thumbnail.</p>
    <p style="height:60vh"></p>
    <p>Scroll area · the widget stays pinned.</p>
  </div>

  <!-- FLOATING WIDGET -->
  <aside class="ew" id="ew" aria-label="Next Tracy Harris workshop">
    <div class="ew__media" role="button" aria-haspopup="dialog" aria-controls="ewm" tabindex="0" id="ew-media">
      <span class="ew__label">Upcoming</span>
      <button class="ew__close" type="button" aria-label="Dismiss workshop teaser" id="ew-close"></button>
      <h3 class="ew__media-title">The <em>Million Dollar</em> Message</h3>
      <button class="ew__play" type="button" aria-label="Play workshop preview" tabindex="-1">
        <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><polygon points="6,4 20,12 6,20"/></svg>
      </button>
    </div>
    <div class="ew__body">
      <p class="ew__eyebrow">Next workshop · Free</p>
      <h3 class="ew__title">The <em>Million Dollar Message</em></h3>
      <p class="ew__meta">Thursday · 8 May · 10am AEST</p>
      <button class="ew__cta" type="button" id="ew-cta">
        Register free
        <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
      </button>
    </div>
  </aside>

  <!-- RE-OPEN TAB -->
  <button class="ew__reopen" id="ew-reopen" type="button">
    Next workshop
  </button>

  <!-- MODAL -->
  <div class="ewm" id="ewm" role="dialog" aria-modal="true" aria-labelledby="ewm-title" aria-hidden="true">
    <div class="ewm__dialog">
      <button class="ewm__close" type="button" aria-label="Close workshop preview" id="ewm-close"></button>

      <div class="ewm__video">
        <!-- Poster shows by default; when a real embed URL is available, replace this block with an iframe. -->
        <div class="ewm__poster" id="ewm-poster" role="img" aria-label="Workshop preview"></div>
        <button class="ewm__poster-play" id="ewm-poster-play" type="button" aria-label="Play preview">
          <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><polygon points="6,4 20,12 6,20"/></svg>
          Play preview
        </button>
        <!-- Hidden iframe; populated with data-src if provided on the parent -->
        <iframe class="ewm__video-frame" id="ewm-frame" style="display:none;"
          src=""
          title="The Million Dollar Message, preview"
          loading="lazy"
          allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
          allowfullscreen></iframe>
      </div>

      <div class="ewm__copy">
        <p class="ewm__eyebrow">Free live workshop · Limited seats</p>
        <h2 class="ewm__title" id="ewm-title">The <em>Million Dollar Message</em></h2>
        <div class="ewm__meta">
          <span>Thursday 8 May</span>
          <span>10am AEST</span>
          <span>Live on Zoom</span>
        </div>
        <p class="ewm__desc">
          Tracy walks you through the exact messaging framework she uses inside <em>Freedom Filled® Business</em>, so you can articulate what you do, who it's for, and why they should care, in a single sentence. Replay unavailable after the live session.
        </p>
        <a class="ewm__cta" href="/workshop/register">Reserve my seat</a>
      </div>
    </div>
  </div>

  <script>
    const ew = document.getElementById('ew');
    const ewClose = document.getElementById('ew-close');
    const ewMedia = document.getElementById('ew-media');
    const ewCta = document.getElementById('ew-cta');
    const ewReopen = document.getElementById('ew-reopen');
    const ewm = document.getElementById('ewm');
    const ewmClose = document.getElementById('ewm-close');
    const ewmFrame = document.getElementById('ewm-frame');

    const ewmPoster = document.getElementById('ewm-poster');
    const ewmPosterPlay = document.getElementById('ewm-poster-play');

    function openModal() {
      ewm.classList.add('is-open');
      ewm.setAttribute('aria-hidden', 'false');
      document.body.classList.add('ewm-open');
    }
    function closeModal() {
      ewm.classList.remove('is-open');
      ewm.setAttribute('aria-hidden', 'true');
      document.body.classList.remove('ewm-open');
      // Stop any video playback, reset back to poster
      if (ewmFrame.src) {
        ewmFrame.src = '';
        ewmFrame.style.display = 'none';
      }
      if (ewmPoster) ewmPoster.style.display = '';
      if (ewmPosterPlay) ewmPosterPlay.style.display = '';
    }

    // When a real video URL is set on ewmFrame.dataset.src, the poster play button loads it
    if (ewmPosterPlay) {
      ewmPosterPlay.addEventListener('click', () => {
        const src = ewmFrame.dataset.src;
        if (!src) {
          window.location.href = '/workshop/register';
          return;
        }
        ewmFrame.src = src;
        ewmFrame.style.display = 'block';
        ewmPoster.style.display = 'none';
        ewmPosterPlay.style.display = 'none';
      });
    }
    function dismissWidget() {
      ew.classList.add('is-hidden');
      ewReopen.classList.add('is-visible');
      try { sessionStorage.setItem('ew-dismissed', '1'); } catch(e) {}
    }
    function restoreWidget() {
      ew.classList.remove('is-hidden');
      ewReopen.classList.remove('is-visible');
      try { sessionStorage.removeItem('ew-dismissed'); } catch(e) {}
    }

    ewMedia.addEventListener('click', openModal);
    ewMedia.addEventListener('keydown', (e) => {
      if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); openModal(); }
    });
    ewCta.addEventListener('click', openModal);
    ewClose.addEventListener('click', (e) => { e.stopPropagation(); dismissWidget(); });
    ewReopen.addEventListener('click', restoreWidget);
    ewmClose.addEventListener('click', closeModal);
    ewm.addEventListener('click', (e) => { if (e.target === ewm) closeModal(); });
    document.addEventListener('keydown', (e) => {
      if (e.key === 'Escape' && ewm.classList.contains('is-open')) closeModal();
    });

    // Respect previous dismissal within the same session
    try {
      if (sessionStorage.getItem('ew-dismissed') === '1') dismissWidget();
    } catch(e) {}
  </script>
```

---

## expandable-cta · 4 variants

### Shared CSS · `components/expandable-cta/expandable-cta.css`

```css
/* Expandable CTA, button expands into full-screen form overlay */

.expandable-cta {
  position: relative;
}

.expandable-cta__trigger-wrap {
  padding: var(--sp-9) var(--sp-7);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--sp-4);
  min-height: 60vh;
  justify-content: center;
  background: var(--surface-canvas);
}

.expandable-cta__trigger-title {
  font-family: var(--f-serif-display);
  font-weight: var(--w-regular);
  font-size: clamp(40px, 6vw, 80px);
  line-height: 1.0;
  letter-spacing: -0.03em;
  color: var(--ink-heading);
  margin: 0;
  max-width: 14ch;
}

.expandable-cta__trigger-title em { font-family: var(--f-serif-italic); font-style: italic; }

.expandable-cta__trigger-sub {
  font-family: var(--f-sans);
  font-size: 17px;
  line-height: 1.6;
  color: var(--ink-body);
  margin: 0;
  max-width: 48ch;
}

.expandable-cta__trigger-btn {
  font-family: var(--f-sans);
  font-size: 15px;
  font-weight: var(--w-semibold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: var(--accent);
  color: var(--accent-on);
  border: none;
  border-radius: 100px;
  padding: 18px 40px;
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.3s;
  margin-top: var(--sp-3);
}

.expandable-cta__trigger-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(16,16,16,0.12);
}

/* Overlay (expanded state) */
.expandable-cta__overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: var(--accent);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--sp-7);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
  overflow-y: auto;
}

.expandable-cta__overlay[data-open="true"] {
  opacity: 1;
  pointer-events: auto;
}

.expandable-cta__overlay-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-8);
  max-width: 1100px;
  width: 100%;
  align-items: center;
  transform: translateY(20px);
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.expandable-cta__overlay[data-open="true"] .expandable-cta__overlay-inner {
  transform: translateY(0);
}

@media (max-width: 820px) {
  .expandable-cta__overlay-inner { grid-template-columns: 1fr; gap: var(--sp-6); }
  .expandable-cta__overlay { padding: var(--sp-5); align-items: flex-start; }
  .expandable-cta__overlay-inner { padding-top: 60px; padding-bottom: var(--sp-7); }
  .expandable-cta__trigger-wrap { min-height: 50vh; padding: var(--sp-7) var(--sp-5); }
  .expandable-cta__trigger-sub { font-size: 15px; }
  .expandable-cta__sales-title { font-size: 28px; }
  .expandable-cta__quote { display: none; }
  .expandable-cta__benefit-icon { width: 36px; height: 36px; }
  .expandable-cta__benefit-text { font-size: 13px; padding-top: 6px; }
  .expandable-cta__field-input,
  .expandable-cta__field-textarea { font-size: 16px; }
}

@media (max-width: 500px) {
  .expandable-cta__overlay { padding: var(--sp-4); }
  .expandable-cta__overlay-inner { padding-top: 56px; gap: var(--sp-5); }
  .expandable-cta__trigger-wrap { min-height: 40vh; padding: var(--sp-6) var(--sp-4); }
  .expandable-cta__trigger-title { font-size: 36px; }
  .expandable-cta__trigger-btn { padding: 16px 32px; font-size: 13px; width: 100%; }
  .expandable-cta__close { top: var(--sp-3); right: var(--sp-3); }
  .expandable-cta__field-input,
  .expandable-cta__field-textarea { font-size: 16px; padding: 14px 16px; }
  .expandable-cta__submit { padding: 16px 24px; font-size: 14px; }
}

/* Close button */
.expandable-cta__close {
  position: fixed;
  top: 16px;
  right: 16px;
  width: 48px;
  height: 48px;
  border: none;
  background: rgba(255,255,255,0.15);
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--accent-on);
  transition: background 0.2s;
  z-index: 1002;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.expandable-cta__close:hover,
.expandable-cta__close:active { background: rgba(255,255,255,0.3); }

.expandable-cta__close svg { width: 20px; height: 20px; }

/* Left side: sales copy */
.expandable-cta__sales {
  display: flex;
  flex-direction: column;
  gap: var(--sp-5);
  color: var(--accent-on);
}

.expandable-cta__sales-title {
  font-family: var(--f-serif-display);
  font-weight: var(--w-regular);
  font-size: clamp(28px, 3.5vw, 48px);
  line-height: 1.08;
  letter-spacing: -0.02em;
  margin: 0;
}

.expandable-cta__sales-title em { font-family: var(--f-serif-italic); font-style: italic; }

/* Benefit items */
.expandable-cta__benefits {
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
}

.expandable-cta__benefit {
  display: flex;
  gap: var(--sp-3);
  align-items: flex-start;
}

.expandable-cta__benefit-icon {
  width: 40px;
  height: 40px;
  border-radius: var(--r-lg);
  background: rgba(255,255,255,0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.expandable-cta__benefit-icon svg {
  width: 18px;
  height: 18px;
  color: var(--accent-on);
}

.expandable-cta__benefit-text {
  font-family: var(--f-sans);
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
  padding-top: 8px;
}

/* Testimonial inside overlay */
.expandable-cta__quote {
  margin-top: var(--sp-5);
  padding-top: var(--sp-5);
  border-top: 1px solid rgba(255,255,255,0.15);
}

.expandable-cta__quote-text {
  font-family: var(--f-sans);
  font-size: 16px;
  font-style: italic;
  line-height: 1.55;
  margin: 0 0 var(--sp-3) 0;
}

.expandable-cta__quote-name {
  font-family: var(--f-sans);
  font-size: 13px;
  font-weight: var(--w-medium);
  margin: 0;
}

.expandable-cta__quote-role {
  font-family: var(--f-sans);
  font-size: 12px;
  opacity: 0.6;
  margin: 2px 0 0 0;
}

/* Right side: form */
.expandable-cta__form-wrap {
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
}

.expandable-cta__form {
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
}

.expandable-cta__field-label {
  font-family: var(--f-sans);
  font-size: 10px;
  font-weight: var(--w-medium);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--accent-on);
  margin: 0 0 6px 0;
  display: block;
}

.expandable-cta__field-input {
  font-family: var(--f-sans);
  font-size: 14px;
  padding: 12px 16px;
  border-radius: var(--r-lg);
  border: none;
  background: rgba(255,255,255,0.08);
  color: var(--accent-on);
  width: 100%;
  box-sizing: border-box;
  outline: none;
  transition: background 0.2s;
}

.expandable-cta__field-input:focus {
  background: rgba(255,255,255,0.14);
}

.expandable-cta__field-input::placeholder {
  color: rgba(255,255,255,0.4);
}

.expandable-cta__field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-3);
}

@media (max-width: 500px) { .expandable-cta__field-row { grid-template-columns: 1fr; } }

.expandable-cta__field-textarea {
  font-family: var(--f-sans);
  font-size: 14px;
  padding: 12px 16px;
  border-radius: var(--r-lg);
  border: none;
  background: rgba(255,255,255,0.08);
  color: var(--accent-on);
  width: 100%;
  box-sizing: border-box;
  outline: none;
  resize: none;
  min-height: 80px;
  transition: background 0.2s;
}

.expandable-cta__field-textarea:focus {
  background: rgba(255,255,255,0.14);
}

.expandable-cta__field-textarea::placeholder {
  color: rgba(255,255,255,0.4);
}

.expandable-cta__submit {
  font-family: var(--f-sans);
  font-size: 14px;
  font-weight: var(--w-semibold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: var(--accent-on);
  color: var(--accent);
  border: none;
  border-radius: 100px;
  padding: 14px 32px;
  cursor: pointer;
  transition: opacity 0.2s;
  width: 100%;
  margin-top: var(--sp-2);
}

.expandable-cta__submit:hover { opacity: 0.9; }
```

### expandable-cta.ffm-application

Wrapper context: `<body data-brand="ffm">`

```css
body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; }
    .spacer { height: 200px; background: var(--p-oatmeal); display: flex; align-items: center; justify-content: center; color: var(--ink-mute); font-size: 14px; }
```

```html
<div class="spacer">Page content above...</div>

  <div class="expandable-cta" data-brand="ffm">
    <div class="expandable-cta__trigger-wrap" style="background: var(--surface-inverse);">
      <h2 class="expandable-cta__trigger-title" style="color: var(--p-white);">The room is <em>everything</em>.</h2>
      <p class="expandable-cta__trigger-sub" style="color: rgba(255,255,255,0.7);">Maximum 20 women. Application-only. If you're ready to lead at a higher level, we'd love to hear from you.</p>
      <button class="expandable-cta__trigger-btn" style="background: var(--p-gold-mid); color: var(--p-charcoal);">Apply to the Mastermind</button>
    </div>

    <div class="expandable-cta__overlay" data-open="false" style="background: var(--p-charcoal);">
      <button class="expandable-cta__close" aria-label="Close">
        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>
      </button>

      <div class="expandable-cta__overlay-inner">
        <div class="expandable-cta__sales">
          <h3 class="expandable-cta__sales-title"><em style="color: var(--p-gold-mid);">Apply</em> to Freedom Filled® <em>Mastermind</em></h3>
          <div class="expandable-cta__benefits">
            <div class="expandable-cta__benefit">
              <div class="expandable-cta__benefit-icon">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 13l4 4L19 7"/></svg>
              </div>
              <p class="expandable-cta__benefit-text">In-person retreats in Bali and Australia with women who refuse to settle.</p>
            </div>
            <div class="expandable-cta__benefit">
              <div class="expandable-cta__benefit-icon">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M13 10V3L4 14h7v7l9-11h-7z"/></svg>
              </div>
              <p class="expandable-cta__benefit-text">Direct 1:1 access to Tracy plus hot seats and personalised strategy.</p>
            </div>
          </div>

          <div class="expandable-cta__quote">
            <p class="expandable-cta__quote-text">"Application-based is not a gimmick. It's why the room works."</p>
            <p class="expandable-cta__quote-name">[MEMBER NAME]</p>
            <p class="expandable-cta__quote-role">SaaS founder, 2025 cohort</p>
          </div>
        </div>

        <div class="expandable-cta__form-wrap">
          <form class="expandable-cta__form" onsubmit="return false;">
            <div>
              <label class="expandable-cta__field-label">Full Name *</label>
              <input type="text" class="expandable-cta__field-input" />
            </div>
            <div>
              <label class="expandable-cta__field-label">Email *</label>
              <input type="email" class="expandable-cta__field-input" />
            </div>
            <div>
              <label class="expandable-cta__field-label">Website / Instagram</label>
              <input type="text" class="expandable-cta__field-input" placeholder="@handle or URL" />
            </div>
            <div>
              <label class="expandable-cta__field-label">Tell us about your business</label>
              <textarea class="expandable-cta__field-textarea" placeholder="What do you do, who do you serve, where are you headed..."></textarea>
            </div>
            <button type="submit" class="expandable-cta__submit" style="background: var(--p-gold-mid); color: var(--p-charcoal);">Submit application</button>
          </form>
        </div>
      </div>
    </div>
  </div>

  <div class="spacer">Page content below...</div>

  <script src="../expandable-cta.js"></script>
```

### expandable-cta.quiz-polished

Wrapper context: `<body data-brand="tracy">`

```css
:root {
      --ease-out-craft:    cubic-bezier(0.23, 1, 0.32, 1);
      --ease-drawer:       cubic-bezier(0.32, 0.72, 0, 1);
    }
    body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
    .spacer { height: 200px; background: var(--p-oatmeal); display: flex; align-items: center; justify-content: center; color: var(--ink-mute); font-size: 14px; }

    /* Polish overlay */
    .expandable-cta__trigger-wrap {
      position: relative;
      overflow: hidden;
      isolation: isolate;
    }
    .expandable-cta__trigger-wrap::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 55% 45% at 50% 40%,
        rgba(110, 142, 119, 0.1) 0%,
        rgba(110, 142, 119, 0.0) 70%);
      pointer-events: none;
      z-index: 0;
    }
    .expandable-cta__trigger-title,
    .expandable-cta__trigger-sub,
    .expandable-cta__trigger-btn {
      position: relative;
      z-index: 1;
      opacity: 0;
      transform: translateY(12px);
      animation: ectaRise 900ms var(--ease-out-craft) forwards;
    }
    .expandable-cta__trigger-title { animation-delay: 200ms; }
    .expandable-cta__trigger-sub   { animation-delay: 340ms; }
    .expandable-cta__trigger-btn   { animation-delay: 480ms; }
    @keyframes ectaRise {
      from { opacity: 0; transform: translateY(12px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .expandable-cta__trigger-title { text-wrap: balance; }
    .expandable-cta__trigger-sub { text-wrap: pretty; }

    .expandable-cta__trigger-btn {
      min-height: 48px;
      transition:
        background-color 200ms var(--ease-out-craft),
        transform 200ms var(--ease-out-craft),
        box-shadow 240ms var(--ease-out-craft);
      box-shadow: 0 8px 28px -12px rgba(30, 55, 53, 0.45);
    }
    .expandable-cta__trigger-btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 14px 36px -10px rgba(30, 55, 53, 0.55);
    }
    .expandable-cta__trigger-btn:active { transform: translateY(0) scale(0.98); }
    .expandable-cta__trigger-btn:focus-visible {
      outline: 2px solid var(--p-aztek);
      outline-offset: 3px;
    }

    .expandable-cta__submit {
      transition:
        background-color 200ms var(--ease-out-craft),
        box-shadow 220ms var(--ease-out-craft),
        transform 120ms var(--ease-out-craft);
      box-shadow: 0 2px 10px -6px rgba(30, 55, 53, 0.35);
    }
    .expandable-cta__submit:hover {
      box-shadow: 0 4px 14px -6px rgba(30, 55, 53, 0.45);
    }
    .expandable-cta__submit:active { transform: scale(0.99); }
    .expandable-cta__submit:focus-visible {
      outline: 2px solid var(--p-aztek);
      outline-offset: 3px;
    }

    .expandable-cta__field-input,
    .expandable-cta__field-textarea {
      transition: border-color 200ms var(--ease-out-craft), box-shadow 200ms var(--ease-out-craft);
    }
    .expandable-cta__field-input:focus,
    .expandable-cta__field-textarea:focus {
      outline: none;
      border-color: var(--p-aztek);
      box-shadow: 0 0 0 3px rgba(30, 55, 53, 0.15);
    }

    .expandable-cta__close {
      transition: transform 200ms var(--ease-out-craft), background 200ms var(--ease-out-craft);
    }
    .expandable-cta__close:hover { transform: rotate(90deg); }
    .expandable-cta__close:focus-visible {
      outline: 2px solid currentColor;
      outline-offset: 3px;
    }

    @media (prefers-reduced-motion: reduce) {
      .expandable-cta__trigger-title,
      .expandable-cta__trigger-sub,
      .expandable-cta__trigger-btn {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
      .expandable-cta__close:hover { transform: none; }
    }
```

```html
<div class="spacer">Page content above...</div>

  <div class="expandable-cta">
    <div class="expandable-cta__trigger-wrap">
      <h2 class="expandable-cta__trigger-title">Take the <em>quiz</em>.</h2>
      <p class="expandable-cta__trigger-sub">Two minutes. Five pillars. One personalised recommendation for where to start building your Freedom Filled® business.</p>
      <button class="expandable-cta__trigger-btn">Take the FRESH Quiz</button>
    </div>

    <div class="expandable-cta__overlay" data-open="false">
      <button class="expandable-cta__close" aria-label="Close">
        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>
      </button>

      <div class="expandable-cta__overlay-inner">
        <div class="expandable-cta__sales">
          <h3 class="expandable-cta__sales-title">Find your <em>starting point</em></h3>
          <div class="expandable-cta__benefits">
            <div class="expandable-cta__benefit">
              <div class="expandable-cta__benefit-icon">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 13l4 4L19 7"/></svg>
              </div>
              <p class="expandable-cta__benefit-text">Get your personalised FRESH Score across Freedom, Revenue, Engagement, Strategy, and Heart.</p>
            </div>
            <div class="expandable-cta__benefit">
              <div class="expandable-cta__benefit-icon">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M13 10V3L4 14h7v7l9-11h-7z"/></svg>
              </div>
              <p class="expandable-cta__benefit-text">Receive a clear next-step recommendation based on where your business is right now.</p>
            </div>
          </div>

          <div class="expandable-cta__quote">
            <p class="expandable-cta__quote-text">"I took the quiz expecting a lead magnet. I got a mirror. Haven't looked at my business the same way since."</p>
            <p class="expandable-cta__quote-name">[MEMBER NAME]</p>
            <p class="expandable-cta__quote-role">Service business owner</p>
          </div>
        </div>

        <div class="expandable-cta__form-wrap">
          <form class="expandable-cta__form" onsubmit="return false;">
            <div>
              <label class="expandable-cta__field-label">Full Name *</label>
              <input type="text" class="expandable-cta__field-input" placeholder="Tracy Harris" />
            </div>
            <div>
              <label class="expandable-cta__field-label">Email *</label>
              <input type="email" class="expandable-cta__field-input" placeholder="tracy@example.com" />
            </div>
            <div class="expandable-cta__field-row">
              <div>
                <label class="expandable-cta__field-label">Business type</label>
                <input type="text" class="expandable-cta__field-input" placeholder="e.g., Coaching, Courses" />
              </div>
              <div>
                <label class="expandable-cta__field-label">Stage</label>
                <input type="text" class="expandable-cta__field-input" placeholder="e.g., Just starting" />
              </div>
            </div>
            <div>
              <label class="expandable-cta__field-label">What's your biggest challenge right now?</label>
              <textarea class="expandable-cta__field-textarea" placeholder="Tell us what's on your mind..."></textarea>
            </div>
            <button type="submit" class="expandable-cta__submit">Start the Quiz</button>
          </form>
        </div>
      </div>
    </div>
  </div>

  <div class="spacer">Page content below...</div>

  <script src="https://cdn.jsdelivr.net/gh/purepurposekh/tracy-harris-brand-kit@main/components/expandable-cta/expandable-cta.js"></script>
```

### expandable-cta.quiz

Wrapper context: `<body data-brand="tracy">`

```css
body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; }
    .spacer { height: 200px; background: var(--p-oatmeal); display: flex; align-items: center; justify-content: center; color: var(--ink-mute); font-size: 14px; }
```

```html
<div class="spacer">Page content above...</div>

  <div class="expandable-cta">
    <div class="expandable-cta__trigger-wrap">
      <h2 class="expandable-cta__trigger-title">Take the <em>quiz</em>.</h2>
      <p class="expandable-cta__trigger-sub">Two minutes. Five pillars. One personalised recommendation for where to start building your Freedom Filled® business.</p>
      <button class="expandable-cta__trigger-btn">Take the FRESH Quiz</button>
    </div>

    <div class="expandable-cta__overlay" data-open="false">
      <button class="expandable-cta__close" aria-label="Close">
        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>
      </button>

      <div class="expandable-cta__overlay-inner">
        <div class="expandable-cta__sales">
          <h3 class="expandable-cta__sales-title">Find your <em>starting point</em></h3>
          <div class="expandable-cta__benefits">
            <div class="expandable-cta__benefit">
              <div class="expandable-cta__benefit-icon">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 13l4 4L19 7"/></svg>
              </div>
              <p class="expandable-cta__benefit-text">Get your personalised FRESH Score across Freedom, Revenue, Engagement, Strategy, and Heart.</p>
            </div>
            <div class="expandable-cta__benefit">
              <div class="expandable-cta__benefit-icon">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M13 10V3L4 14h7v7l9-11h-7z"/></svg>
              </div>
              <p class="expandable-cta__benefit-text">Receive a clear next-step recommendation based on where your business is right now.</p>
            </div>
          </div>

          <div class="expandable-cta__quote">
            <p class="expandable-cta__quote-text">"I took the quiz expecting a lead magnet. I got a mirror. Haven't looked at my business the same way since."</p>
            <p class="expandable-cta__quote-name">[MEMBER NAME]</p>
            <p class="expandable-cta__quote-role">Service business owner</p>
          </div>
        </div>

        <div class="expandable-cta__form-wrap">
          <form class="expandable-cta__form" onsubmit="return false;">
            <div>
              <label class="expandable-cta__field-label">Full Name *</label>
              <input type="text" class="expandable-cta__field-input" placeholder="Tracy Harris" />
            </div>
            <div>
              <label class="expandable-cta__field-label">Email *</label>
              <input type="email" class="expandable-cta__field-input" placeholder="tracy@example.com" />
            </div>
            <div class="expandable-cta__field-row">
              <div>
                <label class="expandable-cta__field-label">Business type</label>
                <input type="text" class="expandable-cta__field-input" placeholder="e.g., Coaching, Courses" />
              </div>
              <div>
                <label class="expandable-cta__field-label">Stage</label>
                <input type="text" class="expandable-cta__field-input" placeholder="e.g., Just starting" />
              </div>
            </div>
            <div>
              <label class="expandable-cta__field-label">What's your biggest challenge right now?</label>
              <textarea class="expandable-cta__field-textarea" placeholder="Tell us what's on your mind..."></textarea>
            </div>
            <button type="submit" class="expandable-cta__submit">Start the Quiz</button>
          </form>
        </div>
      </div>
    </div>
  </div>

  <div class="spacer">Page content below...</div>

  <script src="../expandable-cta.js"></script>
```

### expandable-cta.showcase

Wrapper context: `<body data-brand="tracy">`

```css
body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; }
    .brand-label {
      position: sticky; top: 0; z-index: 10;
      background: var(--p-charcoal); color: var(--p-oatmeal);
      font-family: var(--f-sans); font-size: 11px; font-weight: 500;
      letter-spacing: 0.2em; text-transform: uppercase;
      padding: 10px 24px;
      display: flex; justify-content: space-between;
    }
    .spacer { height: 200px; background: var(--p-oatmeal); display: flex; align-items: center; justify-content: center; color: var(--ink-mute); font-size: 14px; }
```

```html
<div class="spacer">Page content above...</div>

  <!-- EXPANDABLE CTA: Quiz -->
  <div class="brand-label"><span>EXPANDABLE, button expands to full-screen form</span><code>class="expandable-cta"</code></div>
  <div class="expandable-cta">
    <div class="expandable-cta__trigger-wrap">
      <h2 class="expandable-cta__trigger-title">Take the <em>quiz</em>.</h2>
      <p class="expandable-cta__trigger-sub">Two minutes. Five pillars. One personalised recommendation for where to start building your Freedom Filled® business.</p>
      <button class="expandable-cta__trigger-btn">Take the FRESH Quiz</button>
    </div>

    <div class="expandable-cta__overlay" data-open="false">
      <button class="expandable-cta__close" aria-label="Close">
        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>
      </button>

      <div class="expandable-cta__overlay-inner">
        <div class="expandable-cta__sales">
          <h3 class="expandable-cta__sales-title">Find your <em>starting point</em></h3>
          <div class="expandable-cta__benefits">
            <div class="expandable-cta__benefit">
              <div class="expandable-cta__benefit-icon">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 13l4 4L19 7"/></svg>
              </div>
              <p class="expandable-cta__benefit-text">Get your personalised FRESH Score across Freedom, Revenue, Engagement, Strategy, and Heart.</p>
            </div>
            <div class="expandable-cta__benefit">
              <div class="expandable-cta__benefit-icon">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M13 10V3L4 14h7v7l9-11h-7z"/></svg>
              </div>
              <p class="expandable-cta__benefit-text">Receive a clear next-step recommendation based on where your business is right now.</p>
            </div>
          </div>

          <div class="expandable-cta__quote">
            <p class="expandable-cta__quote-text">"I took the quiz expecting a lead magnet. I got a mirror. Haven't looked at my business the same way since."</p>
            <p class="expandable-cta__quote-name">[MEMBER NAME]</p>
            <p class="expandable-cta__quote-role">Service business owner</p>
          </div>
        </div>

        <div class="expandable-cta__form-wrap">
          <form class="expandable-cta__form" onsubmit="return false;">
            <div>
              <label class="expandable-cta__field-label">Full Name *</label>
              <input type="text" class="expandable-cta__field-input" placeholder="Tracy Harris" />
            </div>
            <div>
              <label class="expandable-cta__field-label">Email *</label>
              <input type="email" class="expandable-cta__field-input" placeholder="tracy@example.com" />
            </div>
            <div class="expandable-cta__field-row">
              <div>
                <label class="expandable-cta__field-label">Business type</label>
                <input type="text" class="expandable-cta__field-input" placeholder="e.g., Coaching, Courses" />
              </div>
              <div>
                <label class="expandable-cta__field-label">Stage</label>
                <input type="text" class="expandable-cta__field-input" placeholder="e.g., Just starting" />
              </div>
            </div>
            <div>
              <label class="expandable-cta__field-label">What's your biggest challenge right now?</label>
              <textarea class="expandable-cta__field-textarea" placeholder="Tell us what's on your mind..."></textarea>
            </div>
            <button type="submit" class="expandable-cta__submit">Start the Quiz</button>
          </form>
        </div>
      </div>
    </div>
  </div>

  <div class="spacer">Page content below...</div>

  <!-- EXPANDABLE CTA: FFM Apply -->
  <div class="brand-label"><span>EXPANDABLE, FFM application variant</span><code>class="expandable-cta" (FFM)</code></div>
  <div class="expandable-cta" data-brand="ffm">
    <div class="expandable-cta__trigger-wrap" style="background: var(--surface-inverse);">
      <h2 class="expandable-cta__trigger-title" style="color: var(--p-white);">The room is <em>everything</em>.</h2>
      <p class="expandable-cta__trigger-sub" style="color: rgba(255,255,255,0.7);">Maximum 20 women. Application-only. If you're ready to lead at a higher level, we'd love to hear from you.</p>
      <button class="expandable-cta__trigger-btn" style="background: var(--p-gold-mid); color: var(--p-charcoal);">Apply to the Mastermind</button>
    </div>

    <div class="expandable-cta__overlay" data-open="false" style="background: var(--p-gold-dark);">
      <button class="expandable-cta__close" aria-label="Close">
        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>
      </button>

      <div class="expandable-cta__overlay-inner">
        <div class="expandable-cta__sales">
          <h3 class="expandable-cta__sales-title">Apply to Freedom Filled® <em>Mastermind</em></h3>
          <div class="expandable-cta__benefits">
            <div class="expandable-cta__benefit">
              <div class="expandable-cta__benefit-icon">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 13l4 4L19 7"/></svg>
              </div>
              <p class="expandable-cta__benefit-text">In-person retreats in Bali and Australia with women who refuse to settle.</p>
            </div>
            <div class="expandable-cta__benefit">
              <div class="expandable-cta__benefit-icon">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M13 10V3L4 14h7v7l9-11h-7z"/></svg>
              </div>
              <p class="expandable-cta__benefit-text">Direct 1:1 access to Tracy plus hot seats and personalised strategy.</p>
            </div>
          </div>

          <div class="expandable-cta__quote">
            <p class="expandable-cta__quote-text">"Application-based is not a gimmick. It's why the room works."</p>
            <p class="expandable-cta__quote-name">[MEMBER NAME]</p>
            <p class="expandable-cta__quote-role">SaaS founder, 2025 cohort</p>
          </div>
        </div>

        <div class="expandable-cta__form-wrap">
          <form class="expandable-cta__form" onsubmit="return false;">
            <div>
              <label class="expandable-cta__field-label">Full Name *</label>
              <input type="text" class="expandable-cta__field-input" />
            </div>
            <div>
              <label class="expandable-cta__field-label">Email *</label>
              <input type="email" class="expandable-cta__field-input" />
            </div>
            <div>
              <label class="expandable-cta__field-label">Website / Instagram</label>
              <input type="text" class="expandable-cta__field-input" placeholder="@handle or URL" />
            </div>
            <div>
              <label class="expandable-cta__field-label">Tell us about your business</label>
              <textarea class="expandable-cta__field-textarea" placeholder="What do you do, who do you serve, where are you headed..."></textarea>
            </div>
            <button type="submit" class="expandable-cta__submit" style="background: var(--p-gold-mid); color: var(--p-charcoal);">Submit Application</button>
          </form>
        </div>
      </div>
    </div>
  </div>

  <div class="spacer">Page content below...</div>

  <script src="../expandable-cta.js"></script>
```

---

## faq · 4 variants

### Shared CSS · `components/faq/faq.css`

```css
/* FAQ, tabbed categories + accordion items */

.faq {
  background: var(--surface-canvas);
  padding: var(--sp-9) var(--sp-7);
}

.faq--elevated {
  background: var(--surface-elevated);
}

.faq__inner {
  max-width: 900px;
  margin: 0 auto;
}

.faq__header {
  text-align: center;
  margin: 0 0 var(--sp-7) 0;
}

.faq__eyebrow {
  font-family: var(--f-sans);
  font-size: 11px;
  font-weight: var(--w-medium);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin: 0 0 var(--sp-3) 0;
}

.faq__title {
  font-family: var(--f-serif-display);
  font-weight: var(--w-regular);
  font-size: clamp(36px, 4.5vw, 56px);
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--ink-heading);
  margin: 0 0 var(--sp-4) 0;
}

.faq__title em { font-family: var(--f-serif-italic); font-style: italic; }

.faq__sub {
  font-family: var(--f-sans);
  font-size: 16px;
  line-height: 1.65;
  color: var(--ink-body);
  margin: 0 auto;
  max-width: 52ch;
}

/* Tabs */
.faq__tabs {
  display: flex;
  gap: var(--sp-2);
  justify-content: center;
  margin: 0 0 var(--sp-7) 0;
  flex-wrap: wrap;
}

.faq__tab {
  font-family: var(--f-sans);
  font-size: 13px;
  font-weight: var(--w-medium);
  letter-spacing: 0.04em;
  color: var(--ink-mute);
  background: transparent;
  border: 1px solid var(--border-hairline);
  border-radius: var(--r-pill);
  padding: 8px 20px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.faq__tab:hover {
  border-color: var(--accent);
  color: var(--ink-heading);
}

.faq__tab[aria-selected="true"] {
  background: var(--accent);
  color: var(--accent-on);
  border-color: var(--accent);
}

/* Panels */
.faq__panel {
  display: none;
}

.faq__panel[data-active="true"] {
  display: block;
}

/* Accordion items */
.faq__item {
  border-bottom: 1px solid var(--border-hairline);
}

.faq__item:first-child {
  border-top: 1px solid var(--border-hairline);
}

.faq__question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--sp-4);
  padding: var(--sp-5) 0;
  cursor: pointer;
  background: none;
  border: none;
  width: 100%;
  text-align: left;
  font-family: var(--f-sans);
  font-size: 16px;
  font-weight: var(--w-medium);
  color: var(--ink-heading);
  line-height: 1.4;
  transition: color 0.2s;
}

.faq__question:hover {
  color: var(--accent);
}

.faq__icon {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  position: relative;
  transition: transform 0.3s ease;
}

.faq__icon::before,
.faq__icon::after {
  content: '';
  position: absolute;
  background: var(--ink-mute);
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.faq__icon::before {
  width: 14px;
  height: 1.5px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.faq__icon::after {
  width: 1.5px;
  height: 14px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.faq__item[data-open="true"] .faq__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
  opacity: 0;
}

.faq__answer {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.35s ease, padding 0.35s ease;
  padding: 0 0 0 0;
}

.faq__item[data-open="true"] .faq__answer {
  max-height: 400px;
  padding: 0 0 var(--sp-5) 0;
}

.faq__answer p {
  font-family: var(--f-sans);
  font-size: 15px;
  line-height: 1.65;
  color: var(--ink-body);
  margin: 0;
  max-width: 72ch;
}

/* Simple variant (no tabs, just accordion) */
.faq--simple .faq__tabs { display: none; }
.faq--simple .faq__panel { display: block; }

/* -------- WORDMARK EDITORIAL VARIANT --------
   Giant serif "QUESTIONS" wordmark header, downward arrow, native
   <details>/<summary> accordion rows. Zero JS needed. */
.faq--wordmark .faq__tabs { display: none; }
.faq--wordmark .faq__panel { display: block; }
.faq--wordmark .faq__inner { max-width: 1100px; }
.faq--wordmark .faq__header {
  margin: 0 0 var(--sp-7) 0;
}
.faq__wordmark {
  font-family: var(--f-serif-display);
  font-weight: 400;
  font-size: clamp(80px, 14vw, 160px);
  line-height: 0.9;
  letter-spacing: -0.04em;
  color: var(--p-aztek);
  margin: 0;
  text-align: center;
  text-transform: uppercase;
}
.faq__wordmark em {
  font-family: var(--f-serif-italic);
  font-style: italic;
}
.faq__wordmark-arrow {
  display: block;
  margin: 24px auto 0;
  color: var(--p-sage);
}

.faq--wordmark .faq__row {
  border-bottom: 1px solid var(--border-hairline);
  padding: 0;
}
.faq--wordmark .faq__row[open] .faq__row-icon {
  transform: rotate(45deg);
}
.faq--wordmark .faq__row > summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--sp-4);
  padding: var(--sp-5) 0;
  font-family: var(--f-serif-display);
  font-weight: 400;
  font-size: clamp(20px, 2vw, 26px);
  line-height: 1.25;
  letter-spacing: -0.008em;
  color: var(--p-aztek);
  transition: color 0.2s;
}
.faq--wordmark .faq__row > summary::-webkit-details-marker { display: none; }
.faq--wordmark .faq__row > summary:hover { color: var(--p-sage); }
.faq--wordmark .faq__row-icon {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  position: relative;
  transition: transform 0.3s ease;
}
.faq--wordmark .faq__row-icon::before,
.faq--wordmark .faq__row-icon::after {
  content: '';
  position: absolute;
  background: var(--p-aztek);
  top: 50%;
  left: 50%;
}
.faq--wordmark .faq__row-icon::before {
  width: 14px;
  height: 1.5px;
  transform: translate(-50%, -50%);
}
.faq--wordmark .faq__row-icon::after {
  width: 1.5px;
  height: 14px;
  transform: translate(-50%, -50%);
}
.faq--wordmark .faq__row-answer {
  padding: 0 0 var(--sp-5) 0;
  font-family: var(--f-sans);
  font-size: 16px;
  line-height: 1.65;
  color: var(--p-ink);
  max-width: 72ch;
  margin: 0;
}
```

### faq.showcase

```css
body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; }
    .brand-label {
      position: sticky; top: 0; z-index: 10;
      background: var(--p-charcoal); color: var(--p-oatmeal);
      font-family: var(--f-sans); font-size: 11px; font-weight: 500;
      letter-spacing: 0.2em; text-transform: uppercase;
      padding: 10px 24px;
      display: flex; justify-content: space-between;
    }
```

```html
<!-- TABBED FAQ -->
  <div class="brand-label" id="tabbed"><span>TABBED, categories + accordion</span><code>class="faq"</code></div>
  <section id="tabbed-section" class="faq" data-brand="tracy">
    <div class="faq__inner">
      <header class="faq__header">
        <p class="faq__eyebrow">Common questions</p>
        <h2 class="faq__title">Everything you need to <em>know</em>.</h2>
        <p class="faq__sub">Can't find your answer? Hit reply on any email from Tracy or DM us on Instagram.</p>
      </header>

      <div class="faq__tabs" role="tablist">
        <button class="faq__tab" data-tab="general" role="tab" aria-selected="true">General</button>
        <button class="faq__tab" data-tab="ffb" role="tab" aria-selected="false">FFB</button>
        <button class="faq__tab" data-tab="ffm" role="tab" aria-selected="false">FFM</button>
        <button class="faq__tab" data-tab="billing" role="tab" aria-selected="false">Billing</button>
      </div>

      <div class="faq__panel" data-tab="general" data-active="true" role="tabpanel">
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">
            Who is Tracy Harris Co for?
            <span class="faq__icon"></span>
          </button>
          <div class="faq__answer">
            <p>Women building or growing online businesses, coaches, creatives, course creators, membership owners, and digital service providers. Whether you're just starting or already at six figures, if you want freedom AND revenue, you're in the right place.</p>
          </div>
        </div>
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">
            What's the difference between FFB and FFM?
            <span class="faq__icon"></span>
          </button>
          <div class="faq__answer">
            <p>Freedom Filled® Business is the 12-month mentorship for women ready to build or grow. Freedom Filled® Mastermind is the premium, application-only container for established business owners ready to scale with more intimacy, retreats, and direct access to Tracy.</p>
          </div>
        </div>
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">
            I'm not sure which program is right for me. How do I find out?
            <span class="faq__icon"></span>
          </button>
          <div class="faq__answer">
            <p>Take the FRESH Quiz. It takes two minutes and gives you a personalised recommendation based on where you are in your business right now. No email required to see your results.</p>
          </div>
        </div>
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">
            Do I need to be a mum to join?
            <span class="faq__icon"></span>
          </button>
          <div class="faq__answer">
            <p>Not at all. Tracy built her business as a mum, and many of our members are mums, but the frameworks work for any woman building an online business. What matters is your commitment, not your family structure.</p>
          </div>
        </div>
      </div>

      <div class="faq__panel" data-tab="ffb" data-active="false" role="tabpanel">
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">
            What's included in Freedom Filled® Business?
            <span class="faq__icon"></span>
          </button>
          <div class="faq__answer">
            <p>12 months of mentorship including the full curriculum, group coaching calls, a private community of right-fit women, Tracy's frameworks (Million Dollar Message™, Signature Model™, and more), and ongoing support as you build.</p>
          </div>
        </div>
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">
            How much time does FFB require each week?
            <span class="faq__icon"></span>
          </button>
          <div class="faq__answer">
            <p>The program is designed for women running businesses alongside life. Most members spend 3-5 hours per week on the curriculum and implementation. The content is available on-demand so you can work at your own pace.</p>
          </div>
        </div>
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">
            Are there payment plans available?
            <span class="faq__icon"></span>
          </button>
          <div class="faq__answer">
            <p>Yes. You can pay in full, in 6 instalments, or monthly over 12 months. The pay-in-full option saves the most. All details are on the application page.</p>
          </div>
        </div>
      </div>

      <div class="faq__panel" data-tab="ffm" data-active="false" role="tabpanel">
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">
            Why is FFM application-based?
            <span class="faq__icon"></span>
          </button>
          <div class="faq__answer">
            <p>Because the room matters. With a maximum of 20 women per cohort, Tracy personally reviews every application to ensure every member is the right fit. This isn't exclusivity for its own sake. It's how the room stays extraordinary.</p>
          </div>
        </div>
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">
            What happens on the discovery call?
            <span class="faq__icon"></span>
          </button>
          <div class="faq__answer">
            <p>A genuine conversation about where your business is and where you want it to go. Tracy or a senior team member will walk you through the program, answer your questions, and help you decide if FFM is the right container for your next season. There's a $1,000 discovery call fee, fully refundable if it's not the right fit.</p>
          </div>
        </div>
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">
            Are retreats included?
            <span class="faq__icon"></span>
          </button>
          <div class="faq__answer">
            <p>Yes. FFM includes in-person retreats (locations like Bali and Australia). Travel and accommodation are additional, but the retreat itself is included in your investment. These retreats are where some of the deepest breakthroughs happen.</p>
          </div>
        </div>
      </div>

      <div class="faq__panel" data-tab="billing" data-active="false" role="tabpanel">
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">
            What currency are prices in?
            <span class="faq__icon"></span>
          </button>
          <div class="faq__answer">
            <p>All prices are in Australian dollars (AUD).</p>
          </div>
        </div>
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">
            Is there a refund policy?
            <span class="faq__icon"></span>
          </button>
          <div class="faq__answer">
            <p>Details are in the terms and conditions provided at enrolment. Tracy stands behind the value of every program. If you have questions about the commitment, bring them to your discovery call or reach out before applying.</p>
          </div>
        </div>
      </div>
    </div>
  </section>

  <!-- SIMPLE FAQ (no tabs) -->
  <div class="brand-label" id="simple"><span>SIMPLE, single list, no tabs</span><code>class="faq faq--simple"</code></div>
  <section id="simple-section" class="faq faq--simple faq--elevated" data-brand="ffb">
    <div class="faq__inner">
      <header class="faq__header">
        <p class="faq__eyebrow">FFB questions</p>
        <h2 class="faq__title">Before you <em>apply</em>.</h2>
      </header>

      <div class="faq__panel" data-active="true">
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">
            What's included in Freedom Filled® Business?
            <span class="faq__icon"></span>
          </button>
          <div class="faq__answer">
            <p>12 months of mentorship including the full curriculum, group coaching calls, a private community of right-fit women, Tracy's frameworks (Million Dollar Message™, Signature Model™, and more), and ongoing support as you build.</p>
          </div>
        </div>
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">
            How much time does FFB require each week?
            <span class="faq__icon"></span>
          </button>
          <div class="faq__answer">
            <p>The program is designed for women running businesses alongside life. Most members spend 3-5 hours per week on the curriculum and implementation.</p>
          </div>
        </div>
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">
            Are there payment plans available?
            <span class="faq__icon"></span>
          </button>
          <div class="faq__answer">
            <p>Yes. You can pay in full, in 6 instalments, or monthly over 12 months. The pay-in-full option saves the most.</p>
          </div>
        </div>
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">
            I'm brand new. Is FFB right for me?
            <span class="faq__icon"></span>
          </button>
          <div class="faq__answer">
            <p>FFB is designed for women at all stages, from just-starting to six-figure business owners. If you're serious about building a coaching, course, membership, creative practice, or digital service business, this is your container.</p>
          </div>
        </div>
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">
            Do I get direct access to Tracy?
            <span class="faq__icon"></span>
          </button>
          <div class="faq__answer">
            <p>You get Tracy on group coaching calls and inside the community. For direct 1:1 access to Tracy, including hot seats and retreats, Freedom Filled® Mastermind is the right fit.</p>
          </div>
        </div>
      </div>
    </div>
  </section>

  <script src="../faq.js"></script>
```

### faq.simple

Wrapper context: `<body data-brand="ffb">`

```html
<section class="faq faq--simple faq--elevated" data-brand="ffb">
    <div class="faq__inner">
      <header class="faq__header">
        <p class="faq__eyebrow">FFB questions</p>
        <h2 class="faq__title">Before you <em>apply</em>.</h2>
      </header>

      <div class="faq__panel" data-active="true">
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">What's included in Freedom Filled® Business?<span class="faq__icon"></span></button>
          <div class="faq__answer"><p>12 months of mentorship including the full curriculum, group coaching calls, a private community of right-fit women, Tracy's frameworks (Million Dollar Message™, Signature Model™, and more), and ongoing support as you build.</p></div>
        </div>
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">How much time does FFB require each week?<span class="faq__icon"></span></button>
          <div class="faq__answer"><p>The program is designed for women running businesses alongside life. Most members spend 3-5 hours per week on the curriculum and implementation.</p></div>
        </div>
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">Are there payment plans available?<span class="faq__icon"></span></button>
          <div class="faq__answer"><p>Yes. You can pay in full, in 6 instalments, or monthly over 12 months. The pay-in-full option saves the most.</p></div>
        </div>
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">I'm brand new. Is FFB right for me?<span class="faq__icon"></span></button>
          <div class="faq__answer"><p>FFB is designed for women at all stages, from just-starting to six-figure business owners. If you're serious about building a coaching, course, membership, creative practice, or digital service business, this is your container.</p></div>
        </div>
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">Do I get direct access to Tracy?<span class="faq__icon"></span></button>
          <div class="faq__answer"><p>You get Tracy on group coaching calls and inside the community. For direct 1:1 access to Tracy, including hot seats and retreats, Freedom Filled® Mastermind is the right fit.</p></div>
        </div>
      </div>
    </div>
  </section>

  <script src="../faq.js"></script>
```

### faq.tabbed

Wrapper context: `<body data-brand="tracy">`

```html
<section class="faq" data-brand="tracy">
    <div class="faq__inner">
      <header class="faq__header">
        <p class="faq__eyebrow">Common questions</p>
        <h2 class="faq__title">Everything you need to <em>know</em>.</h2>
        <p class="faq__sub">Can't find your answer? Hit reply on any email from Tracy or DM us on Instagram.</p>
      </header>

      <div class="faq__tabs" role="tablist">
        <button class="faq__tab" data-tab="general" role="tab" aria-selected="true">General</button>
        <button class="faq__tab" data-tab="ffb" role="tab" aria-selected="false">FFB</button>
        <button class="faq__tab" data-tab="ffm" role="tab" aria-selected="false">FFM</button>
        <button class="faq__tab" data-tab="billing" role="tab" aria-selected="false">Billing</button>
      </div>

      <div class="faq__panel" data-tab="general" data-active="true" role="tabpanel">
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">Who is Tracy Harris Co for?<span class="faq__icon"></span></button>
          <div class="faq__answer"><p>Women building or growing online businesses, coaches, creatives, course creators, membership owners, and digital service providers. Whether you're just starting or already at six figures, if you want freedom AND revenue, you're in the right place.</p></div>
        </div>
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">What's the difference between FFB and FFM?<span class="faq__icon"></span></button>
          <div class="faq__answer"><p>Freedom Filled® Business is the 12-month mentorship for women ready to build or grow. Freedom Filled® Mastermind is the premium, application-only container for established business owners ready to scale with more intimacy, retreats, and direct access to Tracy.</p></div>
        </div>
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">I'm not sure which program is right for me. How do I find out?<span class="faq__icon"></span></button>
          <div class="faq__answer"><p>Take the FRESH Quiz. It takes two minutes and gives you a personalised recommendation based on where you are in your business right now. No email required to see your results.</p></div>
        </div>
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">Do I need to be a mum to join?<span class="faq__icon"></span></button>
          <div class="faq__answer"><p>Not at all. Tracy built her business as a mum, and many of our members are mums, but the frameworks work for any woman building an online business. What matters is your commitment, not your family structure.</p></div>
        </div>
      </div>

      <div class="faq__panel" data-tab="ffb" data-active="false" role="tabpanel">
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">What's included in Freedom Filled® Business?<span class="faq__icon"></span></button>
          <div class="faq__answer"><p>12 months of mentorship including the full curriculum, group coaching calls, a private community of right-fit women, Tracy's frameworks (Million Dollar Message™, Signature Model™, and more), and ongoing support as you build.</p></div>
        </div>
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">How much time does FFB require each week?<span class="faq__icon"></span></button>
          <div class="faq__answer"><p>The program is designed for women running businesses alongside life. Most members spend 3-5 hours per week on the curriculum and implementation. The content is available on-demand so you can work at your own pace.</p></div>
        </div>
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">Are there payment plans available?<span class="faq__icon"></span></button>
          <div class="faq__answer"><p>Yes. You can pay in full, in 6 instalments, or monthly over 12 months. The pay-in-full option saves the most. All details are on the application page.</p></div>
        </div>
      </div>

      <div class="faq__panel" data-tab="ffm" data-active="false" role="tabpanel">
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">Why is FFM application-based?<span class="faq__icon"></span></button>
          <div class="faq__answer"><p>Because the room matters. With a maximum of 20 women per cohort, Tracy personally reviews every application to ensure every member is the right fit. This isn't exclusivity for its own sake. It's how the room stays extraordinary.</p></div>
        </div>
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">What happens on the discovery call?<span class="faq__icon"></span></button>
          <div class="faq__answer"><p>A genuine conversation about where your business is and where you want it to go. Tracy or a senior team member will walk you through the program, answer your questions, and help you decide if FFM is the right container for your next season. There's a $1,000 discovery call fee, fully refundable if it's not the right fit.</p></div>
        </div>
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">Are retreats included?<span class="faq__icon"></span></button>
          <div class="faq__answer"><p>Yes. FFM includes in-person retreats (locations like Bali and Australia). Travel and accommodation are additional, but the retreat itself is included in your investment. These retreats are where some of the deepest breakthroughs happen.</p></div>
        </div>
      </div>

      <div class="faq__panel" data-tab="billing" data-active="false" role="tabpanel">
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">What currency are prices in?<span class="faq__icon"></span></button>
          <div class="faq__answer"><p>All prices are in Australian dollars (AUD).</p></div>
        </div>
        <div class="faq__item" data-open="false">
          <button class="faq__question" aria-expanded="false">Is there a refund policy?<span class="faq__icon"></span></button>
          <div class="faq__answer"><p>Details are in the terms and conditions provided at enrolment. Tracy stands behind the value of every program. If you have questions about the commitment, bring them to your discovery call or reach out before applying.</p></div>
        </div>
      </div>
    </div>
  </section>

  <script src="../faq.js"></script>
```

### faq.wordmark-editorial

Wrapper context: `<body data-brand="tracy">`

```html
<section class="faq faq--wordmark" data-brand="tracy">
    <div class="faq__inner">
      <header class="faq__header">
        <h2 class="faq__wordmark">Questions</h2>
        <svg class="faq__wordmark-arrow" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="12" y1="5" x2="12" y2="19"/><polyline points="5 12 12 19 19 12"/></svg>
      </header>

      <div class="faq__panel" data-active="true">
        <details class="faq__row">
          <summary>What if I don't have a program yet?<span class="faq__row-icon" aria-hidden="true"></span></summary>
          <p class="faq__row-answer">This workshop is for women who already have a program, course, or group offer. If you are still pre-offer, the work is to clarify what you sell first. We will let you know when the next pre-program clarity round opens.</p>
        </details>

        <details class="faq__row">
          <summary>Can I attend if I cannot be live?<span class="faq__row-icon" aria-hidden="true"></span></summary>
          <p class="faq__row-answer">Yes. You get the live replay inside your account for 30 days. Live is sharper because you can ask real questions in the Q&amp;A. Replay still gets you the foundations built.</p>
        </details>

        <details class="faq__row">
          <summary>Is this for service businesses too?<span class="faq__row-icon" aria-hidden="true"></span></summary>
          <p class="faq__row-answer">Yes. Coaches, course creators, membership owners, digital service businesses, and creatives. If your offer is sold one to many and you want to stop relying on the algorithm or a sales team, this is for you.</p>
        </details>

        <details class="faq__row">
          <summary>What if I have done a webinar before and it flopped?<span class="faq__row-icon" aria-hidden="true"></span></summary>
          <p class="faq__row-answer">Then you are exactly the person this is for. Most flopped webinars miss the same three foundations. We rebuild them in 2 hours.</p>
        </details>
      </div>
    </div>
  </section>
```

---

## feature-grid · 1 variant

### feature-grid.showcase

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }

    .section {
      padding: clamp(56px, 7vw, 104px) clamp(20px, 5vw, 64px);
      background: var(--p-oatmeal);
    }
    .fg__wrap { max-width: 1120px; margin: 0 auto; }

    .fg__header {
      max-width: 760px;
      margin: 0 auto 56px;
      text-align: center;
    }
    .fg__eyebrow {
      font-family: var(--f-script);
      font-size: clamp(26px, 3vw, 36px);
      color: var(--p-sage);
      line-height: 1;
      margin: 0 0 16px;
    }
    .fg__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(30px, 3.6vw, 44px);
      line-height: 1.1;
      letter-spacing: -0.015em;
      color: var(--p-charcoal);
      margin: 0 0 16px;
    }
    .fg__title em { font-family: var(--f-serif-italic); font-style: italic; }
    .fg__sub {
      font-size: 16px;
      line-height: 1.65;
      color: var(--p-ink);
      margin: 0 auto;
      max-width: 60ch;
    }

    .fg__grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: clamp(20px, 2.5vw, 32px);
    }
    .fg__card {
      background: var(--p-white);
      border-radius: 14px;
      padding: 32px 28px;
      border: 1px solid rgba(30,55,53,0.08);
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s;
    }
    .fg__card:hover {
      transform: translateY(-2px);
      box-shadow: 0 16px 32px rgba(16,16,16,0.06);
      border-color: rgba(30,55,53,0.2);
    }

    .fg__icon {
      width: 48px;
      height: 48px;
      border-radius: 12px;
      background: var(--p-cream);
      color: var(--p-sage);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin: 0 0 18px;
    }
    .fg__icon svg { width: 24px; height: 24px; }

    .fg__heading {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: 22px;
      line-height: 1.2;
      color: var(--p-charcoal);
      margin: 0 0 8px;
    }
    .fg__heading em { font-family: var(--f-serif-italic); font-style: italic; }

    .fg__body {
      font-family: var(--f-sans);
      font-size: 14.5px;
      line-height: 1.6;
      color: var(--p-ink);
      margin: 0;
    }

    @media (max-width: 820px) {
      .fg__grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 560px) {
      .fg__grid { grid-template-columns: 1fr; }
    }
    @media (max-width: 430px) {
      .section { padding: 48px 18px; }
      .fg__card { padding: 26px 22px; }
    }
```

```html
<section class="section anchor" id="default" aria-label="Feature grid">
    <div class="fg__wrap">

      <div class="fg__header">
        <p class="fg__eyebrow">What's actually in the room.</p>
        <h2 class="fg__title">Six things you get the day you <em>say yes</em>.</h2>
        <p class="fg__sub">No mystery bonuses, no vague "and more." Here's what's in the container, lovely.</p>
      </div>

      <div class="fg__grid">

        <article class="fg__card">
          <div class="fg__icon" aria-hidden="true">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round">
              <rect x="3" y="4" width="18" height="16" rx="2"/>
              <line x1="3" y1="10" x2="21" y2="10"/>
              <line x1="8" y1="2" x2="8" y2="6"/>
              <line x1="16" y1="2" x2="16" y2="6"/>
            </svg>
          </div>
          <h3 class="fg__heading">Monthly <em>coaching calls</em>.</h3>
          <p class="fg__body">Two live calls a month, recorded. Hot-seat coaching, teaching, and real-time feedback on your actual offer and messaging.</p>
        </article>

        <article class="fg__card">
          <div class="fg__icon" aria-hidden="true">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round">
              <path d="M4 4h10a4 4 0 0 1 0 8H4z"/>
              <path d="M4 12h12a4 4 0 0 1 0 8H4z"/>
            </svg>
          </div>
          <h3 class="fg__heading">The full <em>curriculum</em>.</h3>
          <p class="fg__body">Eight modules of self-paced training covering foundations, offer design, messaging, content, sales, launches, and peaceful scale.</p>
        </article>

        <article class="fg__card">
          <div class="fg__icon" aria-hidden="true">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round">
              <path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/>
            </svg>
          </div>
          <h3 class="fg__heading">Voxer <em>access</em>.</h3>
          <p class="fg__body">Ask me your in-between-calls questions via Voxer. Responses within 48 hours, Monday to Thursday. Fridays are Freedom Fridays for both of us.</p>
        </article>

        <article class="fg__card">
          <div class="fg__icon" aria-hidden="true">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round">
              <circle cx="9" cy="7" r="4"/>
              <path d="M3 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2"/>
              <circle cx="17" cy="7" r="3"/>
              <path d="M21 21v-2a3 3 0 0 0-3-3"/>
            </svg>
          </div>
          <h3 class="fg__heading">The <em>community</em>.</h3>
          <p class="fg__body">A private community of right-fit women, sharing wins, working through objections together, and cheering each other on every week.</p>
        </article>

        <article class="fg__card">
          <div class="fg__icon" aria-hidden="true">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round">
              <path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/>
              <polyline points="14 2 14 8 20 8"/>
              <line x1="8" y1="13" x2="16" y2="13"/>
              <line x1="8" y1="17" x2="13" y2="17"/>
            </svg>
          </div>
          <h3 class="fg__heading">Every <em>workbook</em>, every template.</h3>
          <p class="fg__body">Lifetime access to the Freedom Filled® Resource Vault. Workbooks, SOP templates, email swipes, launch calendars.</p>
        </article>

        <article class="fg__card">
          <div class="fg__icon" aria-hidden="true">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round">
              <path d="M19 14c1.5-1.5 2-3.5 2-5a7 7 0 1 0-14 0c0 1.5.5 3.5 2 5l5 7z"/>
              <circle cx="12" cy="9" r="2.5"/>
            </svg>
          </div>
          <h3 class="fg__heading">Bonus: <em>SMS library</em>.</h3>
          <p class="fg__body">Your FFB membership includes lifetime access to The Social Method® Society library, for the years of Instagram content strategy we've been building.</p>
        </article>

      </div>
    </div>
  </section>
```

---

## footer · 6 variants

### Shared CSS · `components/footer/footer.css`

```css
/* Footer component, Tonic-inspired three-column spread */

.footer {
  background: var(--surface-elevated);
  color: var(--ink-body);
  padding: var(--sp-9) var(--sp-7) var(--sp-5);
  border-top: 1px solid var(--border-hairline);
}

.footer__inner {
  width: 100%;
  max-width: none;
}

/* --- Top: brand block (logo stacked above editorial paragraph) --- */
.footer__brand-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--sp-6);
  max-width: 600px;
  margin-bottom: var(--sp-8);
}

.footer__brand-logo {
  height: 44px;
  width: auto;
  margin: 0;
  align-self: flex-start;
  display: block;
}

.footer__brand-copy {
  font-family: var(--f-sans);
  font-size: 14px;
  line-height: 1.65;
  color: var(--ink-body);
  margin: 0;
  max-width: 64ch;
}

.footer__brand-copy em {
  font-family: var(--f-serif-italic);
  font-style: italic;
  color: var(--ink-heading);
  font-size: 1.05em;
}

/* --- Main row: columns left, social middle, newsletter right --- */
.footer__main {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: var(--sp-7);
  align-items: flex-start;
  margin-bottom: var(--sp-8);
}

.footer__columns {
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: var(--sp-7);
}

.footer__columns--two { grid-template-columns: repeat(2, auto); }
.footer__columns--four { grid-template-columns: repeat(4, auto); }

.footer__col-title {
  font-family: var(--f-sans);
  font-size: 11px;
  font-weight: var(--w-medium);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin: 0 0 var(--sp-4) 0;
}

.footer__col-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
}

.footer__col-list a {
  font-family: var(--f-sans);
  font-size: 14px;
  color: var(--ink-heading);
  text-decoration: none;
  transition: color 0.2s ease;
}

.footer__col-list a:hover {
  color: var(--accent);
}

.footer__social {
  display: flex;
  gap: var(--sp-4);
  align-items: center;
  justify-self: center;
  padding-top: 28px;
}

.footer__social a {
  color: var(--ink-mute);
  transition: color 0.2s ease;
  display: inline-flex;
}

.footer__social a:hover {
  color: var(--accent);
}

/* --- Newsletter block, bottom right --- */
.footer__newsletter {
  max-width: 340px;
  justify-self: end;
  text-align: right;
}

.footer__newsletter-heading {
  font-family: var(--f-serif-display);
  font-weight: var(--w-regular);
  font-size: clamp(20px, 1.6vw, 26px);
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: var(--ink-heading);
  margin: 0 0 var(--sp-5) 0;
  max-width: 22ch;
  margin-left: auto;
}

.footer__newsletter-heading em {
  font-family: var(--f-serif-italic);
  font-style: italic;
}

.footer__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--accent);
  color: var(--accent-on);
  padding: 14px 24px;
  border-radius: var(--r-pill);
  font-family: var(--f-sans);
  font-size: 12px;
  font-weight: var(--w-medium);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background 0.2s ease;
  margin-bottom: var(--sp-3);
}

.footer__cta:hover {
  background: var(--accent-hover);
}

.footer__cta--ghost {
  background: transparent;
  color: var(--ink-heading);
  border: 1px solid var(--border-hairline);
}

.footer__cta--ghost:hover {
  background: var(--ink-heading);
  color: var(--surface-canvas);
  border-color: var(--ink-heading);
}

.footer__cta svg {
  width: 14px;
  height: 14px;
}

/* --- Bottom bar --- */
.footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: var(--sp-5);
  border-top: 1px solid var(--border-hairline);
  flex-wrap: wrap;
  gap: var(--sp-4);
}

.footer__copyright {
  font-family: var(--f-sans);
  font-size: 12px;
  color: var(--ink-mute);
}

.footer__legal-links {
  display: flex;
  gap: var(--sp-5);
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer__legal-links a {
  font-family: var(--f-sans);
  font-size: 12px;
  color: var(--ink-mute);
  text-decoration: none;
  transition: color 0.2s ease;
}

.footer__legal-links a:hover {
  color: var(--ink-heading);
}

/* --- FFM dark variant --- */
[data-brand="ffm"] .footer--dark {
  background: var(--p-charcoal);
  border-top-color: rgba(255, 255, 255, 0.08);
}

[data-brand="ffm"] .footer--dark .footer__brand-copy,
[data-brand="ffm"] .footer--dark .footer__col-list a,
[data-brand="ffm"] .footer--dark .footer__newsletter-heading {
  color: var(--p-oatmeal);
}

[data-brand="ffm"] .footer--dark .footer__brand-copy em {
  color: var(--p-gold-mid);
}

[data-brand="ffm"] .footer--dark .footer__col-title,
[data-brand="ffm"] .footer--dark .footer__copyright,
[data-brand="ffm"] .footer--dark .footer__legal-links a,
[data-brand="ffm"] .footer--dark .footer__social a {
  color: rgba(246, 244, 241, 0.5);
}

[data-brand="ffm"] .footer--dark .footer__bottom {
  border-color: rgba(255, 255, 255, 0.1);
}

[data-brand="ffm"] .footer--dark .footer__brand-logo {
  filter: brightness(0) invert(1);
}

[data-brand="ffm"] .footer--dark .footer__cta--ghost {
  color: var(--p-oatmeal);
  border-color: rgba(255, 255, 255, 0.2);
}

[data-brand="ffm"] .footer--dark .footer__cta--ghost:hover {
  background: var(--p-oatmeal);
  color: var(--p-charcoal);
}

/* --- Responsive --- */
@media (max-width: 960px) {
  .footer {
    padding: var(--sp-8) var(--sp-5) var(--sp-5);
  }
  .footer__brand-row {
    grid-template-columns: 1fr;
    gap: var(--sp-5);
  }
  .footer__main {
    grid-template-columns: 1fr;
    gap: var(--sp-7);
  }
  .footer__columns {
    gap: var(--sp-6);
  }
  .footer__social {
    justify-self: flex-start;
    padding-top: 0;
  }
  .footer__newsletter {
    justify-self: flex-start;
    text-align: left;
    max-width: 100%;
  }
  .footer__newsletter-heading {
    margin-left: 0;
  }
  .footer__bottom {
    justify-content: center;
    text-align: center;
  }
  .footer__legal-links {
    flex-basis: 100%;
    justify-content: center;
  }
}

@media (max-width: 600px) {
  .footer__columns {
    grid-template-columns: 1fr 1fr;
  }
  .footer__columns--two,
  .footer__columns--four {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 400px) {
  .footer__columns,
  .footer__columns--two,
  .footer__columns--four {
    grid-template-columns: 1fr;
  }
}
```

### footer.ffb-two-col

Wrapper context: `<body data-brand="ffb">`

```css
body {
      margin: 0;
      font-family: var(--f-sans);
      -webkit-font-smoothing: antialiased;
    }
```

```html
<footer class="footer" data-brand="ffb" role="contentinfo">
    <div class="footer__inner">
      <div class="footer__brand-row">
        <img src="../../../assets/logos/ffb/ffb-primary.svg" alt="Freedom Filled® Business" class="footer__brand-logo" style="height: 66px;" />
        <p class="footer__brand-copy">Freedom Filled® Business is Tracy's flagship 12-month mentorship for women ready to move beyond content and into the full architecture of a profitable, scalable online business. <em>Build a business that lets you live.</em></p>
      </div>
      <div class="footer__main">
        <div class="footer__columns footer__columns--two">
          <div>
            <h3 class="footer__col-title">The program</h3>
            <ul class="footer__col-list">
              <li><a href="/ffb">Overview</a></li>
              <li><a href="/ffb/curriculum">Curriculum</a></li>
              <li><a href="/ffb/stories">Member stories</a></li>
              <li><a href="/ffb/apply">Apply</a></li>
            </ul>
          </div>
          <div>
            <h3 class="footer__col-title">Tracy</h3>
            <ul class="footer__col-list">
              <li><a href="/about">Her story</a></li>
              <li><a href="/podcast">Podcast</a></li>
              <li><a href="/contact">Contact</a></li>
            </ul>
          </div>
        </div>
        <div class="footer__social">
          <a href="https://instagram.com/tracyharrisco" aria-label="Instagram">
            <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="2" width="20" height="20" rx="5" ry="5"/><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"/><line x1="17.5" y1="6.5" x2="17.51" y2="6.5"/></svg>
          </a>
        </div>
        <div class="footer__newsletter">
          <h3 class="footer__newsletter-heading">Ready for the next step? <em>Apply for FFB</em>.</h3>
          <a href="/ffb/apply" class="footer__cta">Apply for FFB</a>
        </div>
      </div>
      <div class="footer__bottom">
        <p class="footer__copyright">© 2026 Tracy Harris Co · Freedom Filled® is a registered trademark</p>
        <ul class="footer__legal-links">
          <li><a href="/privacy">Privacy</a></li>
          <li><a href="/terms">Terms</a></li>
        </ul>
      </div>
    </div>
  </footer>
```

### footer.ffm-dark-two-col

Wrapper context: `<body data-brand="ffm">`

```css
body {
      margin: 0;
      font-family: var(--f-sans);
      -webkit-font-smoothing: antialiased;
    }
```

```html
<footer class="footer footer--dark" data-brand="ffm" role="contentinfo">
    <div class="footer__inner">
      <div class="footer__brand-row">
        <img src="../../../assets/logos/ffm/ffm-primary.svg" alt="Freedom Filled® Mastermind" class="footer__brand-logo" style="height: 40px;" />
        <p class="footer__brand-copy">The Freedom Filled® Mastermind is Tracy's most intimate and premium offering. Application-based, intentionally small, for women ready to lead at a higher level. <em>Intentionally small. Quietly expensive.</em></p>
      </div>
      <div class="footer__main">
        <div class="footer__columns footer__columns--two">
          <div>
            <h3 class="footer__col-title">The mastermind</h3>
            <ul class="footer__col-list">
              <li><a href="/ffm">Overview</a></li>
              <li><a href="/ffm/retreats">Retreats</a></li>
              <li><a href="/ffm/apply">Apply</a></li>
            </ul>
          </div>
          <div>
            <h3 class="footer__col-title">Tracy</h3>
            <ul class="footer__col-list">
              <li><a href="/about">Her story</a></li>
              <li><a href="/podcast">Podcast</a></li>
              <li><a href="/contact">Contact</a></li>
            </ul>
          </div>
        </div>
        <div class="footer__social">
          <a href="https://instagram.com/tracyharrisco" aria-label="Instagram">
            <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="2" width="20" height="20" rx="5" ry="5"/><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"/><line x1="17.5" y1="6.5" x2="17.51" y2="6.5"/></svg>
          </a>
        </div>
        <div class="footer__newsletter">
          <h3 class="footer__newsletter-heading">Request the <em>Mastermind dossier</em>.</h3>
          <a href="/ffm/apply" class="footer__cta">Request the details</a>
        </div>
      </div>
      <div class="footer__bottom">
        <p class="footer__copyright">© 2026 Tracy Harris Co · By application only</p>
        <ul class="footer__legal-links">
          <li><a href="/privacy">Privacy</a></li>
          <li><a href="/terms">Terms</a></li>
        </ul>
      </div>
    </div>
  </footer>
```

### footer.fresh-minimal

Wrapper context: `<body data-brand="fresh">`

```css
body {
      margin: 0;
      font-family: var(--f-sans);
      -webkit-font-smoothing: antialiased;
    }
```

```html
<footer class="footer" data-brand="fresh" role="contentinfo">
    <div class="footer__inner">
      <div class="footer__brand-row">
        <img src="../../../assets/logos/fresh/fresh-primary.svg" alt="F.R.E.S.H FRAMEWORK®" class="footer__brand-logo" style="height: 54px;" />
        <p class="footer__brand-copy">The F.R.E.S.H FRAMEWORK® is Tracy's personal operating system. Fitness and Nutrition, Relationships, Environment, Self, Hustle. <em>Start with you.</em></p>
      </div>
      <div class="footer__main">
        <div class="footer__columns footer__columns--two">
          <div>
            <h3 class="footer__col-title">The framework</h3>
            <ul class="footer__col-list">
              <li><a href="/fresh">Overview</a></li>
              <li><a href="/quiz">Take the Quiz</a></li>
              <li><a href="/reset">Reset Challenge</a></li>
            </ul>
          </div>
          <div>
            <h3 class="footer__col-title">Tracy</h3>
            <ul class="footer__col-list">
              <li><a href="/about">Her story</a></li>
              <li><a href="/contact">Contact</a></li>
            </ul>
          </div>
        </div>
        <div class="footer__social">
          <a href="https://instagram.com/tracyharrisco" aria-label="Instagram">
            <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="2" width="20" height="20" rx="5" ry="5"/><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"/><line x1="17.5" y1="6.5" x2="17.51" y2="6.5"/></svg>
          </a>
        </div>
        <div class="footer__newsletter">
          <h3 class="footer__newsletter-heading">Not sure where you are? <em>Take the quiz</em>.</h3>
          <a href="/quiz" class="footer__cta">Take the Quiz</a>
        </div>
      </div>
      <div class="footer__bottom">
        <p class="footer__copyright">© 2026 Tracy Harris Co · F.R.E.S.H FRAMEWORK® is a registered trademark of Pure Purpose Pty Ltd</p>
        <ul class="footer__legal-links">
          <li><a href="/privacy">Privacy</a></li>
          <li><a href="/terms">Terms</a></li>
        </ul>
      </div>
    </div>
  </footer>
```

### footer.showcase

```css
body {
      margin: 0;
      font-family: var(--f-sans);
      -webkit-font-smoothing: antialiased;
    }
    .brand-label {
      position: sticky;
      top: 0;
      z-index: 10;
      background: var(--p-charcoal);
      color: var(--p-oatmeal);
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      padding: 10px 24px;
      display: flex;
      justify-content: space-between;
    }
```

```html
<div class="brand-label"><span>TRACY HARRIS CO, three-column spread with right-aligned opt-in</span><code>data-brand="tracy"</code></div>
  <footer class="footer" data-brand="tracy" role="contentinfo">
    <div class="footer__inner">
      <div class="footer__brand-row">
        <img src="../../../assets/logos/tracy/tracy-primary.svg" alt="Tracy Harris" class="footer__brand-logo" />
        <p class="footer__brand-copy">Tracy Harris Co exists to help women build freedom-filled businesses they love. A suite of programs that meet women at every stage of their business journey. <em>Peace, Profit and Presence.</em></p>
      </div>

      <div class="footer__main">
        <div class="footer__columns">
          <div>
            <h3 class="footer__col-title">Programs</h3>
            <ul class="footer__col-list">
              <li><a href="/ffb">Freedom Filled® Business</a></li>
              <li><a href="/ffm">Freedom Filled® Mastermind</a></li>
              <li><a href="/fresh">The F.R.E.S.H FRAMEWORK®</a></li>
              <li><a href="/quiz">Take the Quiz</a></li>
            </ul>
          </div>
          <div>
            <h3 class="footer__col-title">Resources</h3>
            <ul class="footer__col-list">
              <li><a href="/podcast">Podcast</a></li>
              <li><a href="/blog">Blog</a></li>
              <li><a href="/letters">Letters</a></li>
            </ul>
          </div>
          <div>
            <h3 class="footer__col-title">Connect</h3>
            <ul class="footer__col-list">
              <li><a href="/about">Tracy's story</a></li>
              <li><a href="/speaking">Speaking</a></li>
              <li><a href="/contact">Contact</a></li>
            </ul>
          </div>
        </div>

        <div class="footer__social">
          <a href="https://instagram.com/tracyharrisco" aria-label="Instagram">
            <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="2" width="20" height="20" rx="5" ry="5"/><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"/><line x1="17.5" y1="6.5" x2="17.51" y2="6.5"/></svg>
          </a>
        </div>

        <div class="footer__newsletter">
          <h3 class="footer__newsletter-heading">Not sure where to start? <em>Take the quiz</em>.</h3>
          <a href="/quiz" class="footer__cta">Take the Quiz</a>
        </div>
      </div>

      <div class="footer__bottom">
        <p class="footer__copyright">© 2026 Tracy Harris Co · Pure Purpose Pty Ltd</p>
        <ul class="footer__legal-links">
          <li><a href="/privacy">Privacy</a></li>
          <li><a href="/terms">Terms</a></li>
        </ul>
      </div>
    </div>
  </footer>

  <div class="brand-label"><span>FFB, same layout, FFB brand tokens</span><code>data-brand="ffb"</code></div>
  <footer class="footer" data-brand="ffb" role="contentinfo">
    <div class="footer__inner">
      <div class="footer__brand-row">
        <img src="../../../assets/logos/ffb/ffb-primary.svg" alt="Freedom Filled® Business" class="footer__brand-logo" style="height: 66px;" />
        <p class="footer__brand-copy">Freedom Filled® Business is Tracy's flagship 12-month mentorship for women ready to move beyond content and into the full architecture of a profitable, scalable online business. <em>Build a business that lets you live.</em></p>
      </div>
      <div class="footer__main">
        <div class="footer__columns footer__columns--two">
          <div>
            <h3 class="footer__col-title">The program</h3>
            <ul class="footer__col-list">
              <li><a href="/ffb">Overview</a></li>
              <li><a href="/ffb/curriculum">Curriculum</a></li>
              <li><a href="/ffb/stories">Member stories</a></li>
              <li><a href="/ffb/apply">Apply</a></li>
            </ul>
          </div>
          <div>
            <h3 class="footer__col-title">Tracy</h3>
            <ul class="footer__col-list">
              <li><a href="/about">Her story</a></li>
              <li><a href="/podcast">Podcast</a></li>
              <li><a href="/contact">Contact</a></li>
            </ul>
          </div>
        </div>
        <div class="footer__social">
          <a href="https://instagram.com/tracyharrisco" aria-label="Instagram">
            <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="2" width="20" height="20" rx="5" ry="5"/><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"/><line x1="17.5" y1="6.5" x2="17.51" y2="6.5"/></svg>
          </a>
        </div>
        <div class="footer__newsletter">
          <h3 class="footer__newsletter-heading">Ready for the next step? <em>Apply for FFB</em>.</h3>
          <a href="/ffb/apply" class="footer__cta">Apply for FFB</a>
        </div>
      </div>
      <div class="footer__bottom">
        <p class="footer__copyright">© 2026 Tracy Harris Co · Freedom Filled® is a registered trademark</p>
        <ul class="footer__legal-links">
          <li><a href="/privacy">Privacy</a></li>
          <li><a href="/terms">Terms</a></li>
        </ul>
      </div>
    </div>
  </footer>

  <div class="brand-label"><span>FFM, dark charcoal premium variant</span><code>data-brand="ffm" class="footer--dark"</code></div>
  <footer class="footer footer--dark" data-brand="ffm" role="contentinfo">
    <div class="footer__inner">
      <div class="footer__brand-row">
        <img src="../../../assets/logos/ffm/ffm-primary.svg" alt="Freedom Filled® Mastermind" class="footer__brand-logo" style="height: 40px;" />
        <p class="footer__brand-copy">The Freedom Filled® Mastermind is Tracy's most intimate and premium offering. Application-based, intentionally small, for women ready to lead at a higher level. <em>Intentionally small. Quietly expensive.</em></p>
      </div>
      <div class="footer__main">
        <div class="footer__columns footer__columns--two">
          <div>
            <h3 class="footer__col-title">The mastermind</h3>
            <ul class="footer__col-list">
              <li><a href="/ffm">Overview</a></li>
              <li><a href="/ffm/retreats">Retreats</a></li>
              <li><a href="/ffm/apply">Apply</a></li>
            </ul>
          </div>
          <div>
            <h3 class="footer__col-title">Tracy</h3>
            <ul class="footer__col-list">
              <li><a href="/about">Her story</a></li>
              <li><a href="/podcast">Podcast</a></li>
              <li><a href="/contact">Contact</a></li>
            </ul>
          </div>
        </div>
        <div class="footer__social">
          <a href="https://instagram.com/tracyharrisco" aria-label="Instagram">
            <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="2" width="20" height="20" rx="5" ry="5"/><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"/><line x1="17.5" y1="6.5" x2="17.51" y2="6.5"/></svg>
          </a>
        </div>
        <div class="footer__newsletter">
          <h3 class="footer__newsletter-heading">Request the <em>Mastermind dossier</em>.</h3>
          <a href="/ffm/apply" class="footer__cta">Request the details</a>
        </div>
      </div>
      <div class="footer__bottom">
        <p class="footer__copyright">© 2026 Tracy Harris Co · By application only</p>
        <ul class="footer__legal-links">
          <li><a href="/privacy">Privacy</a></li>
          <li><a href="/terms">Terms</a></li>
        </ul>
      </div>
    </div>
  </footer>

  <div class="brand-label"><span>FRESH, minimal two-column</span><code>data-brand="fresh"</code></div>
  <footer class="footer" data-brand="fresh" role="contentinfo">
    <div class="footer__inner">
      <div class="footer__brand-row">
        <img src="../../../assets/logos/fresh/fresh-primary.svg" alt="F.R.E.S.H FRAMEWORK®" class="footer__brand-logo" style="height: 54px;" />
        <p class="footer__brand-copy">The F.R.E.S.H FRAMEWORK® is Tracy's personal operating system. Fitness and Nutrition, Relationships, Environment, Self, Hustle. <em>Start with you.</em></p>
      </div>
      <div class="footer__main">
        <div class="footer__columns footer__columns--two">
          <div>
            <h3 class="footer__col-title">The framework</h3>
            <ul class="footer__col-list">
              <li><a href="/fresh">Overview</a></li>
              <li><a href="/quiz">Take the Quiz</a></li>
              <li><a href="/reset">Reset Challenge</a></li>
            </ul>
          </div>
          <div>
            <h3 class="footer__col-title">Tracy</h3>
            <ul class="footer__col-list">
              <li><a href="/about">Her story</a></li>
              <li><a href="/contact">Contact</a></li>
            </ul>
          </div>
        </div>
        <div class="footer__social">
          <a href="https://instagram.com/tracyharrisco" aria-label="Instagram">
            <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="2" width="20" height="20" rx="5" ry="5"/><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"/><line x1="17.5" y1="6.5" x2="17.51" y2="6.5"/></svg>
          </a>
        </div>
        <div class="footer__newsletter">
          <h3 class="footer__newsletter-heading">Not sure where you are? <em>Take the quiz</em>.</h3>
          <a href="/quiz" class="footer__cta">Take the Quiz</a>
        </div>
      </div>
      <div class="footer__bottom">
        <p class="footer__copyright">© 2026 Tracy Harris Co · F.R.E.S.H FRAMEWORK® is a registered trademark of Pure Purpose Pty Ltd</p>
        <ul class="footer__legal-links">
          <li><a href="/privacy">Privacy</a></li>
          <li><a href="/terms">Terms</a></li>
        </ul>
      </div>
    </div>
  </footer>
```

### footer.statement-mark

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-cream);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }
    .page-pad {
      max-width: 1100px;
      margin: 0 auto;
      padding: 64px 24px;
    }
    .page-pad h2 {
      font-family: var(--f-serif-display);
      font-size: clamp(32px, 4vw, 48px);
      font-weight: 400;
      line-height: 1.1;
      letter-spacing: -0.01em;
      margin: 0 0 16px 0;
    }
    .page-pad p {
      font-size: 16px;
      line-height: 1.65;
      max-width: 62ch;
    }

    /* ---- Official Tracy marks ---- */
    .t-mark { width: auto; fill: currentColor; display: block; }
    .t-mark path, .t-mark circle { fill: currentColor; }
    .t-mark--lockup { height: 40px; }
    .t-wordmark { width: auto; fill: currentColor; display: block; }
    .t-wordmark path, .t-wordmark polygon, .t-wordmark rect, .t-wordmark circle { fill: currentColor; }

    /* -------- FOOTER -------- */
    .mfoot {
      background: var(--p-charcoal);
      color: var(--p-oatmeal);
      position: relative;
      overflow: hidden;
      padding: clamp(48px, 6vw, 80px) clamp(20px, 6vw, 80px) 0;
    }

    .mfoot__top {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 48px;
      align-items: start;
      padding-bottom: clamp(36px, 5vw, 56px);
    }

    .mfoot__signature {
      font-family: var(--f-serif-display);
      font-size: clamp(28px, 3.2vw, 44px);
      line-height: 1.18;
      letter-spacing: -0.005em;
      margin: 0;
      max-width: 15ch;
    }
    .mfoot__signature em {
      font-family: var(--f-serif-italic);
      font-style: italic;
    }

    .mfoot__sec-wrap {
      display: grid;
      gap: 12px;
    }
    .mfoot__sec-title {
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: rgba(246,244,241,0.55);
      margin: 0 0 4px;
    }
    .mfoot__sec-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(140px, auto));
      gap: 12px 48px;
    }
    .mfoot__sec-grid a {
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--p-oatmeal);
      text-decoration: none;
      padding: 4px 0;
      transition: opacity .2s ease;
    }
    .mfoot__sec-grid a:hover { opacity: 0.7; }

    .mfoot__word {
      display: flex;
      justify-content: center;
      align-items: center;
      margin: 0;
      padding: clamp(24px, 3vw, 40px) 0;
      color: var(--p-oatmeal);
    }
    .mfoot__word .t-wordmark {
      height: clamp(72px, 10vw, 140px);
      max-width: 100%;
      fill: currentColor;
    }

    .mfoot__lockup {
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      gap: 32px;
      padding: clamp(24px, 3vw, 36px) 0 clamp(20px, 2vw, 28px);
    }
    .mfoot__bottom-nav {
      display: flex;
      gap: clamp(18px, 3.2vw, 44px);
      align-items: center;
      flex-wrap: wrap;
    }
    .mfoot__bottom-nav--right { justify-content: flex-end; }
    .mfoot__bottom-nav a {
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--p-oatmeal);
      text-decoration: none;
      opacity: 0.85;
      transition: opacity .2s ease;
      padding: 6px 0;
    }
    .mfoot__bottom-nav a:hover { opacity: 1; }
    .mfoot__mark {
      color: var(--p-oatmeal);
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }

    .mfoot__legal {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 18px 0 24px;
      border-top: 1px solid rgba(246,244,241,0.12);
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--p-oatmeal);
      opacity: 0.55;
    }
    .mfoot__legal span,
    .mfoot__legal a {
      color: inherit;
      text-decoration: none;
    }
    .mfoot__legal a:hover { opacity: 0.85; }

    /* -------- MOBILE -------- */
    @media (max-width: 820px) {
      .mfoot { padding: 44px 20px 0; }
      .mfoot__top {
        grid-template-columns: 1fr;
        gap: 28px;
        padding-bottom: 28px;
      }
      .mfoot__signature {
        font-size: clamp(24px, 7vw, 32px);
        max-width: none;
      }
      .mfoot__sec-grid {
        grid-template-columns: auto auto;
        justify-content: flex-start;
        gap: 12px 40px;
      }
      .mfoot__word {
        justify-content: flex-start;
        padding: 20px 0 28px;
      }
      .mfoot__word .t-wordmark { height: clamp(56px, 16vw, 84px); }
      .mfoot__lockup {
        grid-template-columns: 1fr;
        gap: 18px;
        text-align: left;
        padding: 4px 0 8px;
      }
      /* Nav rows stay left-aligned on mobile, no centering */
      .mfoot__bottom-nav {
        justify-content: flex-start;
        gap: 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
      }
      .mfoot__bottom-nav a {
        font-size: 12px;
        padding: 12px 0;
        opacity: 0.95;
        border-bottom: 1px solid rgba(246,244,241,0.08);
        text-align: left;
      }
      .mfoot__bottom-nav--right { justify-content: flex-start; }
      .mfoot__mark {
        justify-content: flex-start;
        align-items: center;
      }
      .mfoot__legal {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        text-align: left;
        font-size: 9px;
        padding: 18px 0 22px;
      }
    }

    /* Fine-tune very narrow phones */
    @media (max-width: 400px) {
      .mfoot__signature { font-size: 22px; }
      .mfoot__sec-grid { gap: 10px 16px; }
      .mfoot__sec-grid a { font-size: 11px; }
      .mfoot__bottom-nav a { font-size: 11px; letter-spacing: 0.18em; }
    }
```

```html
<footer class="mfoot" role="contentinfo">
    <div class="mfoot__top">
      <p class="mfoot__signature">
        Freedom Filled® Business <em>for</em> women building by design.
      </p>

      <div class="mfoot__sec-wrap">
        <p class="mfoot__sec-title">Stay in touch</p>
        <nav class="mfoot__sec-grid" aria-label="Resources and social">
          <a href="/newsletter">Newsletter</a>
          <a href="https://instagram.com/tracyharrisco" target="_blank" rel="noopener">Instagram</a>
          <a href="/podcast">Podcast</a>
          <a href="/youtube" target="_blank" rel="noopener">YouTube</a>
          <a href="/fresh-quiz">FRESH Quiz</a>
          <a href="/speaking">Speaking</a>
        </nav>
      </div>
    </div>

    <div class="mfoot__word" aria-label="Tracy Harris">
      <svg class="t-wordmark" viewBox="0 0 951.88 385.78" aria-hidden="true">
        <path d="M0,68.37V9.26L55.14,0v68.37h52.49l-1.77,7.5h-50.72v131.45c0,24.7,10.59,37.49,32.64,37.49,12.79,0,22.5-8.82,26.47-15.44l6.62,3.97c-8.82,20.73-35.73,42.79-65.28,42.79-34.85,0-55.58-14.12-55.58-67.49V68.37Z"/>
        <path d="M296.86,72.34c13.67,11.91,15,33.08,3.09,46.32-11.91,13.67-32.2,15.44-46.31,3.53-6.62-6.18-10.15-13.67-10.15-21.61,0-4.85-18.08-.44-34.4,26.03v91.75c0,24.7,2.21,41.9,18.08,46.32v7.5h-91.31v-7.5c17.2-5.29,17.64-23.38,17.64-46.32v-97.92c0-15-3.97-21.61-22.06-30.88v-7.5l77.63-17.64v49.84c23.38-36.61,41.46-43.23,52.05-47.64,9.26-3.97,26.02-2.21,35.73,5.73Z"/>
        <path d="M514.31,241.72l7.5,3.09c-3.53,14.12-23.82,31.32-51.61,31.32,0,0-39.26,0-44.11-35.73-6.62,19.41-32.64,35.73-63.96,35.73,0,0-50.73,0-50.73-44.99,0-48.08,37.05-52.49,114.25-71.9v-27.35c0-45.87-25.58-68.81-56.02-52.93-14.12,7.06-15.88,14.56-12.79,15,6.62.88,12.35,3.97,16.32,9.7,7.94,11.47,4.85,26.91-6.62,34.85-11.47,7.5-26.91,4.85-34.85-6.62-5.29-8.38-5.73-18.97-1.32-26.47,4.41-7.5,10.15-19.41,34.41-32.2,19.85-10.59,42.79-8.82,42.79-8.82,57.78,0,73.66,36.17,73.66,88.22v65.72s-.44,30.88,21.17,30.88c0,0,9.26,0,11.91-7.5ZM425.65,167.18c-43.23,9.7-57.78,30.44-57.78,52.93,0,0,0,29.11,28.67,29.11,15,0,25.14-11.91,29.11-22.5v-59.55Z"/>
        <path d="M712.81,219.23c-6.18,22.5-32.64,56.9-87.78,56.9s-97.04-55.14-97.04-106.75,38.82-104.98,114.24-104.98c31.32,0,50.29,12.79,57.78,19.41,7.5,6.62,11.91,18.97,8.82,29.55-4.41,15.44-20.29,25.58-36.17,21.17-15.88-3.97-25.14-20.29-20.73-35.73,1.77-8.38,7.06-14.12,13.67-17.64,3.97-1.76-5.73-9.26-23.38-9.26-15.88,0-58.67,13.67-58.67,89.54,0,47.64,25.58,68.81,56.02,75.43,22.06,4.85,56.9-7.06,67.05-21.61l6.18,3.97Z"/>
        <path d="M951.88,68.37v7.5c-9.26,0-29.55.88-57.78,68.81l-67.49,177.76c-11.47,30-24.7,42.35-33.08,48.96-7.94,6.62-23.38,9.26-33.97,4.41-15.44-7.06-22.05-25.14-15.44-40.58,7.06-15.44,25.14-22.5,40.58-15.44,7.94,3.53,12.79,10.59,15,18.08,1.77,5.29,12.35,2.21,19.41-16.32l16.76-45.43c-27.35-63.08-83.37-183.06-83.37-183.06-7.06-17.2-21.17-17.2-27.79-17.2v-7.5h104.1v7.5c-22.93,0-11.47,26.91-11.47,26.91l46.76,99.69,23.38-59.55s29.11-67.49-22.05-67.05v-7.5h86.45Z"/>
        <polygon points="53.73 318.72 53.73 384.88 46.04 384.88 46.04 355.28 8.61 355.28 8.61 384.88 .92 384.88 .92 318.72 8.61 318.72 8.61 347.95 46.04 347.95 46.04 318.72 53.73 318.72"/>
        <path d="M168.14,318.26h-6.43l-30.8,66.62h8.19l8.02-17.69h35.34l8.03,17.69h8.45l-30.8-66.62ZM179.11,359.95h-28.63l14.35-31.42,14.28,31.42Z"/>
        <path d="M310.92,357.45c10.88-2.28,17.29-9.28,17.29-19.1v-.18c0-4.81-1.9-9.47-5.22-12.79-4.3-4.3-10.99-6.66-18.84-6.66h-28.03v66.16h7.69v-26.17h18.43l20.12,26.17h9.75l-21.19-27.43ZM283.81,326.05h20.07c10.42,0,16.64,4.6,16.64,12.3v.18c0,7.86-6.64,12.94-16.91,12.94h-19.8v-25.42Z"/>
        <path d="M443.83,357.45c10.88-2.28,17.29-9.28,17.29-19.1v-.18c0-4.81-1.9-9.47-5.22-12.79-4.3-4.3-10.99-6.66-18.84-6.66h-28.03v66.16h7.69v-26.17h18.43l20.12,26.17h9.75l-21.19-27.43ZM416.72,326.05h20.07c10.42,0,16.64,4.6,16.64,12.3v.18c0,7.86-6.64,12.94-16.91,12.94h-19.8v-25.42Z"/>
        <rect x="542.57" y="318.72" width="7.69" height="66.16"/>
        <path d="M679.65,366.86v.18c0,11.04-9.22,18.74-22.43,18.74-10.16,0-18.32-3.24-26.45-10.49l-1.1-.99,5.06-5.79,1.13,1.04c7.01,6.47,13.08,8.99,21.63,8.99s14.47-4.54,14.47-11.04v-.18c0-5.6-2.65-9.16-16.66-11.98-15.77-3.19-22.5-8.94-22.5-19.24v-.18c0-10.32,9.37-18.11,21.8-18.11,8.97,0,15.52,2.32,22.6,8l1.17.94-4.89,6.08-1.18-1.01c-5.41-4.68-10.93-6.77-17.88-6.77-8.07,0-13.93,4.38-13.93,10.41v.18c0,4.83,1.3,9.08,17.21,12.34,15.18,3.09,21.95,8.92,21.95,18.88Z"/>
        <circle cx="913.63" cy="254.68" r="21.87"/>
      </svg>
    </div>

    <div class="mfoot__lockup">
      <nav class="mfoot__bottom-nav" aria-label="Footer navigation left">
        <a href="/">Home</a>
        <a href="/about">About</a>
        <a href="/ffb">FFB</a>
        <a href="/ffm">FFM</a>
      </nav>

      <a href="/" class="mfoot__mark" aria-label="Tracy Harris home">
        <svg class="t-mark t-mark--lockup" viewBox="0 0 263.98 382.72" aria-hidden="true">
          <path d="M0,94.76V12.84L76.42,0v94.76h72.75l-2.45,10.39h-70.3v182.19c0,34.24,14.67,51.97,45.24,51.97,17.73,0,31.18-12.23,36.68-21.4l9.17,5.5c-12.23,28.73-49.52,59.3-90.48,59.3-48.3,0-77.03-19.56-77.03-93.54V94.76Z"/>
          <circle cx="233.68" cy="352.41" r="30.31"/>
        </svg>
      </a>

      <nav class="mfoot__bottom-nav mfoot__bottom-nav--right" aria-label="Footer navigation right">
        <a href="/podcast">Podcast</a>
        <a href="/blog">Blog</a>
        <a href="/contact">Contact</a>
        <a href="/apply">Apply</a>
      </nav>
    </div>

    <div class="mfoot__legal">
      <span>© Tracy Harris Co · Freedom Filled® is a registered trademark</span>
      <span><a href="/privacy">Privacy</a> &nbsp;·&nbsp; <a href="/terms">Terms</a> &nbsp;·&nbsp; <a href="/contact">Contact</a></span>
    </div>
  </footer>
```

### footer.tracy-three-col

Wrapper context: `<body data-brand="tracy">`

```css
body {
      margin: 0;
      font-family: var(--f-sans);
      -webkit-font-smoothing: antialiased;
    }
```

```html
<footer class="footer" data-brand="tracy" role="contentinfo">
    <div class="footer__inner">
      <div class="footer__brand-row">
        <img src="../../../assets/logos/tracy/tracy-primary.svg" alt="Tracy Harris" class="footer__brand-logo" />
        <p class="footer__brand-copy">Tracy Harris Co exists to help women build freedom-filled businesses they love. A suite of programs that meet women at every stage of their business journey. <em>Peace, Profit and Presence.</em></p>
      </div>

      <div class="footer__main">
        <div class="footer__columns">
          <div>
            <h3 class="footer__col-title">Programs</h3>
            <ul class="footer__col-list">
              <li><a href="/ffb">Freedom Filled® Business</a></li>
              <li><a href="/ffm">Freedom Filled® Mastermind</a></li>
              <li><a href="/fresh">The F.R.E.S.H FRAMEWORK®</a></li>
              <li><a href="/quiz">Take the Quiz</a></li>
            </ul>
          </div>
          <div>
            <h3 class="footer__col-title">Resources</h3>
            <ul class="footer__col-list">
              <li><a href="/podcast">Podcast</a></li>
              <li><a href="/blog">Blog</a></li>
              <li><a href="/letters">Letters</a></li>
            </ul>
          </div>
          <div>
            <h3 class="footer__col-title">Connect</h3>
            <ul class="footer__col-list">
              <li><a href="/about">Tracy's story</a></li>
              <li><a href="/speaking">Speaking</a></li>
              <li><a href="/contact">Contact</a></li>
            </ul>
          </div>
        </div>

        <div class="footer__social">
          <a href="https://instagram.com/tracyharrisco" aria-label="Instagram">
            <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="2" width="20" height="20" rx="5" ry="5"/><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"/><line x1="17.5" y1="6.5" x2="17.51" y2="6.5"/></svg>
          </a>
        </div>

        <div class="footer__newsletter">
          <h3 class="footer__newsletter-heading">Not sure where to start? <em>Take the quiz</em>.</h3>
          <a href="/quiz" class="footer__cta">Take the Quiz</a>
        </div>
      </div>

      <div class="footer__bottom">
        <p class="footer__copyright">© 2026 Tracy Harris Co · Pure Purpose Pty Ltd</p>
        <ul class="footer__legal-links">
          <li><a href="/privacy">Privacy</a></li>
          <li><a href="/terms">Terms</a></li>
        </ul>
      </div>
    </div>
  </footer>
```

---

## freebies · 1 variant

### Shared CSS · `components/freebies/freebies.css`

```css
/* Freebies, zigzag resource cards with alternating image/text layout */

.freebies {
  background: var(--surface-canvas);
  padding: var(--sp-9) var(--sp-7);
}

.freebies--elevated {
  background: var(--surface-elevated);
}

.freebies__inner {
  max-width: 960px;
  margin: 0 auto;
}

.freebies__header {
  text-align: center;
  margin: 0 0 var(--sp-8) 0;
}

.freebies__eyebrow {
  font-family: var(--f-sans);
  font-size: 11px;
  font-weight: var(--w-medium);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin: 0 0 var(--sp-3) 0;
}

.freebies__title {
  font-family: var(--f-serif-display);
  font-weight: var(--w-regular);
  font-size: clamp(48px, 6vw, 80px);
  line-height: 1.0;
  letter-spacing: -0.02em;
  color: var(--ink-heading);
  margin: 0;
}

.freebies__title em { font-family: var(--f-serif-italic); font-style: italic; }

/* Grid of resource cards */
.freebies__grid {
  display: flex;
  flex-direction: column;
  gap: var(--sp-6);
}

/* Each resource: image + text side by side, alternating */
.freebies__item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-5);
  align-items: center;
  background: var(--p-white);
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(16, 16, 16, 0.04);
  transition: box-shadow 0.3s ease;
}

.freebies__item:hover {
  box-shadow: 0 8px 28px rgba(16, 16, 16, 0.08);
}

.freebies__item:nth-child(even) {
  direction: rtl;
}

.freebies__item:nth-child(even) > * {
  direction: ltr;
}

.freebies__image {
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--surface-elevated);
}

.freebies__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.freebies__item:hover .freebies__image img {
  transform: scale(1.03);
}

.freebies__body {
  padding: var(--sp-6);
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
}

.freebies__tag {
  font-family: var(--f-sans);
  font-size: 10px;
  font-weight: var(--w-semibold);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent-on);
  background: var(--accent);
  padding: 5px 14px;
  border-radius: var(--r-pill);
  align-self: flex-start;
}

.freebies__name {
  font-family: var(--f-serif-display);
  font-weight: var(--w-regular);
  font-size: clamp(20px, 2.5vw, 28px);
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--ink-heading);
  margin: 0;
}

.freebies__name em { font-family: var(--f-serif-italic); font-style: italic; }

.freebies__desc {
  font-family: var(--f-sans);
  font-size: 14px;
  line-height: 1.6;
  color: var(--ink-body);
  margin: 0;
}

.freebies__link {
  font-family: var(--f-sans);
  font-size: 13px;
  font-weight: var(--w-medium);
  color: var(--accent);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: var(--sp-2);
  transition: gap 0.2s;
}

.freebies__link:hover { gap: 12px; }

.freebies__link svg {
  width: 14px;
  height: 14px;
}

@media (max-width: 700px) {
  .freebies__item,
  .freebies__item:nth-child(even) {
    grid-template-columns: 1fr;
    direction: ltr;
  }
  .freebies__image { aspect-ratio: 16/9; }
}
```

### freebies.showcase

```css
body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; }
    .brand-label {
      position: sticky; top: 0; z-index: 10;
      background: var(--p-charcoal); color: var(--p-oatmeal);
      font-family: var(--f-sans); font-size: 11px; font-weight: 500;
      letter-spacing: 0.2em; text-transform: uppercase;
      padding: 10px 24px;
      display: flex; justify-content: space-between;
    }
```

```html
<!-- FREEBIES ZIGZAG -->
  <div class="brand-label"><span>FREEBIES, zigzag resource cards</span><code>class="freebies"</code></div>
  <section class="freebies freebies--elevated" data-brand="tracy">
    <div class="freebies__inner">
      <header class="freebies__header">
        <p class="freebies__eyebrow">Free downloads to elevate your game</p>
        <h2 class="freebies__title">Freebies</h2>
      </header>

      <div class="freebies__grid">

        <article class="freebies__item">
          <div class="freebies__image">
            <img src="https://static.showit.co/1200/C8lYkDDfclRnqya_MiRFow/173187/062a3960.jpg" alt="Tracy Harris portrait." />
          </div>
          <div class="freebies__body">
            <span class="freebies__tag">Free worksheet</span>
            <h3 class="freebies__name">Write Your Own Definition of <em>Success</em></h3>
            <p class="freebies__desc">Stop borrowing someone else's version. This worksheet helps you get clear on what success actually looks like for you, then build a plan to live it out.</p>
            <a href="#" class="freebies__link">
              Download free
              <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"/><polyline points="19 12 12 19 5 12"/></svg>
            </a>
          </div>
        </article>

        <article class="freebies__item">
          <div class="freebies__image">
            <img src="https://static.showit.co/1200/Yy3opX4aRY-pnfn17TTANA/173187/web_mwh_coralsea_271022_422.jpg" alt="Retreat setting." />
          </div>
          <div class="freebies__body">
            <span class="freebies__tag">Free download</span>
            <h3 class="freebies__name">How to Start a Podcast from <em>Scratch</em></h3>
            <p class="freebies__desc">Tracy started with zero listeners and built a top-ranked show with 500+ episodes. Here are the 3 steps she'd take if starting again today.</p>
            <a href="#" class="freebies__link">
              Download free
              <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"/><polyline points="19 12 12 19 5 12"/></svg>
            </a>
          </div>
        </article>

        <article class="freebies__item">
          <div class="freebies__image">
            <img src="https://static.showit.co/1200/MJXzvmfxo5phsGlVN2WYGA/173187/062a4190.jpg" alt="Business planning." />
          </div>
          <div class="freebies__body">
            <span class="freebies__tag">Free mini-course</span>
            <h3 class="freebies__name">5-Day Email List Building <em>Mini-Course</em></h3>
            <p class="freebies__desc">Five days, five lessons, one goal: build an email list that actually converts. No complicated funnels required.</p>
            <a href="#" class="freebies__link">
              Start free
              <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
            </a>
          </div>
        </article>

      </div>
    </div>
  </section>
```

---

## guarantee · 3 variants

### guarantee.badge

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body { font-family: var(--f-sans); background: var(--p-oatmeal); color: var(--p-charcoal); -webkit-font-smoothing: antialiased; }
    .page { padding: clamp(14px, 1.6vw, 24px); }

    .badge-card { background: var(--p-aztek); color: var(--p-oatmeal); border-radius: 14px; padding: clamp(48px, 6vw, 72px) clamp(24px, 5vw, 56px); max-width: 720px; margin: 0 auto 32px; display: grid; grid-template-columns: auto 1fr; gap: clamp(24px, 4vw, 48px); align-items: center; position: relative; overflow: hidden; }
    .badge-card::after { content: ""; position: absolute; inset: -30% auto auto -20%; width: 380px; height: 380px; background: radial-gradient(circle, rgba(110,142,119,0.18) 0%, transparent 70%); pointer-events: none; }

    .badge { position: relative; z-index: 1; width: clamp(160px, 16vw, 180px); height: clamp(160px, 16vw, 180px); aspect-ratio: 1 / 1; flex-shrink: 0; border-radius: 50%; background: var(--p-oatmeal); color: var(--p-aztek); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 16px; box-shadow: 0 14px 32px rgba(0,0,0,0.18); border: 2px solid var(--p-oatmeal); outline: 2px dashed rgba(246,244,241,0.35); outline-offset: 8px; }
    .badge__num { font-family: var(--f-serif-display); font-weight: 400; font-size: clamp(38px, 5vw, 54px); line-height: 1; color: var(--p-aztek); margin: 0; }
    .badge__unit { font-family: var(--f-sans); font-size: 10px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; margin: 4px 0 10px; }
    .badge__line { width: 30px; height: 1px; background: var(--p-aztek); margin: 0 0 10px; opacity: 0.4; }
    .badge__label { font-family: var(--f-sans); font-size: 9px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--p-aztek); line-height: 1.3; opacity: 0.75; }

    .badge-card__copy { position: relative; z-index: 1; min-width: 0; }
    .badge-card__eyebrow { font-family: var(--f-sans); font-size: 10px; font-weight: 600; letter-spacing: 0.28em; text-transform: uppercase; color: var(--p-sage); margin: 0 0 10px; }
    .badge-card__title { font-family: var(--f-serif-display); font-weight: 400; font-size: clamp(26px, 3vw, 36px); line-height: 1.15; letter-spacing: -0.01em; color: var(--p-oatmeal); margin: 0 0 12px; }
    .badge-card__title em { font-family: var(--f-serif-italic); font-style: italic; }
    .badge-card__body { font-family: var(--f-sans); font-size: 15px; line-height: 1.6; color: var(--p-oatmeal); opacity: 0.82; margin: 0 0 14px; }
    .badge-card__legal { font-family: var(--f-sans); font-size: 11px; line-height: 1.55; color: var(--p-oatmeal); opacity: 0.6; margin: 0; }

    @media (max-width: 640px) {
      .badge-card { grid-template-columns: 1fr; text-align: center; padding: 40px 24px; }
      .badge { margin: 0 auto; }
      .badge-card__copy { text-align: center; }
    }
```

```html
<div class="page">
    <section class="badge-card" aria-label="Badge guarantee">
      <div class="badge" aria-hidden="true">
        <p class="badge__num">14</p>
        <p class="badge__unit">Days</p>
        <div class="badge__line"></div>
        <p class="badge__label">No-questions refund</p>
      </div>

      <div class="badge-card__copy">
        <p class="badge-card__eyebrow">Risk-reversal</p>
        <h2 class="badge-card__title">A full <em>14 days</em> to be sure.</h2>
        <p class="badge-card__body">
          If the intensive isn't what you needed, email me within 14 days of purchase and I'll refund you in full. That's it. No clauses, no interviews, no proof required.
        </p>
        <p class="badge-card__legal">
          Email hello@tracyharris.co with your order number. Refunds processed within 5 business days.
        </p>
      </div>
    </section>
  </div>
```

### guarantee.editorial

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body { font-family: var(--f-sans); background: var(--p-oatmeal); color: var(--p-charcoal); -webkit-font-smoothing: antialiased; }
    .page { padding: clamp(14px, 1.6vw, 24px); }

    .editorial { background: var(--p-cream); border-radius: 14px; padding: clamp(48px, 6vw, 80px) clamp(24px, 5vw, 64px); max-width: 720px; margin: 0 auto 32px; text-align: center; position: relative; overflow: hidden; }
    .editorial::before { content: ""; position: absolute; inset: 20px; border: 1px solid rgba(30,55,53,0.18); border-radius: 8px; pointer-events: none; }
    .editorial__eyebrow { font-family: var(--f-sans); font-size: 11px; font-weight: 600; letter-spacing: 0.28em; text-transform: uppercase; color: var(--p-aztek); margin: 0 0 20px; }
    .editorial__eyebrow::before, .editorial__eyebrow::after { content: "·"; margin: 0 10px; opacity: 0.5; }
    .editorial__title { font-family: var(--f-serif-display); font-weight: 400; font-size: clamp(34px, 4.4vw, 56px); line-height: 1.04; letter-spacing: -0.02em; color: var(--p-charcoal); margin: 0 0 24px; }
    .editorial__title em { font-family: var(--f-serif-italic); font-style: italic; }
    .editorial__body { font-family: var(--f-sans); font-size: 17px; line-height: 1.7; color: var(--p-ink); margin: 0 auto 28px; max-width: 46ch; }
    .editorial__body strong { color: var(--p-charcoal); }
    .editorial__sig { font-family: var(--f-script); font-size: 44px; line-height: 1; color: var(--p-sage); margin: 0; }

    @media (max-width: 640px) { .editorial__title { font-size: 28px; } }
```

```html
<div class="page">
    <section class="editorial" aria-label="Editorial guarantee">
      <p class="editorial__eyebrow">My promise</p>
      <h2 class="editorial__title">My <em>promise</em> to you.</h2>
      <p class="editorial__body">
        Give this your full attention for the first 14 days. Show up, do the work, use the framework. If you don't feel clearer about your message and your next move, <strong>tell me and I'll refund you in full</strong>. No hoops, no interrogation. I'd rather part as friends than keep money that isn't mine to keep.
      </p>
      <p class="editorial__sig">Xx Tracy</p>
    </section>
  </div>
```

### guarantee.showcase

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }
    .page { padding: clamp(14px, 1.6vw, 24px); }
    .section-label {
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--p-mute);
      margin: 0 0 8px;
      padding: 10px 12px;
    }

    /* =============================================== */
    /* VARIANT A, EDITORIAL GUARANTEE                 */
    /* =============================================== */
    .editorial {
      background: var(--p-cream);
      border-radius: 14px;
      padding: clamp(48px, 6vw, 80px) clamp(24px, 5vw, 64px);
      max-width: 720px;
      margin: 0 auto 32px;
      text-align: center;
      position: relative;
      overflow: hidden;
    }
    .editorial::before {
      content: "";
      position: absolute;
      inset: 20px;
      border: 1px solid rgba(30,55,53,0.18);
      border-radius: 8px;
      pointer-events: none;
    }

    .editorial__eyebrow {
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--p-aztek);
      margin: 0 0 20px;
    }
    .editorial__eyebrow::before,
    .editorial__eyebrow::after {
      content: "·";
      margin: 0 10px;
      opacity: 0.5;
    }

    .editorial__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(34px, 4.4vw, 56px);
      line-height: 1.04;
      letter-spacing: -0.02em;
      color: var(--p-charcoal);
      margin: 0 0 24px;
    }
    .editorial__title em { font-family: var(--f-serif-italic); font-style: italic; }

    .editorial__body {
      font-family: var(--f-sans);
      font-size: 17px;
      line-height: 1.7;
      color: var(--p-ink);
      margin: 0 auto 28px;
      max-width: 46ch;
    }
    .editorial__body strong { color: var(--p-charcoal); }

    .editorial__sig {
      font-family: var(--f-script);
      font-size: 44px;
      line-height: 1;
      color: var(--p-sage);
      margin: 0;
    }

    /* =============================================== */
    /* VARIANT B, BADGE GUARANTEE                     */
    /* =============================================== */
    .badge-card {
      background: var(--p-aztek);
      color: var(--p-oatmeal);
      border-radius: 14px;
      padding: clamp(48px, 6vw, 72px) clamp(24px, 5vw, 56px);
      max-width: 720px;
      margin: 0 auto 32px;
      display: grid;
      grid-template-columns: auto 1fr;
      gap: clamp(24px, 4vw, 48px);
      align-items: center;
      position: relative;
      overflow: hidden;
    }
    .badge-card::after {
      content: "";
      position: absolute;
      inset: -30% auto auto -20%;
      width: 380px; height: 380px;
      background: radial-gradient(circle, rgba(110,142,119,0.18) 0%, transparent 70%);
      pointer-events: none;
    }

    /* the badge / seal */
    .badge {
      position: relative;
      z-index: 1;
      width: clamp(140px, 16vw, 180px);
      aspect-ratio: 1 / 1;
      border-radius: 50%;
      background: var(--p-oatmeal);
      color: var(--p-aztek);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 16px;
      box-shadow: 0 14px 32px rgba(0,0,0,0.18);
      border: 2px solid var(--p-oatmeal);
      outline: 2px dashed rgba(246,244,241,0.35);
      outline-offset: 8px;
    }
    .badge__num {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(40px, 5vw, 54px);
      line-height: 1;
      color: var(--p-aztek);
      margin: 0;
    }
    .badge__unit {
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      margin: 4px 0 10px;
    }
    .badge__line {
      width: 30px; height: 1px;
      background: var(--p-aztek);
      margin: 0 0 10px;
      opacity: 0.4;
    }
    .badge__label {
      font-family: var(--f-sans);
      font-size: 9px;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--p-aztek);
      line-height: 1.3;
      opacity: 0.75;
    }

    /* badge card copy */
    .badge-card__copy { position: relative; z-index: 1; min-width: 0; }
    .badge-card__eyebrow {
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--p-sage);
      margin: 0 0 10px;
    }
    .badge-card__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(26px, 3vw, 36px);
      line-height: 1.15;
      letter-spacing: -0.01em;
      color: var(--p-oatmeal);
      margin: 0 0 12px;
    }
    .badge-card__title em { font-family: var(--f-serif-italic); font-style: italic; }
    .badge-card__body {
      font-family: var(--f-sans);
      font-size: 15px;
      line-height: 1.6;
      color: var(--p-oatmeal);
      opacity: 0.82;
      margin: 0 0 14px;
    }
    .badge-card__legal {
      font-family: var(--f-sans);
      font-size: 11px;
      line-height: 1.55;
      color: var(--p-oatmeal);
      opacity: 0.6;
      margin: 0;
    }

    @media (max-width: 640px) {
      .editorial__title { font-size: 28px; }
      .badge-card {
        grid-template-columns: 1fr;
        text-align: center;
        padding: 40px 24px;
      }
      .badge { margin: 0 auto; }
      .badge-card__copy { text-align: center; }
    }
```

```html
<div class="page">

    <!-- VARIANT A: EDITORIAL -->
    <p class="section-label">Variant · Editorial guarantee</p>
    <section class="editorial" id="editorial" aria-label="Editorial guarantee">
      <p class="editorial__eyebrow">My promise</p>
      <h2 class="editorial__title">My <em>promise</em> to you.</h2>
      <p class="editorial__body">
        Give this your full attention for the first 14 days. Show up, do the work, use the framework. If you don't feel clearer about your message and your next move, <strong>tell me and I'll refund you in full</strong>. No hoops, no interrogation. I'd rather part as friends than keep money that isn't mine to keep.
      </p>
      <p class="editorial__sig">Xx Tracy</p>
    </section>

    <!-- VARIANT B: BADGE -->
    <p class="section-label">Variant · Badge guarantee</p>
    <section class="badge-card" id="badge" aria-label="Badge guarantee">

      <div class="badge" aria-hidden="true">
        <p class="badge__num">14</p>
        <p class="badge__unit">Days</p>
        <div class="badge__line"></div>
        <p class="badge__label">No-questions refund</p>
      </div>

      <div class="badge-card__copy">
        <p class="badge-card__eyebrow">Risk-reversal</p>
        <h2 class="badge-card__title">A full <em>14 days</em> to be sure.</h2>
        <p class="badge-card__body">
          If the intensive isn't what you needed, email me within 14 days of purchase and I'll refund you in full. That's it. No clauses, no interviews, no proof required.
        </p>
        <p class="badge-card__legal">
          Email hello@tracyharris.co with your order number. Refunds processed within 5 business days.
        </p>
      </div>

    </section>

  </div>
```

---

## hero · 30 variants

### Shared CSS · `components/hero/hero.css`

```css
/* Hero component, pure semantic tokens. Never reference primitives directly. */

.hero {
  background: var(--surface-canvas);
  color: var(--ink-body);
  padding: var(--sp-8) var(--sp-5);
  min-height: 80vh;
  display: flex;
  align-items: center;
}

.hero__inner {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
  display: grid;
  gap: var(--sp-7);
}

.hero--split-right .hero__inner,
.hero--split-left .hero__inner {
  grid-template-columns: 1fr 1fr;
  align-items: center;
}

.hero--split-left .hero__content {
  order: 2;
}

.hero--text-only .hero__inner {
  grid-template-columns: 1fr;
  max-width: 760px;
  text-align: center;
}

.hero--stacked .hero__inner {
  grid-template-columns: 1fr;
}

@media (max-width: 820px) {
  .hero--split-right .hero__inner,
  .hero--split-left .hero__inner {
    grid-template-columns: 1fr;
  }
  .hero--split-left .hero__content {
    order: 0;
  }
}

.hero__eyebrow {
  font-family: var(--f-sans);
  font-weight: var(--w-medium);
  font-size: var(--s-sm);
  letter-spacing: var(--t-widest);
  text-transform: uppercase;
  color: var(--type-subheading-color);
  margin: 0 0 var(--sp-4) 0;
}

.hero__logo {
  display: block;
  height: 30px;
  width: auto;
  margin: 0 0 var(--sp-8) 0;
}

.hero--text-only .hero__logo {
  margin-left: auto;
  margin-right: auto;
}

[data-brand="ffm"].hero--dark .hero__logo {
  filter: brightness(0) invert(1);
}

.hero__title {
  font-family: var(--type-display-family);
  font-weight: var(--w-regular);
  font-size: clamp(var(--s-5xl), 7vw, var(--s-7xl));
  line-height: var(--l-tight);
  letter-spacing: var(--t-tight);
  color: var(--type-display-color);
  margin: 0 0 var(--sp-5) 0;
}

.hero__title em {
  font-family: var(--f-serif-italic);
  font-style: italic;
}

.hero__script {
  font-family: var(--type-script-family, var(--f-script));
  color: var(--type-script-color, var(--accent));
  font-size: 1.2em;
  font-style: normal;
}

.hero__supporting {
  font-family: var(--f-sans);
  font-size: var(--s-lg);
  line-height: var(--l-relaxed);
  color: var(--ink-body);
  max-width: 50ch;
  margin: 0 0 var(--sp-6) 0;
}

.hero--text-only .hero__supporting {
  margin-left: auto;
  margin-right: auto;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-5);
  align-items: center;
}

.hero--text-only .hero__actions {
  justify-content: center;
}

@media (max-width: 820px) {
  .hero--text-only .hero__actions {
    justify-content: flex-start;
  }
}

.hero__cta {
  display: inline-block;
  background: var(--accent);
  color: var(--accent-on);
  padding: var(--sp-4) var(--sp-6);
  border-radius: var(--r-none);
  text-decoration: none;
  font-family: var(--f-sans);
  font-weight: var(--w-medium);
  font-size: var(--s-sm);
  letter-spacing: var(--t-wider);
  text-transform: uppercase;
  transition: background-color 0.2s ease;
}

.hero__cta:hover {
  background: var(--accent-hover);
}

[data-brand="ffm"] .hero__cta {
  background: var(--accent-gradient);
  color: var(--accent-on);
}

/* FFM dark variant, charcoal canvas, white body text, gold as accent */
[data-brand="ffm"].hero--dark {
  background: var(--p-charcoal);
}
[data-brand="ffm"].hero--dark .hero__eyebrow {
  color: var(--p-gold-mid);
}
[data-brand="ffm"].hero--dark .hero__title {
  color: var(--p-white);
}
[data-brand="ffm"].hero--dark .hero__title em {
  color: var(--p-gold-mid);
}
[data-brand="ffm"].hero--dark .hero__supporting {
  color: var(--p-white);
  opacity: 0.92;
}
[data-brand="ffm"].hero--dark .hero__secondary {
  color: var(--p-white);
  border-bottom-color: var(--p-gold-mid);
}
[data-brand="ffm"].hero--dark .hero__cta {
  background: var(--accent-gradient);
  color: var(--p-charcoal);
  font-weight: var(--w-semibold);
}

.hero__secondary {
  font-family: var(--f-sans);
  font-size: var(--s-sm);
  font-weight: var(--w-medium);
  letter-spacing: var(--t-wider);
  text-transform: uppercase;
  color: var(--ink-heading);
  text-decoration: none;
  border-bottom: 1px solid var(--border-divider);
  padding-bottom: 2px;
}

.hero__media {
  width: 100%;
  aspect-ratio: 4/5;
  background: var(--surface-elevated);
  overflow: hidden;
}

.hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Brand signature flourishes */
[data-brand="ffm"] .hero__title {
  font-style: normal;
}

[data-brand="fresh"] .hero__pillars {
  display: flex;
  gap: var(--sp-3);
  margin-top: var(--sp-5);
}

[data-brand="fresh"] .hero__pillar {
  width: 10px;
  height: 10px;
  border-radius: var(--r-pill);
}

/* --- Marquee layout: centered copy + auto-scrolling photo strip at bottom --- */
.hero--marquee {
  position: relative;
  min-height: 100vh;
  padding: var(--sp-8) var(--sp-5) 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  overflow: hidden;
}

.hero--marquee .hero__inner {
  display: block;
  max-width: 820px;
  margin: 0 auto;
  padding-top: var(--sp-8);
  position: relative;
  z-index: 2;
}

.hero--marquee .hero__actions {
  margin-top: var(--sp-8);
  position: relative;
  z-index: 3;
}

.hero--marquee .hero__content {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.hero__pill {
  display: inline-block;
  border: 1px solid var(--border-hairline);
  padding: 6px 16px;
  border-radius: var(--r-pill);
  font-family: var(--f-sans);
  font-size: var(--s-sm);
  font-weight: var(--w-medium);
  letter-spacing: var(--t-wider);
  text-transform: uppercase;
  color: var(--ink-heading);
  margin: 0 0 var(--sp-5) 0;
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(8px);
}

[data-brand="ffm"].hero--dark .hero__pill {
  color: var(--p-white);
  border-color: rgba(201, 164, 108, 0.35);
  background: rgba(255, 255, 255, 0.03);
}

.hero--marquee .hero__title {
  font-size: clamp(48px, 7vw, 84px);
  line-height: 1.05;
  max-width: 12ch;
  margin-left: auto;
  margin-right: auto;
}

.hero--marquee .hero__supporting {
  margin-left: auto;
  margin-right: auto;
  max-width: 56ch;
}

.hero--marquee .hero__actions {
  justify-content: center;
}

.hero__marquee-strip {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 36%;
  overflow: hidden;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 20%, black 80%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, black 20%, black 80%, transparent 100%);
}

.hero__marquee-track {
  display: flex;
  gap: var(--sp-4);
  width: max-content;
  animation: hero-marquee 45s linear infinite;
  padding: var(--sp-6) 0;
}

@keyframes hero-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.hero__marquee-item {
  flex: 0 0 auto;
  width: 180px;
  height: 240px;
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: var(--shadow-lg, 0 12px 32px rgba(0, 0, 0, 0.25));
}

.hero__marquee-item:nth-child(odd) {
  transform: rotate(-2deg);
}

.hero__marquee-item:nth-child(even) {
  transform: rotate(5deg);
}

.hero__marquee-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (max-width: 820px) {
  .hero--marquee .hero__title {
    font-size: clamp(40px, 10vw, 56px);
  }
  .hero--marquee .hero__actions {
    justify-content: center;
  }
  .hero__marquee-item {
    width: 140px;
    height: 190px;
  }
}

/* --- Silk layout: full-viewport animated silk canvas + editorial type --- */
.hero--silk {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 600px;
  overflow: hidden;
  background: #0a0a0a;
  box-sizing: border-box;
}

.hero__silk-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  display: block;
}

.hero__silk-veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.35), transparent 40%, transparent 60%, rgba(0, 0, 0, 0.55));
  pointer-events: none;
}

.hero__silk-content {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0 var(--sp-5);
  box-sizing: border-box;
}

.hero__silk-title {
  font-family: var(--f-serif-display);
  font-weight: 400;
  font-size: clamp(56px, 11vw, 168px);
  line-height: 0.95;
  letter-spacing: -0.04em;
  color: #ffffff;
  mix-blend-mode: difference;
  margin: 0;
  max-width: 14ch;
  opacity: 0;
  animation: silk-fade-in-up 1s ease-out 0.3s forwards;
  text-shadow: 0 0 40px rgba(255, 255, 255, 0.08);
}

.hero__silk-title em {
  font-family: var(--f-serif-italic);
  font-style: italic;
}

.hero__silk-subtitle {
  margin: var(--sp-6) 0 0;
  font-family: var(--f-sans);
  font-size: clamp(13px, 1.4vw, 18px);
  font-weight: var(--w-regular);
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
  mix-blend-mode: overlay;
  opacity: 0;
  animation: silk-fade-in-up 1s ease-out 0.6s forwards;
}

.hero__silk-subtitle .dot {
  color: rgba(201, 164, 108, 0.6);
  margin: 0 var(--sp-4);
}

.hero__silk-actions {
  margin-top: var(--sp-7);
  opacity: 0;
  animation: silk-fade-in-up 1s ease-out 0.8s forwards;
}

.hero__silk-corner {
  position: absolute;
  top: var(--sp-5);
  left: var(--sp-5);
  z-index: 3;
  font-family: var(--f-sans);
  font-size: 10px;
  font-weight: var(--w-medium);
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.45);
  opacity: 0;
  animation: silk-fade-in-corner 1s ease-out 1s forwards;
}

.hero__silk-logo {
  position: absolute;
  top: clamp(20px, 3vw, 40px);
  right: clamp(32px, 4vw, 56px);
  z-index: 3;
  display: block;
  width: clamp(120px, 12vw, 160px);
  height: auto;
  max-width: calc(100% - 80px);
  filter: brightness(0) invert(1);
  opacity: 0;
  animation: silk-fade-in-corner 1s ease-out 1s forwards;
}

@media (max-width: 820px) {
  .hero__silk-title {
    font-size: clamp(48px, 12vw, 96px);
    max-width: 12ch;
  }
}

@media (max-width: 640px) {
  .hero__silk-logo {
    width: 110px;
    right: 20px;
    top: 20px;
  }
  .hero__silk-corner {
    left: 20px;
    top: 20px;
  }
  .hero__silk-title {
    font-size: clamp(44px, 12vw, 80px);
    max-width: 12ch;
  }
  .hero__silk-subtitle {
    letter-spacing: 0.18em;
    font-size: 12px;
    padding: 0 var(--sp-4);
  }
  .hero__silk-subtitle .dot {
    margin: 0 var(--sp-3);
  }
  .hero__silk-actions {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0 var(--sp-5);
    box-sizing: border-box;
  }
  .hero__silk-actions .hero__cta {
    width: 100%;
    max-width: 320px;
    text-align: center;
    padding: var(--sp-4) var(--sp-5);
    box-sizing: border-box;
  }
}

@media (max-width: 480px) {
  .hero__silk-title {
    font-size: clamp(38px, 11vw, 56px);
    max-width: 11ch;
  }
  .hero__silk-subtitle {
    font-size: 11px;
    letter-spacing: 0.15em;
  }
  .hero__silk-actions {
    margin-top: var(--sp-6);
  }
}

@media (max-width: 380px) {
  .hero__silk-logo {
    width: 96px;
  }
  .hero__silk-title {
    font-size: 36px;
    line-height: 1;
  }
}

@keyframes silk-fade-in-up {
  from { opacity: 0; transform: translateY(2rem); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes silk-fade-in-corner {
  from { opacity: 0; transform: translateY(-0.5rem); }
  to { opacity: 0.8; transform: translateY(0); }
}

/* --- Minimalist layout: nav + 3-col grid (text / circle+portrait / big type) + footer --- */
.hero--minimalist {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: var(--sp-6);
  background: var(--surface-canvas);
}

.hero__mini-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  z-index: 30;
}

.hero__mini-header .hero__logo {
  margin: 0;
  height: 26px;
}

.hero__mini-nav {
  display: flex;
  gap: var(--sp-6);
}

.hero__mini-nav a {
  font-family: var(--f-sans);
  font-size: 12px;
  font-weight: var(--w-medium);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(16, 16, 16, 0.55);
  text-decoration: none;
  transition: color 0.2s ease;
}

.hero__mini-nav a:hover {
  color: var(--ink-heading);
}

.hero__mini-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr 1fr;
  align-items: center;
  flex: 1;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  gap: var(--sp-6);
  padding: var(--sp-7) 0;
}

.hero__mini-left {
  text-align: left;
  max-width: 280px;
}

.hero__mini-left p {
  font-family: var(--f-sans);
  font-size: 14px;
  line-height: 1.65;
  color: rgba(16, 16, 16, 0.72);
  margin: 0;
}

.hero__mini-readmore {
  display: inline-block;
  margin-top: var(--sp-4);
  font-family: var(--f-sans);
  font-size: 13px;
  font-weight: var(--w-medium);
  color: var(--ink-heading);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.hero__mini-center {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.hero__mini-circle {
  position: absolute;
  z-index: 0;
  width: min(480px, 38vw);
  aspect-ratio: 1 / 1;
  border-radius: var(--r-pill);
  background: var(--p-sage);
}

.hero__mini-portrait {
  position: relative;
  z-index: 1;
  width: min(440px, 36vw);
  height: auto;
  display: block;
  transform: translateY(8%);
}

.hero__mini-right {
  font-family: var(--f-serif-display);
  font-weight: var(--w-regular);
  font-size: clamp(72px, 11vw, 168px);
  line-height: 0.88;
  letter-spacing: -0.04em;
  color: var(--ink-heading);
  text-align: left;
  margin: 0;
}

.hero__mini-right em {
  font-family: var(--f-serif-italic);
  font-style: italic;
}

.hero__mini-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  z-index: 30;
}

.hero__mini-social {
  display: flex;
  gap: var(--sp-4);
  align-items: center;
}

.hero__mini-social a {
  color: rgba(16, 16, 16, 0.55);
  transition: color 0.2s ease;
  display: inline-flex;
}

.hero__mini-social a:hover {
  color: var(--ink-heading);
}

.hero__mini-location {
  font-family: var(--f-sans);
  font-size: 12px;
  font-weight: var(--w-medium);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(16, 16, 16, 0.65);
}

@media (max-width: 820px) {
  .hero--minimalist {
    padding: var(--sp-5);
  }
  .hero__mini-nav {
    display: none;
  }
  .hero__mini-grid {
    grid-template-columns: 1fr;
    gap: var(--sp-5);
    padding: var(--sp-5) 0;
    text-align: center;
  }
  .hero__mini-left {
    order: 3;
    text-align: center;
    max-width: none;
    margin: 0 auto;
  }
  .hero__mini-center {
    order: 1;
    min-height: 60vw;
  }
  .hero__mini-circle {
    width: 75vw;
  }
  .hero__mini-portrait {
    width: 70vw;
  }
  .hero__mini-right {
    order: 2;
    text-align: center;
    font-size: clamp(64px, 18vw, 96px);
  }
}
```

### hero.classic-ffb-split-right-louder

Wrapper context: `<body data-brand="ffb">`

```css
/* Classic FFB split-right, LOUDER layer.
       Adds:
       - letter-by-letter staggered reveal on headline (each char blurs in)
       - magnetic CTA (cursor follows the button within a radius)
       - cursor parallax on the portrait
       - scroll-linked letter-spacing tighten on the headline
       - soft opacity pulse on the trust badge
       - dot-led animated underline on secondary link
       All motion gated behind prefers-reduced-motion. */

    :root {
      --ease-out-craft:    cubic-bezier(0.23, 1, 0.32, 1);
      --ease-in-out-craft: cubic-bezier(0.77, 0, 0.175, 1);
      --ease-drawer:       cubic-bezier(0.32, 0.72, 0, 1);
      --ease-magnetic:     cubic-bezier(0.25, 0.1, 0.3, 1.2);
    }

    body {
      margin: 0;
      font-family: var(--f-sans);
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      background: var(--surface-canvas);
    }

    .skip-link {
      position: absolute; left: -9999px; top: 0;
      background: var(--p-aztek); color: var(--p-oatmeal);
      padding: 10px 14px; z-index: 100;
      font-family: var(--f-sans); font-size: 12px; font-weight: 600;
      letter-spacing: 0.2em; text-transform: uppercase;
    }
    .skip-link:focus { left: 12px; top: 12px; }

    .hero.hero--split-right {
      padding: clamp(72px, 10vh, 112px) clamp(24px, 5vw, 64px);
      min-height: min(92dvh, 960px);
      position: relative;
      overflow: hidden;
      isolation: isolate;
    }

    /* Ambient warm wash with a gentle pan so the canvas itself has a pulse */
    .hero.hero--split-right::before {
      content: "";
      position: absolute;
      inset: -10% -5% auto auto;
      width: 60%;
      height: 70%;
      background: radial-gradient(ellipse at 70% 30%,
        rgba(204, 153, 137, 0.18) 0%,
        rgba(204, 153, 137, 0.0)  60%);
      pointer-events: none;
      z-index: 0;
      animation: loudBreathe 9s var(--ease-in-out-craft) infinite;
    }
    @keyframes loudBreathe {
      0%, 100% { transform: translate(0, 0) scale(1); opacity: 1; }
      50%      { transform: translate(-1%, 1%) scale(1.04); opacity: 0.92; }
    }

    .hero.hero--split-right .hero__inner {
      position: relative;
      z-index: 1;
      gap: clamp(32px, 6vw, 80px);
      align-items: center;
    }

    /* Logo, supporting, actions, same staggered rise as polished, slightly firmer curve */
    .hero__logo,
    .hero__supporting,
    .hero__actions {
      opacity: 0;
      transform: translateY(14px);
      animation: loudRise 900ms var(--ease-out-craft) forwards;
      will-change: transform, opacity;
    }
    .hero__logo        { animation-delay: 180ms; }
    .hero__supporting  { animation-delay: 720ms; }
    .hero__actions     { animation-delay: 900ms; }
    @keyframes loudRise {
      from { opacity: 0; transform: translateY(14px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .hero__logo {
      margin-bottom: clamp(24px, 3.5vh, 44px);
      display: block;
    }

    /* Headline, each character rises with blur and a per-char delay.
       JS splits it into spans after load. Scroll tightens letter-spacing. */
    .hero__title {
      letter-spacing: -0.015em;
      text-wrap: balance;
      /* letter-spacing is mutated by scroll JS via custom property */
      letter-spacing: var(--title-ls, -0.015em);
      transition: letter-spacing 400ms var(--ease-out-craft);
    }
    .hero__title em {
      font-family: var(--f-serif-italic);
      font-style: italic;
      color: var(--p-sage);
    }
    .hero__title .loud-char {
      display: inline-block;
      opacity: 0;
      transform: translateY(0.35em);
      filter: blur(6px);
      animation: loudChar 900ms var(--ease-drawer) forwards;
      will-change: transform, opacity, filter;
    }
    .hero__title .loud-char--space { width: 0.25em; }
    @keyframes loudChar {
      from { opacity: 0; transform: translateY(0.35em); filter: blur(6px); }
      to   { opacity: 1; transform: translateY(0);      filter: blur(0); }
    }

    .hero__supporting {
      color: var(--p-ink);
      max-width: 52ch;
      text-wrap: pretty;
    }

    /* CTA, magnetic. Wrapper gets the mouse-follow transform via JS;
       inner gets the press/hover states. Colored shadow stays. */
    .hero__cta {
      position: relative;
      padding: 16px 28px;
      min-height: 48px;
      display: inline-flex;
      align-items: center;
      transition:
        background-color 200ms var(--ease-out-craft),
        transform 320ms var(--ease-magnetic),
        box-shadow 220ms var(--ease-out-craft);
      box-shadow: 0 6px 24px -12px rgba(30, 55, 53, 0.45);
      will-change: transform;
    }
    .hero__cta:hover {
      background: var(--accent-hover);
      box-shadow: 0 14px 36px -10px rgba(30, 55, 53, 0.6);
    }
    .hero__cta:active {
      transform: scale(0.97) !important;
      transition: transform 120ms ease-out !important;
      box-shadow: 0 4px 16px -10px rgba(30, 55, 53, 0.45);
    }
    .hero__cta:focus-visible {
      outline: 2px solid var(--p-aztek);
      outline-offset: 3px;
    }

    /* Secondary link, dot-led sweep underline on hover */
    .hero__secondary {
      position: relative;
      padding: 10px 22px 10px 2px;
      min-height: 44px;
      display: inline-flex;
      align-items: center;
      transition: color 180ms var(--ease-out-craft), letter-spacing 220ms var(--ease-out-craft);
    }
    .hero__secondary::after {
      content: "";
      position: absolute;
      left: 2px;
      right: auto;
      bottom: 10px;
      width: 0;
      height: 1px;
      background: currentColor;
      transition: width 360ms var(--ease-out-craft);
    }
    .hero__secondary::before {
      content: "";
      position: absolute;
      left: 0;
      bottom: 8px;
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background: var(--p-sage);
      opacity: 0;
      transform: translateX(0);
      transition: opacity 220ms var(--ease-out-craft), transform 360ms var(--ease-out-craft);
    }
    .hero__secondary:hover::after { width: calc(100% - 14px); }
    .hero__secondary:hover::before { opacity: 1; transform: translateX(calc(100% * 20 - 6px)); }
    .hero__secondary:hover { letter-spacing: calc(var(--t-wider) + 0.02em); }
    .hero__secondary:active { transform: translateY(1px); }
    .hero__secondary:focus-visible {
      outline: 1px solid var(--p-aztek);
      outline-offset: 4px;
      border-radius: 2px;
    }

    /* Media, cursor parallax applied via JS on the inner img.
       Base reveal animation kept. */
    .hero__media {
      position: relative;
      border-radius: 2px;
      box-shadow:
        0 24px 48px -24px rgba(30, 55, 53, 0.35),
        0 2px 8px -4px  rgba(30, 55, 53, 0.15);
      opacity: 0;
      transform: translateY(18px) scale(0.98);
      animation: loudMediaReveal 1200ms var(--ease-drawer) 260ms forwards;
      transition: transform 600ms var(--ease-out-craft), box-shadow 400ms var(--ease-out-craft);
      will-change: transform, opacity;
      overflow: hidden;
    }
    @keyframes loudMediaReveal {
      from { opacity: 0; transform: translateY(18px) scale(0.98); }
      to   { opacity: 1; transform: translateY(0) scale(1); }
    }
    .hero__media img {
      transition: transform 900ms var(--ease-in-out-craft);
      will-change: transform;
      display: block;
      width: 100%;
      height: auto;
    }
    @media (hover: hover) and (pointer: fine) {
      .hero__media:hover {
        box-shadow:
          0 40px 64px -20px rgba(30, 55, 53, 0.5),
          0 6px 14px -4px   rgba(30, 55, 53, 0.22);
      }
    }

    /* Trust badge, quiet opacity pulse so the page feels alive */
    .ffb-meta {
      position: absolute;
      left: clamp(24px, 5vw, 64px);
      bottom: clamp(24px, 4vh, 40px);
      font-family: var(--f-sans);
      font-size: 11px;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: var(--p-mute);
      z-index: 1;
      opacity: 0;
      animation:
        loudRise 900ms var(--ease-out-craft) 1100ms forwards,
        loudPulse 4.8s var(--ease-in-out-craft) 2000ms infinite;
      display: inline-flex;
      align-items: center;
      gap: 12px;
    }
    .ffb-meta::before {
      content: "";
      width: 28px; height: 1px;
      background: currentColor;
      opacity: 0.5;
    }
    @keyframes loudPulse {
      0%, 100% { opacity: 1; }
      50%      { opacity: 0.65; }
    }

    /* MOBILE */
    @media (max-width: 820px) {
      .hero.hero--split-right { padding: 72px 20px 56px; min-height: auto; }
      .hero.hero--split-right .hero__inner { grid-template-columns: 1fr; gap: 32px; }
      .hero__title { font-size: clamp(40px, 9vw, 56px); }
      .hero__media { order: 2; aspect-ratio: 4/5; max-height: 60vh; }
      .hero__content { order: 1; }
      .ffb-meta {
        position: static; margin-top: 24px; display: flex;
        font-size: 9px; letter-spacing: 0.22em; gap: 10px;
      }
      .ffb-meta::before { width: 20px; }
    }
    @media (max-width: 480px) { .ffb-meta { display: none; } }
    @media (max-width: 380px) {
      .hero__title { font-size: 34px; }
      .hero__actions { gap: 16px; }
    }

    /* REDUCED MOTION, collapse everything to steady final state */
    @media (prefers-reduced-motion: reduce) {
      .hero.hero--split-right::before,
      .hero__logo, .hero__title, .hero__supporting, .hero__actions,
      .hero__media, .ffb-meta {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
      .hero__title .loud-char {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
      .hero__media img, .hero__cta, .hero__secondary {
        transition: none !important;
      }
    }
```

```html
<a href="#content" class="skip-link">Skip to content</a>

  <section class="hero hero--split-right" data-brand="ffb" aria-label="Freedom Filled Business mentorship">
    <div class="hero__inner" id="content">
      <div class="hero__content">
        <img src="https://cdn.jsdelivr.net/gh/purepurposekh/tracy-harris-brand-kit@main/assets/logos/ffb/ffb-primary.svg"
             alt="Freedom Filled® Business"
             class="hero__logo"
             style="height: 44px;" />

        <h1 class="hero__title">A 12-month mentorship for the <em>woman building something real</em>.</h1>

        <p class="hero__supporting">
          This is not a course you consume. It is a mentorship experience you move through with Tracy's guidance, strategic thinking, and personal investment in your outcome.
        </p>

        <div class="hero__actions">
          <a href="#apply" class="hero__cta" data-magnetic>Apply for FFB</a>
          <a href="#curriculum" class="hero__secondary">See the curriculum</a>
        </div>
      </div>

      <div class="hero__media" data-parallax>
        <img src="https://static.showit.co/1200/RzgNfOS8hzrskisIlnpPOg/173187/062a4096-enhanced-nr.jpg"
             alt="Tracy Harris in a warm editorial portrait, leaning in with mentorship energy." />
      </div>
    </div>

    <span class="ffb-meta" aria-hidden="true">Freedom Filled® · Est. 2015</span>
  </section>

  <script>
    (function () {
      const reduce = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
      if (reduce) return;

      // ---- Letter-by-letter reveal on headline ----
      const title = document.querySelector('.hero__title');
      if (title) {
        const walk = (node, out) => {
          node.childNodes.forEach(child => {
            if (child.nodeType === 3) {
              out.push({ type: 'text', value: child.nodeValue });
            } else if (child.nodeType === 1) {
              const wrapped = { type: 'tag', tag: child.tagName.toLowerCase(), className: child.className, children: [] };
              walk(child, wrapped.children);
              out.push(wrapped);
            }
          });
        };
        const tree = [];
        walk(title, tree);

        let charIndex = 0;
        const STEP = 28; // ms per char
        const renderTree = (nodes) => nodes.map(n => {
          if (n.type === 'text') {
            return n.value.split('').map(ch => {
              if (ch === ' ') {
                return `<span class="loud-char loud-char--space" style="animation-delay:${charIndex++ * STEP}ms">&nbsp;</span>`;
              }
              return `<span class="loud-char" style="animation-delay:${charIndex++ * STEP}ms">${ch.replace('<','&lt;').replace('>','&gt;')}</span>`;
            }).join('');
          }
          const inner = renderTree(n.children);
          return `<${n.tag}${n.className ? ` class="${n.className}"` : ''}>${inner}</${n.tag}>`;
        }).join('');
        title.innerHTML = renderTree(tree);
      }

      // ---- Scroll-linked letter-spacing tighten ----
      const maxTight = -0.035, baseTight = -0.015;
      const onScroll = () => {
        if (!title) return;
        const progress = Math.min(1, Math.max(0, window.scrollY / 600));
        const ls = baseTight + (maxTight - baseTight) * progress;
        title.style.setProperty('--title-ls', ls + 'em');
      };
      window.addEventListener('scroll', onScroll, { passive: true });
      onScroll();

      // ---- Magnetic CTA ----
      const mag = document.querySelector('[data-magnetic]');
      if (mag && window.matchMedia('(hover: hover) and (pointer: fine)').matches) {
        const RADIUS = 90;    // px, activation range around button center
        const STRENGTH = 0.28; // how much to translate toward cursor
        let raf = null;
        const reset = () => { mag.style.transform = ''; };
        const onMove = (e) => {
          const r = mag.getBoundingClientRect();
          const cx = r.left + r.width / 2;
          const cy = r.top + r.height / 2;
          const dx = e.clientX - cx;
          const dy = e.clientY - cy;
          const dist = Math.sqrt(dx*dx + dy*dy);
          if (dist > RADIUS + Math.max(r.width, r.height) / 2) { reset(); return; }
          if (raf) cancelAnimationFrame(raf);
          raf = requestAnimationFrame(() => {
            mag.style.transform = `translate(${dx * STRENGTH}px, ${dy * STRENGTH}px)`;
          });
        };
        window.addEventListener('mousemove', onMove, { passive: true });
        mag.addEventListener('mouseleave', reset);
      }

      // ---- Cursor parallax on portrait ----
      const parallax = document.querySelector('[data-parallax]');
      if (parallax && window.matchMedia('(hover: hover) and (pointer: fine)').matches) {
        const img = parallax.querySelector('img');
        if (img) {
          img.style.transition = 'transform 600ms cubic-bezier(0.23, 1, 0.32, 1)';
          let raf = null;
          parallax.addEventListener('mousemove', (e) => {
            const r = parallax.getBoundingClientRect();
            const nx = ((e.clientX - r.left) / r.width - 0.5) * 2;   // -1 to 1
            const ny = ((e.clientY - r.top)  / r.height - 0.5) * 2;
            if (raf) cancelAnimationFrame(raf);
            raf = requestAnimationFrame(() => {
              img.style.transform = `translate3d(${nx * -8}px, ${ny * -6}px, 0) scale(1.03)`;
            });
          });
          parallax.addEventListener('mouseleave', () => {
            img.style.transform = 'translate3d(0, 0, 0) scale(1)';
          });
        }
      }
    })();
  </script>
```

### hero.classic-ffb-split-right-polished

Wrapper context: `<body data-brand="ffb">`

```css
/* Classic FFB split-right, polished layer.
       Keep structure from hero.css; add staggered entrance, tactile
       CTA states, hover-aware media, focus visibility, reduced motion. */

    :root {
      --ease-out-craft:    cubic-bezier(0.23, 1, 0.32, 1);
      --ease-in-out-craft: cubic-bezier(0.77, 0, 0.175, 1);
      --ease-drawer:       cubic-bezier(0.32, 0.72, 0, 1);
    }

    body {
      margin: 0;
      font-family: var(--f-sans);
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      background: var(--surface-canvas);
    }

    .skip-link {
      position: absolute; left: -9999px; top: 0;
      background: var(--p-aztek); color: var(--p-oatmeal);
      padding: 10px 14px; z-index: 100;
      font-family: var(--f-sans); font-size: 12px; font-weight: 600;
      letter-spacing: 0.2em; text-transform: uppercase;
    }
    .skip-link:focus { left: 12px; top: 12px; }

    /* ------ Polish overrides on the shared .hero layer ------ */
    .hero.hero--split-right {
      padding: clamp(72px, 10vh, 112px) clamp(24px, 5vw, 64px);
      min-height: min(92dvh, 960px);
      position: relative;
      overflow: hidden;
      isolation: isolate;
    }

    /* Soft warmth wash behind content, ambient, not decorative */
    .hero.hero--split-right::before {
      content: "";
      position: absolute;
      inset: -10% -5% auto auto;
      width: 60%;
      height: 70%;
      background: radial-gradient(ellipse at 70% 30%,
        rgba(204, 153, 137, 0.12) 0%,
        rgba(204, 153, 137, 0.0)  60%);
      pointer-events: none;
      z-index: 0;
    }

    .hero.hero--split-right .hero__inner {
      position: relative;
      z-index: 1;
      gap: clamp(32px, 6vw, 80px);
      align-items: center;
    }

    /* Staggered entrance for content column */
    .hero__logo,
    .hero__title,
    .hero__supporting,
    .hero__actions {
      opacity: 0;
      transform: translateY(14px);
      animation: ffbRise 900ms var(--ease-out-craft) forwards;
      will-change: transform, opacity;
    }
    .hero__logo        { animation-delay: 180ms; }
    .hero__title       { animation-delay: 320ms; }
    .hero__supporting  { animation-delay: 480ms; }
    .hero__actions     { animation-delay: 640ms; }

    @keyframes ffbRise {
      from { opacity: 0; transform: translateY(14px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .hero__logo {
      margin-bottom: clamp(24px, 3.5vh, 44px);
      display: block;
    }

    .hero__title {
      letter-spacing: -0.015em;
      text-wrap: balance;
      /* Bring hero__title em closer to brand sage rather than generic italic */
    }
    .hero__title em {
      font-family: var(--f-serif-italic);
      font-style: italic;
      color: var(--p-sage);
    }

    .hero__supporting {
      color: var(--p-ink);
      max-width: 52ch;
      text-wrap: pretty;
    }

    /* CTA, tactile press feedback, hover lift, colored shadow */
    .hero__cta {
      position: relative;
      padding: 16px 28px;
      min-height: 48px;
      display: inline-flex;
      align-items: center;
      transition:
        background-color 200ms var(--ease-out-craft),
        transform 180ms var(--ease-out-craft),
        box-shadow 220ms var(--ease-out-craft);
      box-shadow: 0 6px 24px -12px rgba(30, 55, 53, 0.45);
    }
    .hero__cta:hover {
      background: var(--accent-hover);
      transform: translateY(-1px);
      box-shadow: 0 10px 28px -10px rgba(30, 55, 53, 0.55);
    }
    .hero__cta:active {
      transform: translateY(0) scale(0.98);
      box-shadow: 0 4px 16px -10px rgba(30, 55, 53, 0.45);
    }
    .hero__cta:focus-visible {
      outline: 2px solid var(--p-aztek);
      outline-offset: 3px;
    }

    .hero__secondary {
      position: relative;
      padding: 10px 2px;
      min-height: 44px;
      display: inline-flex;
      align-items: center;
      transition: color 180ms var(--ease-out-craft), letter-spacing 220ms var(--ease-out-craft);
    }
    .hero__secondary:hover { letter-spacing: calc(var(--t-wider) + 0.02em); }
    .hero__secondary:active { transform: translateY(1px); }
    .hero__secondary:focus-visible {
      outline: 1px solid var(--p-aztek);
      outline-offset: 4px;
      border-radius: 2px;
    }

    /* Media panel, soft reveal, subtle hover lift */
    .hero__media {
      position: relative;
      border-radius: 2px;            /* hairline, not rounded-rectangle AI slop */
      box-shadow:
        0 24px 48px -24px rgba(30, 55, 53, 0.35),
        0 2px 8px -4px  rgba(30, 55, 53, 0.15);
      opacity: 0;
      transform: translateY(18px) scale(0.98);
      animation: ffbMediaReveal 1100ms var(--ease-drawer) 260ms forwards;
      transition: transform 400ms var(--ease-out-craft), box-shadow 400ms var(--ease-out-craft);
      will-change: transform, opacity;
    }
    @keyframes ffbMediaReveal {
      from { opacity: 0; transform: translateY(18px) scale(0.98); }
      to   { opacity: 1; transform: translateY(0) scale(1); }
    }
    @media (hover: hover) and (pointer: fine) {
      .hero__media:hover {
        transform: translateY(-4px);
        box-shadow:
          0 32px 56px -20px rgba(30, 55, 53, 0.42),
          0 4px 12px -4px   rgba(30, 55, 53, 0.2);
      }
      .hero__media:hover img {
        transform: scale(1.025);
      }
    }
    .hero__media img {
      transition: transform 900ms var(--ease-in-out-craft);
      will-change: transform;
    }

    /* Tiny decorative mark, script "est. trust" flourish without being cliche */
    .ffb-meta {
      position: absolute;
      left: clamp(24px, 5vw, 64px);
      bottom: clamp(24px, 4vh, 40px);
      font-family: var(--f-sans);
      font-size: 11px;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: var(--p-mute);
      z-index: 1;
      opacity: 0;
      animation: ffbRise 900ms var(--ease-out-craft) 900ms forwards;
      display: inline-flex;
      align-items: center;
      gap: 12px;
    }
    .ffb-meta::before {
      content: "";
      width: 28px; height: 1px;
      background: currentColor;
      opacity: 0.5;
    }

    /* -------- MOBILE -------- */
    @media (max-width: 820px) {
      .hero.hero--split-right {
        padding: 72px 20px 56px;
        min-height: auto;
      }
      .hero.hero--split-right .hero__inner {
        grid-template-columns: 1fr;
        gap: 32px;
      }
      .hero__title {
        font-size: clamp(40px, 9vw, 56px);
      }
      .hero__media {
        order: 2;
        aspect-ratio: 4/5;
        max-height: 60vh;
      }
      .hero__content { order: 1; }
      /* Decorative trust stamp, tighten for mobile so it doesn't
         consume viewport width with its letter-spacing + uppercase run. */
      .ffb-meta {
        position: static;
        margin-top: 24px;
        display: flex;
        font-size: 9px;
        letter-spacing: 0.22em;
        gap: 10px;
      }
      .ffb-meta::before { width: 20px; }
    }

    @media (max-width: 480px) {
      /* Not essential at this width, hide. */
      .ffb-meta { display: none; }
    }

    @media (max-width: 380px) {
      .hero__title { font-size: 34px; }
      .hero__actions { gap: 16px; }
    }

    /* -------- REDUCED MOTION -------- */
    @media (prefers-reduced-motion: reduce) {
      .hero__logo,
      .hero__title,
      .hero__supporting,
      .hero__actions,
      .hero__media,
      .ffb-meta {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
      .hero__media img {
        transition: none !important;
      }
    }
```

```html
<a href="#content" class="skip-link">Skip to content</a>

  <section class="hero hero--split-right" data-brand="ffb" aria-label="Freedom Filled Business mentorship">
    <div class="hero__inner" id="content">
      <div class="hero__content">
        <img src="https://cdn.jsdelivr.net/gh/purepurposekh/tracy-harris-brand-kit@main/assets/logos/ffb/ffb-primary.svg"
             alt="Freedom Filled® Business"
             class="hero__logo"
             style="height: 44px;" />

        <h1 class="hero__title">A 12-month mentorship for the <em>woman building something real</em>.</h1>

        <p class="hero__supporting">
          This is not a course you consume. It is a mentorship experience you move through with Tracy's guidance, strategic thinking, and personal investment in your outcome.
        </p>

        <div class="hero__actions">
          <a href="#apply" class="hero__cta">Apply for FFB</a>
          <a href="#curriculum" class="hero__secondary">See the curriculum</a>
        </div>
      </div>

      <div class="hero__media">
        <img src="https://static.showit.co/1200/RzgNfOS8hzrskisIlnpPOg/173187/062a4096-enhanced-nr.jpg"
             alt="Tracy Harris in a warm editorial portrait, leaning in with mentorship energy." />
      </div>
    </div>

    <span class="ffb-meta" aria-hidden="true">Freedom Filled® · Est. 2015</span>
  </section>
```

### hero.classic-ffb-split-right

Wrapper context: `<body data-brand="ffb">`

```html
<section class="hero hero--split-right" data-brand="ffb">
    <div class="hero__inner">
      <div class="hero__content">
        <img src="../../../assets/logos/ffb/ffb-primary.svg" alt="Freedom Filled® Business" class="hero__logo" style="height: 44px;" />
        <h1 class="hero__title">A 12-month mentorship for the <em>woman building something real</em>.</h1>
        <p class="hero__supporting">
          This is not a course you consume. It is a mentorship experience you move through with Tracy's guidance, strategic thinking, and personal investment in your outcome.
        </p>
        <div class="hero__actions">
          <a href="#apply" class="hero__cta">Apply for FFB</a>
          <a href="#curriculum" class="hero__secondary">See the curriculum</a>
        </div>
      </div>
      <div class="hero__media">
        <img src="https://static.showit.co/1200/RzgNfOS8hzrskisIlnpPOg/173187/062a4096-enhanced-nr.jpg" alt="Tracy Harris in a warm editorial portrait, leaning in with mentorship energy." />
      </div>
    </div>
  </section>
```

### hero.classic-ffm-dark-split-right-polished

Wrapper context: `<body data-brand="ffm">`

```css
/* Classic FFM dark split (photo right), polished.
       Dark charcoal surface + gold accents. Staggered entrance, soft
       media reveal, tactile gold CTA, focus rings, reduced motion. */

    :root {
      --ease-out-craft:    cubic-bezier(0.23, 1, 0.32, 1);
      --ease-in-out-craft: cubic-bezier(0.77, 0, 0.175, 1);
      --ease-drawer:       cubic-bezier(0.32, 0.72, 0, 1);
    }

    body {
      margin: 0;
      font-family: var(--f-sans);
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      background: var(--p-charcoal);
    }

    .skip-link {
      position: absolute; left: -9999px; top: 0;
      background: var(--p-gold-dark); color: var(--p-oatmeal);
      padding: 10px 14px; z-index: 100;
      font-family: var(--f-sans); font-size: 12px; font-weight: 600;
      letter-spacing: 0.2em; text-transform: uppercase;
    }
    .skip-link:focus { left: 12px; top: 12px; }

    .hero.hero--split-right.hero--dark {
      position: relative;
      overflow: hidden;
      isolation: isolate;
      padding: clamp(72px, 10vh, 112px) clamp(24px, 5vw, 64px);
    }

    /* Ambient gold wash from upper-right */
    .hero.hero--split-right.hero--dark::before {
      content: "";
      position: absolute;
      inset: -10% auto auto -5%;
      width: 55%;
      height: 65%;
      background: radial-gradient(ellipse at 30% 30%,
        rgba(201, 164, 108, 0.16) 0%,
        rgba(201, 164, 108, 0.0)  60%);
      pointer-events: none;
      z-index: 0;
    }

    .hero.hero--split-right.hero--dark .hero__inner {
      position: relative;
      z-index: 1;
      gap: clamp(32px, 6vw, 80px);
      align-items: center;
    }

    .hero__logo,
    .hero__title,
    .hero__supporting,
    .hero__actions {
      opacity: 0;
      transform: translateY(14px);
      animation: ffmdRise 900ms var(--ease-out-craft) forwards;
      will-change: transform, opacity;
    }
    .hero__logo       { animation-delay: 180ms; }
    .hero__title      { animation-delay: 320ms; }
    .hero__supporting { animation-delay: 480ms; }
    .hero__actions    { animation-delay: 640ms; }

    @keyframes ffmdRise {
      from { opacity: 0; transform: translateY(14px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .hero__title {
      letter-spacing: -0.015em;
      text-wrap: balance;
      color: var(--p-oatmeal);
    }
    .hero__title em {
      font-family: var(--f-serif-italic);
      font-style: italic;
      color: var(--p-gold-mid);
    }

    .hero__supporting {
      color: var(--p-oatmeal);
      opacity: 0.85;
      max-width: 52ch;
      text-wrap: pretty;
    }

    .hero__cta {
      position: relative;
      padding: 16px 28px;
      min-height: 48px;
      display: inline-flex;
      align-items: center;
      transition:
        background 220ms var(--ease-out-craft),
        transform 180ms var(--ease-out-craft),
        box-shadow 220ms var(--ease-out-craft);
      box-shadow: 0 6px 24px -12px rgba(201, 164, 108, 0.55);
    }
    .hero__cta:hover {
      transform: translateY(-1px);
      box-shadow: 0 10px 28px -10px rgba(201, 164, 108, 0.65);
    }
    .hero__cta:active {
      transform: translateY(0) scale(0.98);
    }
    .hero__cta:focus-visible {
      outline: 2px solid var(--p-gold-mid);
      outline-offset: 3px;
    }

    .hero__secondary {
      position: relative;
      padding: 10px 2px;
      min-height: 44px;
      display: inline-flex;
      align-items: center;
      color: var(--p-oatmeal);
      transition:
        color 180ms var(--ease-out-craft),
        letter-spacing 220ms var(--ease-out-craft);
    }
    .hero__secondary:hover { letter-spacing: calc(var(--t-wider) + 0.02em); color: var(--p-gold-mid); }
    .hero__secondary:focus-visible {
      outline: 1px solid var(--p-gold-mid);
      outline-offset: 4px;
      border-radius: 2px;
    }

    .hero__media {
      position: relative;
      border-radius: 2px;
      box-shadow:
        0 24px 48px -24px rgba(0, 0, 0, 0.55),
        0 2px 8px -4px   rgba(0, 0, 0, 0.3);
      opacity: 0;
      transform: translateY(18px) scale(0.98);
      animation: ffmdMediaReveal 1100ms var(--ease-drawer) 260ms forwards;
      transition:
        transform 400ms var(--ease-out-craft),
        box-shadow 400ms var(--ease-out-craft);
      will-change: transform, opacity;
    }
    @keyframes ffmdMediaReveal {
      from { opacity: 0; transform: translateY(18px) scale(0.98); }
      to   { opacity: 1; transform: translateY(0) scale(1); }
    }
    @media (hover: hover) and (pointer: fine) {
      .hero__media:hover {
        transform: translateY(-4px);
        box-shadow:
          0 32px 56px -20px rgba(0, 0, 0, 0.6),
          0 4px 12px -4px   rgba(0, 0, 0, 0.35);
      }
      .hero__media:hover img { transform: scale(1.025); }
    }
    .hero__media img {
      transition: transform 900ms var(--ease-in-out-craft);
      will-change: transform;
    }

    @media (max-width: 820px) {
      .hero.hero--split-right.hero--dark {
        padding: 72px 20px 56px;
        min-height: auto;
      }
      .hero.hero--split-right.hero--dark .hero__inner {
        grid-template-columns: 1fr;
        gap: 32px;
      }
      .hero__title {
        font-size: clamp(38px, 9vw, 52px);
      }
      .hero__media {
        order: 2;
        aspect-ratio: 4/5;
        max-height: 60vh;
      }
      .hero__content { order: 1; }
    }
    @media (max-width: 380px) {
      .hero__title { font-size: 32px; }
    }

    @media (prefers-reduced-motion: reduce) {
      .hero__logo,
      .hero__title,
      .hero__supporting,
      .hero__actions,
      .hero__media {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
      .hero__media img { transition: none !important; }
    }
```

```html
<a href="#content" class="skip-link">Skip to content</a>

  <section class="hero hero--split-right hero--dark" data-brand="ffm" aria-label="Freedom Filled Mastermind">
    <div class="hero__inner" id="content">
      <div class="hero__content">
        <img src="https://cdn.jsdelivr.net/gh/purepurposekh/tracy-harris-brand-kit@main/assets/logos/ffm/ffm-primary.svg"
             alt="Freedom Filled® Mastermind"
             class="hero__logo"
             style="height: 40px;" />
        <h1 class="hero__title">For the woman ready to <em>lead at a higher level</em>.</h1>
        <p class="hero__supporting">
          Live retreats in Bali. A carefully selected group of high-achieving female entrepreneurs. Radical honesty, deep support, ambitious thinking.
        </p>
        <div class="hero__actions">
          <a href="#apply" class="hero__cta">Apply for the Mastermind</a>
          <a href="#details" class="hero__secondary">Request the details</a>
        </div>
      </div>
      <div class="hero__media">
        <img src="https://static.showit.co/1200/Yy3opX4aRY-pnfn17TTANA/173187/web_mwh_coralsea_271022_422.jpg"
             alt="Tracy Harris leading a Bali retreat session, high-achieving women gathered, radical honesty and deep support in the room." />
      </div>
    </div>
  </section>
```

### hero.classic-ffm-dark-split-right

Wrapper context: `<body data-brand="ffm">`

```html
<section class="hero hero--split-right hero--dark" data-brand="ffm">
    <div class="hero__inner">
      <div class="hero__content">
        <img src="../../../assets/logos/ffm/ffm-primary.svg" alt="Freedom Filled® Mastermind" class="hero__logo" style="height: 40px;" />
        <h1 class="hero__title">For the woman ready to <em>lead at a higher level</em>.</h1>
        <p class="hero__supporting">
          Live retreats in Bali. A carefully selected group of high-achieving female entrepreneurs. Radical honesty, deep support, ambitious thinking.
        </p>
        <div class="hero__actions">
          <a href="#apply" class="hero__cta">Apply for the Mastermind</a>
          <a href="#details" class="hero__secondary">Request the details</a>
        </div>
      </div>
      <div class="hero__media">
        <img src="https://static.showit.co/1200/Yy3opX4aRY-pnfn17TTANA/173187/web_mwh_coralsea_271022_422.jpg" alt="Tracy Harris leading a Bali retreat session, high-achieving women gathered, radical honesty and deep support in the room." />
      </div>
    </div>
  </section>
```

### hero.classic-ffm-marquee-polished

Wrapper context: `<body data-brand="ffm">`

```css
/* Classic FFM marquee (dark), polished.
       Staggered entrance on content, tactile CTA, marquee strip fade-in,
       focus rings, reduced motion (stops marquee + strips stagger). */

    :root {
      --ease-out-craft:    cubic-bezier(0.23, 1, 0.32, 1);
      --ease-in-out-craft: cubic-bezier(0.77, 0, 0.175, 1);
      --ease-drawer:       cubic-bezier(0.32, 0.72, 0, 1);
    }

    body {
      margin: 0;
      font-family: var(--f-sans);
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      background: var(--p-charcoal);
    }

    .skip-link {
      position: absolute; left: -9999px; top: 0;
      background: var(--p-gold-dark); color: var(--p-oatmeal);
      padding: 10px 14px; z-index: 100;
      font-family: var(--f-sans); font-size: 12px; font-weight: 600;
      letter-spacing: 0.2em; text-transform: uppercase;
    }
    .skip-link:focus { left: 12px; top: 12px; }

    .hero.hero--marquee.hero--dark {
      position: relative;
      overflow: hidden;
      isolation: isolate;
    }

    .hero.hero--marquee.hero--dark::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 60% 50% at 50% 30%,
        rgba(201, 164, 108, 0.14) 0%,
        rgba(201, 164, 108, 0.0) 70%);
      pointer-events: none;
      z-index: 0;
    }

    .hero.hero--marquee.hero--dark .hero__inner {
      position: relative;
      z-index: 1;
    }

    .hero__logo,
    .hero__pill,
    .hero__title,
    .hero__supporting,
    .hero__actions {
      opacity: 0;
      transform: translateY(14px);
      animation: fmmRise 900ms var(--ease-out-craft) forwards;
      will-change: transform, opacity;
    }
    .hero__logo       { animation-delay: 180ms; }
    .hero__pill       { animation-delay: 300ms; }
    .hero__title      { animation-delay: 440ms; }
    .hero__supporting { animation-delay: 600ms; }
    .hero__actions    { animation-delay: 760ms; }

    @keyframes fmmRise {
      from { opacity: 0; transform: translateY(14px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .hero__title em { color: var(--p-gold-mid); }

    .hero__cta {
      position: relative;
      padding: 16px 28px;
      min-height: 48px;
      display: inline-flex;
      align-items: center;
      transition:
        background 220ms var(--ease-out-craft),
        transform 180ms var(--ease-out-craft),
        box-shadow 220ms var(--ease-out-craft);
      box-shadow: 0 6px 24px -12px rgba(201, 164, 108, 0.55);
    }
    .hero__cta:hover {
      transform: translateY(-1px);
      box-shadow: 0 10px 28px -10px rgba(201, 164, 108, 0.65);
    }
    .hero__cta:active { transform: translateY(0) scale(0.98); }
    .hero__cta:focus-visible {
      outline: 2px solid var(--p-gold-mid);
      outline-offset: 3px;
    }

    /* Marquee strip reveal (one-time) + ongoing scroll */
    .hero__marquee-strip {
      opacity: 0;
      animation: fmmStripFade 1200ms var(--ease-drawer) 900ms forwards;
    }
    @keyframes fmmStripFade {
      from { opacity: 0; transform: translateY(14px); }
      to   { opacity: 1; transform: translateY(0); }
    }

    @media (prefers-reduced-motion: reduce) {
      .hero__logo,
      .hero__pill,
      .hero__title,
      .hero__supporting,
      .hero__actions,
      .hero__marquee-strip {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
      /* Pause marquee track */
      .hero__marquee-track {
        animation: none !important;
      }
    }
```

```html
<a href="#content" class="skip-link">Skip to content</a>

  <section class="hero hero--marquee hero--dark" data-brand="ffm" aria-label="Freedom Filled Mastermind">
    <div class="hero__inner" id="content">
      <div class="hero__content">
        <img src="https://cdn.jsdelivr.net/gh/purepurposekh/tracy-harris-brand-kit@main/assets/logos/ffm/ffm-primary.svg"
             alt="Freedom Filled® Mastermind"
             class="hero__logo"
             style="height: 40px;" />
        <span class="hero__pill">Application-based · Intentionally small</span>
        <h1 class="hero__title">For the woman ready to <em>lead at a higher level</em>.</h1>
        <p class="hero__supporting">Live retreats in Bali. A carefully selected group of high-achieving female entrepreneurs. Radical honesty. Deep support. Ambitious thinking.</p>
        <div class="hero__actions">
          <a href="#apply" class="hero__cta">Apply for the Mastermind</a>
        </div>
      </div>
    </div>
    <div class="hero__marquee-strip" aria-hidden="true">
      <div class="hero__marquee-track">
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/kHCo0XC8Q1WrPV2iTqkOAQ/173187/web_mwh_coralsea_271022_382.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/NShgYBPuR2WEpef2w9H8rQ/173187/web_mwh_coralsea_271022_312.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/Phc3esiZQtC8jORSzOTIbQ/173187/web_mwh_coralsea_251022_137.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/Yy3opX4aRY-pnfn17TTANA/173187/web_mwh_coralsea_271022_422.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/_4pCmLazRuuQR6q6BzjHIA/173187/web_mwh_coralsea_251022_270.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/aX9Bts4RQU26-yjaZj2k3g/173187/web_mwh_coralsea_251022_088.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/5M6nYNMVTkOjC2msh9iAEA/173187/web_mwh_coralsea_251022_217.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/VDgD-51eTBufkQQht6IU5A/173187/web_mwh_coralsea_251022_129.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/kHCo0XC8Q1WrPV2iTqkOAQ/173187/web_mwh_coralsea_271022_382.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/NShgYBPuR2WEpef2w9H8rQ/173187/web_mwh_coralsea_271022_312.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/Phc3esiZQtC8jORSzOTIbQ/173187/web_mwh_coralsea_251022_137.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/Yy3opX4aRY-pnfn17TTANA/173187/web_mwh_coralsea_271022_422.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/_4pCmLazRuuQR6q6BzjHIA/173187/web_mwh_coralsea_251022_270.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/aX9Bts4RQU26-yjaZj2k3g/173187/web_mwh_coralsea_251022_088.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/5M6nYNMVTkOjC2msh9iAEA/173187/web_mwh_coralsea_251022_217.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/VDgD-51eTBufkQQht6IU5A/173187/web_mwh_coralsea_251022_129.jpg" alt="" /></div>
      </div>
    </div>
  </section>
```

### hero.classic-ffm-marquee

Wrapper context: `<body data-brand="ffm">`

```html
<section class="hero hero--marquee hero--dark" data-brand="ffm">
    <div class="hero__inner">
      <div class="hero__content">
        <img src="../../../assets/logos/ffm/ffm-primary.svg" alt="Freedom Filled® Mastermind" class="hero__logo" style="height: 40px;" />
        <span class="hero__pill">Application-based · Intentionally small</span>
        <h1 class="hero__title">For the woman ready to <em>lead at a higher level</em>.</h1>
        <p class="hero__supporting">Live retreats in Bali. A carefully selected group of high-achieving female entrepreneurs. Radical honesty. Deep support. Ambitious thinking.</p>
        <div class="hero__actions">
          <a href="#apply" class="hero__cta">Apply for the Mastermind</a>
        </div>
      </div>
    </div>
    <div class="hero__marquee-strip" aria-hidden="true">
      <div class="hero__marquee-track">
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/kHCo0XC8Q1WrPV2iTqkOAQ/173187/web_mwh_coralsea_271022_382.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/NShgYBPuR2WEpef2w9H8rQ/173187/web_mwh_coralsea_271022_312.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/Phc3esiZQtC8jORSzOTIbQ/173187/web_mwh_coralsea_251022_137.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/Yy3opX4aRY-pnfn17TTANA/173187/web_mwh_coralsea_271022_422.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/_4pCmLazRuuQR6q6BzjHIA/173187/web_mwh_coralsea_251022_270.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/aX9Bts4RQU26-yjaZj2k3g/173187/web_mwh_coralsea_251022_088.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/5M6nYNMVTkOjC2msh9iAEA/173187/web_mwh_coralsea_251022_217.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/VDgD-51eTBufkQQht6IU5A/173187/web_mwh_coralsea_251022_129.jpg" alt="" /></div>
        <!-- Duplicated for seamless loop -->
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/kHCo0XC8Q1WrPV2iTqkOAQ/173187/web_mwh_coralsea_271022_382.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/NShgYBPuR2WEpef2w9H8rQ/173187/web_mwh_coralsea_271022_312.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/Phc3esiZQtC8jORSzOTIbQ/173187/web_mwh_coralsea_251022_137.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/Yy3opX4aRY-pnfn17TTANA/173187/web_mwh_coralsea_271022_422.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/_4pCmLazRuuQR6q6BzjHIA/173187/web_mwh_coralsea_251022_270.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/aX9Bts4RQU26-yjaZj2k3g/173187/web_mwh_coralsea_251022_088.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/5M6nYNMVTkOjC2msh9iAEA/173187/web_mwh_coralsea_251022_217.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/VDgD-51eTBufkQQht6IU5A/173187/web_mwh_coralsea_251022_129.jpg" alt="" /></div>
      </div>
    </div>
  </section>
```

### hero.classic-ffm-oatmeal-split-left-polished

Wrapper context: `<body data-brand="ffm">`

```css
/* Classic FFM oatmeal split (photo left), polished.
       Add staggered entrance on content, soft media reveal, tactile
       CTA feedback, gold ambient wash, focus rings, reduced motion. */

    :root {
      --ease-out-craft:    cubic-bezier(0.23, 1, 0.32, 1);
      --ease-in-out-craft: cubic-bezier(0.77, 0, 0.175, 1);
      --ease-drawer:       cubic-bezier(0.32, 0.72, 0, 1);
    }

    body {
      margin: 0;
      font-family: var(--f-sans);
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      background: var(--surface-canvas);
    }

    .skip-link {
      position: absolute; left: -9999px; top: 0;
      background: var(--p-gold-dark); color: var(--p-oatmeal);
      padding: 10px 14px; z-index: 100;
      font-family: var(--f-sans); font-size: 12px; font-weight: 600;
      letter-spacing: 0.2em; text-transform: uppercase;
    }
    .skip-link:focus { left: 12px; top: 12px; }

    .hero.hero--split-left {
      position: relative;
      overflow: hidden;
      isolation: isolate;
      padding: clamp(72px, 10vh, 112px) clamp(24px, 5vw, 64px);
    }

    /* Ambient gold wash behind content */
    .hero.hero--split-left::before {
      content: "";
      position: absolute;
      inset: auto -5% -10% auto;
      width: 55%;
      height: 65%;
      background: radial-gradient(ellipse at 70% 70%,
        rgba(201, 164, 108, 0.12) 0%,
        rgba(201, 164, 108, 0.0)  60%);
      pointer-events: none;
      z-index: 0;
    }

    .hero.hero--split-left .hero__inner {
      position: relative;
      z-index: 1;
      gap: clamp(32px, 6vw, 80px);
      align-items: center;
    }

    /* Staggered entrance for content column */
    .hero__logo,
    .hero__title,
    .hero__supporting,
    .hero__actions {
      opacity: 0;
      transform: translateY(14px);
      animation: ffmRise 900ms var(--ease-out-craft) forwards;
      will-change: transform, opacity;
    }
    .hero__logo        { animation-delay: 260ms; }
    .hero__title       { animation-delay: 400ms; }
    .hero__supporting  { animation-delay: 560ms; }
    .hero__actions     { animation-delay: 720ms; }

    @keyframes ffmRise {
      from { opacity: 0; transform: translateY(14px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .hero__title {
      letter-spacing: -0.015em;
      text-wrap: balance;
    }
    .hero__title em {
      font-family: var(--f-serif-italic);
      font-style: italic;
      color: var(--p-gold-dark);
    }

    .hero__supporting {
      color: var(--p-ink);
      max-width: 52ch;
      text-wrap: pretty;
    }

    /* CTA, tactile with gold shadow */
    .hero__cta {
      position: relative;
      padding: 16px 28px;
      min-height: 48px;
      display: inline-flex;
      align-items: center;
      transition:
        background-color 200ms var(--ease-out-craft),
        transform 180ms var(--ease-out-craft),
        box-shadow 220ms var(--ease-out-craft);
      box-shadow: 0 6px 24px -12px rgba(123, 98, 60, 0.5);
    }
    .hero__cta:hover {
      background: var(--accent-hover);
      color: var(--p-charcoal);
      transform: translateY(-1px);
      box-shadow: 0 10px 28px -10px rgba(201, 164, 108, 0.55);
    }
    .hero__cta:active {
      transform: translateY(0) scale(0.98);
      box-shadow: 0 4px 16px -10px rgba(123, 98, 60, 0.45);
    }
    .hero__cta:focus-visible {
      outline: 2px solid var(--p-gold-dark);
      outline-offset: 3px;
    }

    .hero__secondary {
      position: relative;
      padding: 10px 2px;
      min-height: 44px;
      display: inline-flex;
      align-items: center;
      transition:
        color 180ms var(--ease-out-craft),
        letter-spacing 220ms var(--ease-out-craft);
    }
    .hero__secondary:hover { letter-spacing: calc(var(--t-wider) + 0.02em); }
    .hero__secondary:active { transform: translateY(1px); }
    .hero__secondary:focus-visible {
      outline: 1px solid var(--p-gold-dark);
      outline-offset: 4px;
      border-radius: 2px;
    }

    /* Media reveal */
    .hero__media {
      position: relative;
      border-radius: 2px;
      box-shadow:
        0 24px 48px -24px rgba(16, 16, 16, 0.35),
        0 2px 8px -4px   rgba(16, 16, 16, 0.15);
      opacity: 0;
      transform: translateY(18px) scale(0.98);
      animation: ffmMediaReveal 1100ms var(--ease-drawer) 200ms forwards;
      transition:
        transform 400ms var(--ease-out-craft),
        box-shadow 400ms var(--ease-out-craft);
      will-change: transform, opacity;
    }
    @keyframes ffmMediaReveal {
      from { opacity: 0; transform: translateY(18px) scale(0.98); }
      to   { opacity: 1; transform: translateY(0) scale(1); }
    }
    @media (hover: hover) and (pointer: fine) {
      .hero__media:hover {
        transform: translateY(-4px);
        box-shadow:
          0 32px 56px -20px rgba(16, 16, 16, 0.42),
          0 4px 12px -4px   rgba(16, 16, 16, 0.2);
      }
      .hero__media:hover img { transform: scale(1.025); }
    }
    .hero__media img {
      transition: transform 900ms var(--ease-in-out-craft);
      will-change: transform;
    }

    @media (max-width: 820px) {
      .hero.hero--split-left {
        padding: 72px 20px 56px;
        min-height: auto;
      }
      .hero.hero--split-left .hero__inner {
        grid-template-columns: 1fr;
        gap: 32px;
      }
      .hero__title {
        font-size: clamp(38px, 9vw, 52px);
      }
      .hero__media {
        order: 1;
        aspect-ratio: 4/5;
        max-height: 60vh;
      }
      .hero__content { order: 2; }
    }
    @media (max-width: 380px) {
      .hero__title { font-size: 34px; }
    }

    @media (prefers-reduced-motion: reduce) {
      .hero__logo,
      .hero__title,
      .hero__supporting,
      .hero__actions,
      .hero__media {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
      .hero__media img { transition: none !important; }
    }
```

```html
<a href="#content" class="skip-link">Skip to content</a>

  <section class="hero hero--split-left" data-brand="ffm" aria-label="Freedom Filled Mastermind">
    <div class="hero__inner" id="content">
      <div class="hero__media">
        <img src="https://static.showit.co/1200/Phc3esiZQtC8jORSzOTIbQ/173187/web_mwh_coralsea_251022_137.jpg"
             alt="Tracy Harris with Mastermind members at the Coral Sea retreat, intimate group setting." />
      </div>
      <div class="hero__content">
        <img src="https://cdn.jsdelivr.net/gh/purepurposekh/tracy-harris-brand-kit@main/assets/logos/ffm/ffm-primary.svg"
             alt="Freedom Filled® Mastermind"
             class="hero__logo"
             style="height: 40px;" />
        <h1 class="hero__title">Intentionally small. <em>Quietly expensive</em>. Application-based.</h1>
        <p class="hero__supporting">
          Tracy's most intimate and premium offering. Application-based and intentionally small, for women already in business and ready to lead at a higher level.
        </p>
        <div class="hero__actions">
          <a href="#apply" class="hero__cta">Apply for the Mastermind</a>
          <a href="#details" class="hero__secondary">Request the details</a>
        </div>
      </div>
    </div>
  </section>
```

### hero.classic-ffm-oatmeal-split-left

Wrapper context: `<body data-brand="ffm">`

```html
<section class="hero hero--split-left" data-brand="ffm">
    <div class="hero__inner">
      <div class="hero__media">
        <img src="https://static.showit.co/1200/Phc3esiZQtC8jORSzOTIbQ/173187/web_mwh_coralsea_251022_137.jpg" alt="Tracy Harris with Mastermind members at the Coral Sea retreat, intimate group setting." />
      </div>
      <div class="hero__content">
        <img src="../../../assets/logos/ffm/ffm-primary.svg" alt="Freedom Filled® Mastermind" class="hero__logo" style="height: 40px;" />
        <h1 class="hero__title">Intentionally small. <em>Quietly expensive</em>. Application-based.</h1>
        <p class="hero__supporting">
          Tracy's most intimate and premium offering. Application-based and intentionally small, for women already in business and ready to lead at a higher level.
        </p>
        <div class="hero__actions">
          <a href="#apply" class="hero__cta">Apply for the Mastermind</a>
          <a href="#details" class="hero__secondary">Request the details</a>
        </div>
      </div>
    </div>
  </section>
```

### hero.classic-ffm-silk

Wrapper context: `<body data-brand="ffm">`

```html
<section class="hero hero--silk" data-brand="ffm">
    <canvas class="hero__silk-canvas" id="silk-canvas"></canvas>
    <div class="hero__silk-veil"></div>
    <div class="hero__silk-corner">Bali · 2026</div>
    <img src="../../../assets/logos/ffm/ffm-primary.svg" alt="Freedom Filled® Mastermind" class="hero__silk-logo" />
    <div class="hero__silk-content">
      <h1 class="hero__silk-title">Lead at a <em>higher level</em></h1>
      <p class="hero__silk-subtitle">
        <span>intimate</span>
        <span class="dot">·</span>
        <span>premium</span>
        <span class="dot">·</span>
        <span>by invitation</span>
      </p>
      <div class="hero__silk-actions">
        <a href="#apply" class="hero__cta">Apply for the 2026 cohort</a>
      </div>
    </div>
  </section>
  <script>
    (function () {
      const canvas = document.getElementById('silk-canvas');
      if (!canvas) return;
      const ctx = canvas.getContext('2d');
      let time = 0;
      let raf;
      const speed = 0.02;
      const scale = 2;
      const noiseIntensity = 0.8;

      function resize() {
        canvas.width = canvas.offsetWidth;
        canvas.height = canvas.offsetHeight;
      }
      resize();
      window.addEventListener('resize', resize);

      function noise(x, y) {
        const G = 2.71828;
        const rx = G * Math.sin(G * x);
        const ry = G * Math.sin(G * y);
        return (rx * ry * (1 + x)) % 1;
      }

      function animate() {
        const w = canvas.width;
        const h = canvas.height;

        // Base gradient (near-black with subtle warm shift)
        const g = ctx.createLinearGradient(0, 0, w, h);
        g.addColorStop(0, '#0f0b05');
        g.addColorStop(0.5, '#1a1308');
        g.addColorStop(1, '#0a0705');
        ctx.fillStyle = g;
        ctx.fillRect(0, 0, w, h);

        // Silk pattern in FFM gold
        const imageData = ctx.createImageData(w, h);
        const data = imageData.data;
        for (let x = 0; x < w; x += 2) {
          for (let y = 0; y < h; y += 2) {
            const u = (x / w) * scale;
            const v = (y / h) * scale;
            const tOffset = speed * time;
            const tx = u;
            const ty = v + 0.03 * Math.sin(8.0 * tx - tOffset);
            const pattern = 0.6 + 0.4 * Math.sin(
              5.0 * (tx + ty + Math.cos(3.0 * tx + 5.0 * ty) + 0.02 * tOffset) +
              Math.sin(20.0 * (tx + ty - 0.1 * tOffset))
            );
            const rnd = noise(x, y);
            const intensity = Math.max(0, pattern - (rnd / 15.0) * noiseIntensity);

            // FFM gold tones: mid gold #c9a46c = rgb(201, 164, 108)
            const r = Math.floor(201 * intensity);
            const gg = Math.floor(164 * intensity);
            const b = Math.floor(108 * intensity);

            const idx = (y * w + x) * 4;
            if (idx < data.length) {
              data[idx] = r;
              data[idx + 1] = gg;
              data[idx + 2] = b;
              data[idx + 3] = 255;
            }
          }
        }
        ctx.putImageData(imageData, 0, 0);

        // Radial darken for depth
        const rg = ctx.createRadialGradient(w / 2, h / 2, 0, w / 2, h / 2, Math.max(w, h) / 2);
        rg.addColorStop(0, 'rgba(0,0,0,0.05)');
        rg.addColorStop(1, 'rgba(0,0,0,0.45)');
        ctx.fillStyle = rg;
        ctx.fillRect(0, 0, w, h);

        time += 1;
        raf = requestAnimationFrame(animate);
      }
      animate();
    })();
  </script>
```

### hero.classic-fresh-split-right

Wrapper context: `<body data-brand="fresh">`

```html
<section class="hero hero--split-right" data-brand="fresh">
    <div class="hero__inner">
      <div class="hero__content">
        <img src="../../../assets/logos/fresh/fresh-primary.svg" alt="F.R.E.S.H FRAMEWORK®" class="hero__logo" style="height: 44px;" />
        <h1 class="hero__title">Most business programs start with strategy. <em>FRESH starts with you</em>.</h1>
        <p class="hero__supporting">
          Tracy's personal operating system, covering Fitness and Nutrition, Relationships, Environment, Self, and Hustle. The foundation that makes sustainable growth possible.
        </p>
        <div class="hero__actions">
          <a href="#quiz" class="hero__cta">Take the Quiz</a>
          <a href="#framework" class="hero__secondary">See the framework</a>
        </div>
      </div>
      <div class="hero__media">
        <img src="https://static.showit.co/1200/4FGR7zMJBKKFrUqovjcm5g/173187/062a4042-enhanced-nr.jpg" alt="Tracy Harris in a grounded, lifestyle portrait, the foundation that makes sustainable growth possible." />
      </div>
    </div>
  </section>
```

### hero.classic-tracy-textonly-polished

Wrapper context: `<body data-brand="tracy">`

```css
/* Classic Tracy text-only, polished.
       Add entrance stagger, tactile CTA, focus rings, ambient wash,
       reduced motion. Keep layout untouched. */

    :root {
      --ease-out-craft:    cubic-bezier(0.23, 1, 0.32, 1);
      --ease-in-out-craft: cubic-bezier(0.77, 0, 0.175, 1);
      --ease-drawer:       cubic-bezier(0.32, 0.72, 0, 1);
    }

    body {
      margin: 0;
      font-family: var(--f-sans);
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      background: var(--surface-canvas);
    }

    .skip-link {
      position: absolute; left: -9999px; top: 0;
      background: var(--p-aztek); color: var(--p-oatmeal);
      padding: 10px 14px; z-index: 100;
      font-family: var(--f-sans); font-size: 12px; font-weight: 600;
      letter-spacing: 0.2em; text-transform: uppercase;
    }
    .skip-link:focus { left: 12px; top: 12px; }

    .hero.hero--text-only {
      position: relative;
      overflow: hidden;
      isolation: isolate;
      padding: clamp(80px, 12vh, 140px) clamp(24px, 5vw, 80px);
    }

    /* Ambient wash, soft sage-tinted radial behind content */
    .hero.hero--text-only::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(ellipse 60% 48% at 50% 38%,
          rgba(110, 142, 119, 0.1) 0%,
          rgba(110, 142, 119, 0.0) 70%);
      pointer-events: none;
      z-index: 0;
    }

    .hero.hero--text-only .hero__inner {
      position: relative;
      z-index: 1;
    }

    /* Staggered entrance */
    .hero__logo,
    .hero__title,
    .hero__supporting,
    .hero__actions {
      opacity: 0;
      transform: translateY(14px);
      animation: tzRise 900ms var(--ease-out-craft) forwards;
      will-change: transform, opacity;
    }
    .hero__logo       { animation-delay: 180ms; }
    .hero__title      { animation-delay: 340ms; }
    .hero__supporting { animation-delay: 500ms; }
    .hero__actions    { animation-delay: 660ms; }

    @keyframes tzRise {
      from { opacity: 0; transform: translateY(14px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .hero__title { text-wrap: balance; letter-spacing: -0.015em; }
    .hero__supporting { text-wrap: pretty; }

    /* CTA, tactile */
    .hero__cta {
      position: relative;
      padding: 16px 28px;
      min-height: 48px;
      display: inline-flex;
      align-items: center;
      transition:
        background-color 200ms var(--ease-out-craft),
        transform 180ms var(--ease-out-craft),
        box-shadow 220ms var(--ease-out-craft);
      box-shadow: 0 6px 24px -12px rgba(30, 55, 53, 0.45);
    }
    .hero__cta:hover {
      background: var(--accent-hover);
      transform: translateY(-1px);
      box-shadow: 0 10px 28px -10px rgba(30, 55, 53, 0.55);
    }
    .hero__cta:active {
      transform: translateY(0) scale(0.98);
      box-shadow: 0 4px 16px -10px rgba(30, 55, 53, 0.45);
    }
    .hero__cta:focus-visible {
      outline: 2px solid var(--p-aztek);
      outline-offset: 3px;
    }

    .hero__secondary {
      position: relative;
      padding: 10px 2px;
      min-height: 44px;
      display: inline-flex;
      align-items: center;
      transition:
        color 180ms var(--ease-out-craft),
        letter-spacing 220ms var(--ease-out-craft);
    }
    .hero__secondary:hover { letter-spacing: calc(var(--t-wider) + 0.02em); }
    .hero__secondary:active { transform: translateY(1px); }
    .hero__secondary:focus-visible {
      outline: 1px solid var(--p-aztek);
      outline-offset: 4px;
      border-radius: 2px;
    }

    @media (max-width: 820px) {
      .hero.hero--text-only { padding: 72px 20px; }
      /* Karl: buttons centered to screen on mobile. Override base .hero--text-only
         rule that flips to flex-start at this breakpoint. */
      .hero.hero--text-only .hero__actions {
        justify-content: center;
        width: 100%;
      }
    }

    @media (max-width: 520px) {
      /* Stack the primary CTA + secondary link, both centered, with the
         primary going full width up to a readable cap. */
      .hero.hero--text-only .hero__actions {
        flex-direction: column;
        align-items: center;
        gap: var(--sp-4);
      }
      .hero.hero--text-only .hero__cta {
        width: 100%;
        max-width: 320px;
        justify-content: center;
        text-align: center;
        box-sizing: border-box;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .hero__logo,
      .hero__title,
      .hero__supporting,
      .hero__actions {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
    }
```

```html
<a href="#content" class="skip-link">Skip to content</a>

  <section class="hero hero--text-only" data-brand="tracy" aria-label="Tracy Harris Co introduction">
    <div class="hero__inner" id="content">
      <div class="hero__content">
        <img src="https://cdn.jsdelivr.net/gh/purepurposekh/tracy-harris-brand-kit@main/assets/logos/tracy/tracy-primary.svg"
             alt="Tracy Harris Co"
             class="hero__logo" />
        <h1 class="hero__title">Peace, Profit <em>and Presence</em>.</h1>
        <p class="hero__supporting">
          A suite of programs for women building freedom-filled businesses. Start where you are, choose the path that fits, and build something that lets you live.
        </p>
        <div class="hero__actions">
          <a href="#programs" class="hero__cta">Explore the programs</a>
          <a href="#story" class="hero__secondary">Read the story</a>
        </div>
      </div>
    </div>
  </section>
```

### hero.classic-tracy-textonly

Wrapper context: `<body data-brand="tracy">`

```html
<section class="hero hero--text-only" data-brand="tracy">
    <div class="hero__inner">
      <div class="hero__content">
        <img src="../../../assets/logos/tracy/tracy-primary.svg" alt="Tracy Harris Co" class="hero__logo" />
        <h1 class="hero__title">Peace, Profit <em>and Presence</em>.</h1>
        <p class="hero__supporting">
          A suite of programs for women building freedom-filled businesses. Start where you are, choose the path that fits, and build something that lets you live.
        </p>
        <div class="hero__actions">
          <a href="#programs" class="hero__cta">Explore the programs</a>
          <a href="#story" class="hero__secondary">Read the story</a>
        </div>
      </div>
    </div>
  </section>
```

### hero.editorial-wordmark-polished

Wrapper context: `<body data-brand="tracy">`

```css
/* ----------------------------------------------------------------
       Editorial wordmark, wordmark-over-portrait hero.
       Polished: custom easing curves, staggered entrance, tactile
       micro-interactions, grain overlay, tinted shadows, reduced
       motion honoured. Brand-true: Editors Note + Jhon Halend + Poppins,
       aztek/oatmeal/charcoal palette.
       ---------------------------------------------------------------- */

    :root {
      --ease-out-craft: cubic-bezier(0.23, 1, 0.32, 1);
      --ease-drawer:    cubic-bezier(0.32, 0.72, 0, 1);
      --ease-in-out-craft: cubic-bezier(0.77, 0, 0.175, 1);
    }

    *, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-charcoal);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    /* Skip link for keyboard users */
    .skip-link {
      position: absolute; left: -9999px; top: 0;
      background: var(--p-oatmeal); color: var(--p-charcoal);
      padding: 10px 14px; z-index: 100;
      font-family: var(--f-sans); font-size: 12px; font-weight: 600;
      letter-spacing: 0.2em; text-transform: uppercase;
    }
    .skip-link:focus { left: 12px; top: 12px; }

    /* T brandmark */
    .t-mark { width: auto; fill: currentColor; display: block; }
    .t-mark--bar { height: 28px; }

    /* -------- TOP NAV -------- */
    .ahero__nav {
      position: absolute;
      top: 0; left: 0; right: 0;
      z-index: 4;
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      padding: 22px 40px;
      color: var(--p-oatmeal);
      gap: 20px;
      opacity: 0;
      transform: translateY(-8px);
      animation: aheroFadeDown 900ms var(--ease-out-craft) 200ms forwards;
    }
    .ahero__nav-group { display: flex; gap: 36px; align-items: center; }
    .ahero__nav-group--right { justify-content: flex-end; }

    .ahero__nav-link {
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: inherit;
      text-decoration: none;
      position: relative;
      padding: 10px 2px;       /* bigger touch target, optical centering */
      transition: color 180ms var(--ease-out-craft);
    }
    .ahero__nav-link::after {
      content: "";
      position: absolute;
      left: 2px; right: 2px; bottom: 6px;
      height: 1px;
      background: currentColor;
      transform: scaleX(0);
      transform-origin: left center;
      transition: transform 320ms var(--ease-out-craft);
    }
    @media (hover: hover) and (pointer: fine) {
      .ahero__nav-link:hover::after { transform: scaleX(1); }
    }
    .ahero__nav-link:focus-visible {
      outline: 1px solid var(--p-oatmeal);
      outline-offset: 4px;
      border-radius: 2px;
    }
    .ahero__nav-link:active { transform: translateY(1px); }

    .ahero__nav-wordmark {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: inherit;
      text-decoration: none;
      padding: 8px;
      transition: transform 240ms var(--ease-out-craft), opacity 240ms var(--ease-out-craft);
    }
    .ahero__nav-wordmark:hover { transform: scale(1.04); }
    .ahero__nav-wordmark:active { transform: scale(0.97); }
    .ahero__nav-wordmark:focus-visible {
      outline: 1px solid var(--p-oatmeal);
      outline-offset: 6px;
      border-radius: 2px;
    }

    .ahero__menu {
      background: none; border: 0; cursor: pointer;
      padding: 10px; color: inherit;
      display: inline-flex; align-items: center; gap: 10px;
      font-family: var(--f-sans);
      font-size: 11px; font-weight: 500;
      letter-spacing: 0.22em; text-transform: uppercase;
      -webkit-tap-highlight-color: transparent;
      margin-left: 8px;
      transition: transform 160ms var(--ease-out-craft), opacity 160ms var(--ease-out-craft);
      min-height: 44px; min-width: 44px;
    }
    .ahero__menu:active { transform: scale(0.97); }
    .ahero__menu:focus-visible {
      outline: 1px solid var(--p-oatmeal);
      outline-offset: 4px;
      border-radius: 2px;
    }
    .ahero__menu-icon { display: inline-block; width: 24px; height: 10px; position: relative; }
    .ahero__menu-icon::before,
    .ahero__menu-icon::after {
      content: ""; position: absolute; left: 0; right: 0;
      height: 1.5px; background: currentColor;
      transition: transform 280ms var(--ease-out-craft);
    }
    .ahero__menu-icon::before { top: 0; }
    .ahero__menu-icon::after  { bottom: 0; }
    .ahero__menu:hover .ahero__menu-icon::before { transform: translateX(-2px); }
    .ahero__menu:hover .ahero__menu-icon::after  { transform: translateX(2px); }

    /* -------- THE HERO -------- */
    .ahero {
      position: relative;
      min-height: 100dvh;
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 80px clamp(16px, 4vw, 48px);
      background: var(--p-charcoal);
      isolation: isolate;
    }

    /* Background photo with slow Ken Burns */
    .ahero__image {
      position: absolute;
      inset: 0;
      background-image: url("https://cdn.jsdelivr.net/gh/purepurposekh/tracy-harris-brand-kit@main/assets/photos/tracy-outfit8-39.jpg");
      background-size: cover;
      background-position: center 30%;
      filter: saturate(0.95) contrast(1.02);
      z-index: 1;
      transform: scale(1.06);
      /* Reveal only. Continuous Ken Burns drift was visually distracting
         when scrolling; the subtle scroll-zoom on iOS made it look
         broken. Photo settles at its reveal-end state and stays put. */
      animation: aheroReveal 1400ms var(--ease-drawer) 100ms both;
      will-change: transform, opacity;
    }
    @keyframes aheroReveal {
      from { opacity: 0; transform: scale(1.12); }
      to   { opacity: 1; transform: scale(1.06); }
    }
    @keyframes aheroKenBurns {
      from { transform: scale(1.06) translate3d(0, 0, 0); }
      to   { transform: scale(1.11) translate3d(-1.2%, -0.8%, 0); }
    }

    /* Edge vignette */
    .ahero__image::after {
      content: "";
      position: absolute; inset: 0;
      background:
        linear-gradient(180deg,
          rgba(16,16,16,0.48) 0%,
          rgba(16,16,16,0.06) 14%,
          rgba(16,16,16,0.0)  40%,
          rgba(16,16,16,0.0)  70%,
          rgba(16,16,16,0.44) 100%);
    }

    /* Central scrim behind type */
    .ahero__scrim {
      position: absolute;
      inset: 0; z-index: 1;
      pointer-events: none;
      background: radial-gradient(ellipse 62% 48% at 50% 52%,
        rgba(16,16,16,0.58) 0%,
        rgba(16,16,16,0.36) 38%,
        rgba(16,16,16,0.12) 62%,
        rgba(16,16,16,0.0)  82%);
    }

    /* Subtle grain, fixed overlay, pointer-events:none */
    .ahero__grain {
      position: absolute;
      inset: 0; z-index: 2;
      pointer-events: none;
      opacity: 0.35;
      mix-blend-mode: overlay;
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.96 0 0 0 0 0.94 0 0 0 0 0.89 0 0 0 0.42 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    }

    /* -------- CONTENT -------- */
    .ahero__content {
      position: relative;
      z-index: 3;
      text-align: center;
      max-width: 1100px;
      width: 100%;
      color: var(--p-oatmeal);
    }

    .ahero__eyebrow,
    .ahero__wordmark,
    .ahero__sub {
      opacity: 0;
      transform: translateY(12px);
      animation: aheroRise 900ms var(--ease-out-craft) forwards;
      will-change: transform, opacity;
    }
    .ahero__eyebrow  { animation-delay: 420ms; }
    .ahero__wordmark { animation-delay: 560ms; }
    .ahero__sub      { animation-delay: 780ms; }

    @keyframes aheroRise {
      from { opacity: 0; transform: translateY(12px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .ahero__eyebrow {
      font-family: 'Jhon Halend', cursive;
      font-weight: 400;
      font-size: clamp(26px, 3vw, 40px);
      line-height: 1;
      margin: 0 0 14px;
      color: var(--p-oatmeal);
      letter-spacing: 0.01em;
    }

    .ahero__wordmark {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(44px, 7.2vw, 108px);
      line-height: 1;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      color: var(--p-oatmeal);
      margin: 0;
      text-wrap: balance;
      /* Optical lift, serif caps read heavier at size */
      text-shadow: 0 2px 60px rgba(0,0,0,0.25);
    }

    .ahero__sub {
      font-family: var(--f-sans);
      font-size: clamp(13px, 1.05vw, 15px);
      line-height: 1.65;
      font-weight: 400;
      color: var(--p-oatmeal);
      margin: 20px auto 0;
      max-width: 44ch;
      opacity: 0.92;
      text-wrap: pretty;
    }
    .ahero__sub em {
      font-family: var(--f-serif-italic);
      font-style: italic;
      font-weight: 400;
    }

    /* Navigate / scroll cue */
    .ahero__navigate {
      position: absolute;
      bottom: 26px;
      left: 50%;
      transform: translate(-50%, 12px);
      z-index: 3;
      color: var(--p-oatmeal);
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.32em;
      text-transform: uppercase;
      background: none;
      border: 0;
      cursor: pointer;
      padding: 8px 10px;
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      gap: 10px;
      opacity: 0;
      animation: aheroNavigateRise 900ms var(--ease-out-craft) 1100ms forwards;
      text-decoration: none;
      transition: opacity 240ms var(--ease-out-craft), transform 240ms var(--ease-out-craft);
    }
    @keyframes aheroNavigateRise {
      from { opacity: 0; transform: translate(-50%, 12px); filter: blur(3px); }
      to   { opacity: 1; transform: translate(-50%, 0);    filter: blur(0); }
    }
    .ahero__navigate::after {
      content: "";
      display: block;
      width: 1px;
      height: 30px;
      background: currentColor;
      opacity: 0.6;
      transform-origin: top center;
      animation: aheroBreatheLine 2800ms var(--ease-in-out-craft) 1600ms infinite;
    }
    @keyframes aheroBreatheLine {
      0%, 100% { transform: scaleY(1);   opacity: 0.6; }
      50%      { transform: scaleY(0.7); opacity: 0.9; }
    }
    .ahero__navigate:hover { transform: translateX(-50%) translateY(3px); }
    .ahero__navigate:active { transform: translateX(-50%) translateY(4px) scale(0.97); }
    .ahero__navigate:focus-visible {
      outline: 1px solid var(--p-oatmeal);
      outline-offset: 4px;
    }

    /* -------- EXHALE BELOW -------- */
    .aexhale {
      padding: clamp(80px, 12vh, 140px) clamp(20px, 6vw, 80px);
      background: var(--p-cream);
      color: var(--p-charcoal);
      text-align: center;
      position: relative;
    }
    .aexhale p {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(24px, 2.4vw, 32px);
      line-height: 1.45;
      max-width: 720px;
      margin: 0 auto;
      text-wrap: balance;
    }
    .aexhale em { font-family: var(--f-serif-italic); font-style: italic; }

    @keyframes aheroFadeDown {
      from { opacity: 0; transform: translateY(-8px); }
      to   { opacity: 1; transform: translateY(0); }
    }

    /* -------- MOBILE -------- */
    @media (max-width: 820px) {
      .ahero__nav {
        padding: 14px 18px;
        grid-template-columns: auto 1fr auto;
        gap: 12px;
      }
      .ahero__nav-group:not(.ahero__nav-group--right) { display: none; }
      .ahero__nav-group--right .ahero__nav-link { display: none; }
      .ahero__nav-wordmark .t-mark--bar { height: 22px; }
      .ahero__menu { margin-left: 0; padding: 10px; }
      .ahero__menu span:first-child { display: none; }
      .ahero__menu-icon { width: 26px; height: 12px; }

      .ahero { padding: 90px 20px; }
      .ahero__eyebrow  { font-size: 26px; }
      .ahero__wordmark { font-size: clamp(34px, 10vw, 64px); letter-spacing: 0.04em; }
      .ahero__sub      { font-size: 13px; max-width: 34ch; }
      .ahero__navigate { bottom: 18px; font-size: 9px; }
      .ahero__navigate::after { height: 22px; }
    }

    @media (max-width: 380px) {
      .ahero__wordmark { font-size: 32px; }
    }

    /* -------- REDUCED MOTION -------- */
    @media (prefers-reduced-motion: reduce) {
      .ahero__image,
      .ahero__nav,
      .ahero__eyebrow,
      .ahero__wordmark,
      .ahero__sub,
      .ahero__navigate,
      .ahero__navigate::after {
        animation: none !important;
      }
      .ahero__image  { transform: scale(1.02); opacity: 1; }
      .ahero__nav,
      .ahero__eyebrow,
      .ahero__wordmark,
      .ahero__sub,
      .ahero__navigate { opacity: 1; transform: none; }
      .ahero__navigate { transform: translateX(-50%); }
    }
```

```html
<a href="#below" class="skip-link">Skip to content</a>

  <section class="ahero" aria-label="Introduction">
    <div class="ahero__image" role="img" aria-label="Tracy Harris portrait"></div>
    <div class="ahero__scrim" aria-hidden="true"></div>
    <div class="ahero__grain" aria-hidden="true"></div>

    <nav class="ahero__nav" aria-label="Primary">
      <div class="ahero__nav-group">
        <a href="/" class="ahero__nav-link">Home</a>
        <a href="/about" class="ahero__nav-link">About</a>
        <a href="/programs" class="ahero__nav-link">Programs</a>
      </div>

      <a href="/" class="ahero__nav-wordmark" aria-label="Tracy Harris home">
        <svg class="t-mark t-mark--bar" viewBox="0 0 263.98 382.72" aria-hidden="true">
          <path d="M0,94.76V12.84L76.42,0v94.76h72.75l-2.45,10.39h-70.3v182.19c0,34.24,14.67,51.97,45.24,51.97,17.73,0,31.18-12.23,36.68-21.4l9.17,5.5c-12.23,28.73-49.52,59.3-90.48,59.3-48.3,0-77.03-19.56-77.03-93.54V94.76Z"/>
          <circle cx="233.68" cy="352.41" r="30.31"/>
        </svg>
      </a>

      <div class="ahero__nav-group ahero__nav-group--right">
        <a href="/podcast" class="ahero__nav-link">Podcast</a>
        <a href="/blog" class="ahero__nav-link">Blog</a>
        <a href="/apply" class="ahero__nav-link">Apply</a>
        <button class="ahero__menu" type="button" aria-label="Open menu">
          <span>Menu</span>
          <span class="ahero__menu-icon" aria-hidden="true"></span>
        </button>
      </div>
    </nav>

    <div class="ahero__content">
      <p class="ahero__eyebrow">Peace, Profit, Presence.</p>
      <h1 class="ahero__wordmark">Tracy Harris</h1>
      <p class="ahero__sub">
        Mentorship, mastermind and community for women building <em>Freedom Filled®</em> businesses. Grounded in story, strategy and spaciousness.
      </p>
    </div>

    <a href="#below" class="ahero__navigate" aria-label="Scroll to next section">
      <span>Navigate</span>
    </a>
  </section>

  <section class="aexhale" id="below">
    <p>
      Build a <em>beautiful business</em> that lets you live.
      Peaceful. Profitable. <em>Present.</em>
    </p>
  </section>
```

### hero.editorial-wordmark

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-cream);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }

    /* Official T brandmark */
    .t-mark { width: auto; fill: currentColor; display: block; }
    .t-mark--bar { height: 28px; }

    /* -------- TOP NAV (inside hero, white over photo) -------- */
    .ahero__nav {
      position: absolute;
      top: 0; left: 0; right: 0;
      z-index: 3;
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      padding: 22px 40px;
      color: var(--p-oatmeal);
      gap: 20px;
    }
    .ahero__nav-group {
      display: flex;
      gap: 36px;
      align-items: center;
    }
    .ahero__nav-group--right { justify-content: flex-end; }
    .ahero__nav-link {
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: inherit;
      text-decoration: none;
      position: relative;
      padding: 6px 0;
    }
    .ahero__nav-link::after {
      content: "";
      position: absolute;
      left: 0; right: 0; bottom: 2px;
      height: 1px;
      background: currentColor;
      transform: scaleX(0);
      transform-origin: left;
      transition: transform .3s ease;
    }
    .ahero__nav-link:hover::after { transform: scaleX(1); }

    /* Center brandmark in the bar */
    .ahero__nav-wordmark {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: inherit;
      text-decoration: none;
    }

    .ahero__menu {
      background: none;
      border: 0;
      cursor: pointer;
      padding: 10px;
      color: inherit;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      -webkit-tap-highlight-color: transparent;
      margin-left: 8px;
    }
    .ahero__menu-icon { display: inline-block; width: 24px; height: 10px; position: relative; }
    .ahero__menu-icon::before,
    .ahero__menu-icon::after {
      content: ""; position: absolute; left: 0; right: 0;
      height: 1.5px; background: currentColor;
    }
    .ahero__menu-icon::before { top: 0; }
    .ahero__menu-icon::after { bottom: 0; }

    /* -------- THE HERO -------- */
    .ahero {
      position: relative;
      min-height: 100vh;
      min-height: 100svh;
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 80px clamp(16px, 4vw, 48px) 80px;
      background: var(--p-charcoal);
    }
    .ahero__image {
      position: absolute;
      inset: 0;
      background-image: url("../../../assets/photos/tracy-outfit8-39.jpg");
      background-size: cover;
      background-position: center 30%;
      filter: saturate(0.95) contrast(1.02);
      z-index: 1;
      transform: scale(1.04);
      animation: aheroKenBurns 22s ease-in-out infinite alternate;
    }
    @keyframes aheroKenBurns {
      from { transform: scale(1.04) translate(0, 0); }
      to   { transform: scale(1.09) translate(-1.2%, -0.8%); }
    }
    /* Edge vignette so top-nav + bottom-cue stay legible on bright photo */
    .ahero__image::after {
      content: "";
      position: absolute; inset: 0;
      background:
        linear-gradient(180deg,
          rgba(16,16,16,0.45) 0%,
          rgba(16,16,16,0.05) 14%,
          rgba(16,16,16,0.0) 40%,
          rgba(16,16,16,0.0) 70%,
          rgba(16,16,16,0.40) 100%);
    }
    /* Soft center scrim directly behind the text block, large radial wash */
    .ahero__scrim {
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      background: radial-gradient(ellipse 62% 48% at 50% 52%,
        rgba(16,16,16,0.55) 0%,
        rgba(16,16,16,0.35) 38%,
        rgba(16,16,16,0.12) 62%,
        rgba(16,16,16,0.0) 82%);
    }

    /* Content block (centered in hero) */
    .ahero__content {
      position: relative;
      z-index: 2;
      text-align: center;
      max-width: 1100px;
      width: 100%;
      color: var(--p-oatmeal);
    }
    .ahero__eyebrow {
      font-family: 'Jhon Halend', 'Caveat', cursive;
      font-weight: 400;
      font-size: clamp(26px, 3vw, 40px);
      line-height: 1;
      margin: 0 0 10px;
      color: var(--p-oatmeal);
      letter-spacing: 0.01em;
    }
    .ahero__wordmark {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(44px, 7.2vw, 108px);
      line-height: 1;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      color: var(--p-oatmeal);
      margin: 0;
    }
    .ahero__sub {
      font-family: var(--f-sans);
      font-size: clamp(13px, 1.05vw, 15px);
      line-height: 1.6;
      font-weight: 400;
      color: var(--p-oatmeal);
      margin: 18px auto 0;
      max-width: 44ch;
      opacity: 0.92;
    }
    .ahero__sub em {
      font-family: var(--f-serif-italic);
      font-style: italic;
      font-weight: 400;
    }

    /* Bottom "NAVIGATE" cue */
    .ahero__navigate {
      position: absolute;
      bottom: 24px;
      left: 50%;
      transform: translateX(-50%);
      z-index: 3;
      color: var(--p-oatmeal);
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.32em;
      text-transform: uppercase;
      background: none;
      border: 0;
      cursor: pointer;
      padding: 8px 10px;
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      gap: 10px;
      opacity: 0.92;
    }
    .ahero__navigate::after {
      content: "";
      display: block;
      width: 1px;
      height: 26px;
      background: currentColor;
      opacity: 0.6;
    }
    .ahero__navigate:hover { opacity: 1; }

    /* -------- EXHALE BELOW -------- */
    .aexhale {
      padding: clamp(80px, 12vh, 140px) clamp(20px, 6vw, 80px);
      background: var(--p-cream);
      color: var(--p-charcoal);
      text-align: center;
    }
    .aexhale p {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(24px, 2.4vw, 32px);
      line-height: 1.45;
      max-width: 720px;
      margin: 0 auto;
    }
    .aexhale em { font-family: var(--f-serif-italic); font-style: italic; }

    /* -------- MOBILE -------- */
    @media (max-width: 820px) {
      .ahero__nav {
        padding: 14px 18px;
        grid-template-columns: auto 1fr auto;
        gap: 12px;
      }
      .ahero__nav-group:not(.ahero__nav-group--right) { display: none; }
      .ahero__nav-group--right .ahero__nav-link { display: none; }
      .ahero__nav-wordmark .t-mark--bar { height: 22px; }
      .ahero__menu { margin-left: 0; padding: 8px; }
      .ahero__menu span:first-child { display: none; }
      .ahero__menu-icon { width: 26px; height: 12px; }

      .ahero {
        padding: 90px 20px 90px;
      }
      .ahero__eyebrow {
        font-size: 26px;
      }
      .ahero__wordmark {
        font-size: clamp(34px, 10vw, 64px);
        letter-spacing: 0.04em;
      }
      .ahero__sub {
        font-size: 13px;
        max-width: 34ch;
      }
      .ahero__navigate { bottom: 18px; font-size: 9px; }
      .ahero__navigate::after { height: 20px; }
    }

    @media (max-width: 380px) {
      .ahero__wordmark { font-size: 32px; }
    }
```

```html
<section class="ahero">
    <div class="ahero__image" role="img" aria-label="Tracy Harris portrait"></div>
    <div class="ahero__scrim" aria-hidden="true"></div>

    <nav class="ahero__nav" aria-label="Primary">
      <div class="ahero__nav-group">
        <a href="/" class="ahero__nav-link">Home</a>
        <a href="/about" class="ahero__nav-link">About</a>
        <a href="/programs" class="ahero__nav-link">Programs</a>
      </div>

      <a href="/" class="ahero__nav-wordmark" aria-label="Tracy Harris home">
        <svg class="t-mark t-mark--bar" viewBox="0 0 263.98 382.72" aria-hidden="true">
          <path d="M0,94.76V12.84L76.42,0v94.76h72.75l-2.45,10.39h-70.3v182.19c0,34.24,14.67,51.97,45.24,51.97,17.73,0,31.18-12.23,36.68-21.4l9.17,5.5c-12.23,28.73-49.52,59.3-90.48,59.3-48.3,0-77.03-19.56-77.03-93.54V94.76Z"/>
          <circle cx="233.68" cy="352.41" r="30.31"/>
        </svg>
      </a>

      <div class="ahero__nav-group ahero__nav-group--right">
        <a href="/podcast" class="ahero__nav-link">Podcast</a>
        <a href="/blog" class="ahero__nav-link">Blog</a>
        <a href="/apply" class="ahero__nav-link">Apply</a>
        <button class="ahero__menu" type="button" aria-label="Open menu">
          <span>Menu</span>
          <span class="ahero__menu-icon" aria-hidden="true"></span>
        </button>
      </div>
    </nav>

    <div class="ahero__content">
      <p class="ahero__eyebrow">Peace, Profit, Presence.</p>
      <h1 class="ahero__wordmark">Tracy Harris</h1>
      <p class="ahero__sub">
        Mentorship, mastermind and community for women building <em>Freedom Filled®</em> businesses, grounded in story, strategy and spaciousness.
      </p>
    </div>

    <a href="#below" class="ahero__navigate" aria-label="Scroll to next section">
      <span>Navigate</span>
    </a>
  </section>

  <section class="aexhale" id="below">
    <p>
      Build a <em>beautiful business</em> that lets you live.
      Peaceful. Profitable. <em>Present.</em>
    </p>
  </section>
```

### hero.optin-confirmation

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }

    .page {
      background: var(--p-oatmeal);
      padding: clamp(14px, 1.6vw, 24px);
      min-height: 100vh;
    }

    /* -------- HERO SHELL (single-column, centered) -------- */
    .hero {
      position: relative;
      background: var(--p-oatmeal);
      border: 1px solid var(--border-hairline);
      border-radius: 12px;
      overflow: hidden;
      padding-block: clamp(72px, 9vw, 120px);
      padding-inline: clamp(24px, 5vw, 64px);
      max-width: 920px;
      margin: 0 auto;
      text-align: center;
      min-height: 620px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .hero__content { max-width: 720px; margin: 0 auto; }

    .hero__eyebrow {
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--p-sage);
      margin: 0 0 18px;
    }
    .hero__eyebrow::before {
      content: "";
      display: inline-block;
      width: 24px; height: 1px;
      background: var(--p-sage);
      vertical-align: middle;
      margin-right: 12px;
    }

    .hero__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(44px, 6vw, 84px);
      line-height: 1.02;
      letter-spacing: -0.02em;
      color: var(--p-charcoal);
      margin: 0 0 20px;
    }
    .hero__title em { font-family: var(--f-serif-italic); font-style: italic; }

    .hero__script {
      font-family: var(--f-script);
      font-weight: 400;
      font-size: clamp(28px, 3.2vw, 40px);
      line-height: 1;
      color: var(--p-sage);
      margin: 0 0 28px;
    }

    .hero__body {
      font-family: var(--f-sans);
      font-size: 16px;
      line-height: 1.65;
      color: var(--p-ink);
      margin: 0 auto 32px;
      max-width: 48ch;
    }
    .hero__body strong { font-weight: 600; color: var(--p-charcoal); }

    .hero__ctas {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      align-items: center;
      justify-content: center;
    }

    .hero__cta {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 14px 28px;
      border-radius: var(--r-pill);
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      text-decoration: none;
      transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
      border: 1px solid transparent;
    }
    .hero__cta--primary {
      background: var(--p-cream);
      color: var(--p-charcoal);
      border-color: var(--p-charcoal);
    }
    .hero__cta--primary:hover {
      background: var(--p-aztek);
      color: var(--p-oatmeal);
      border-color: var(--p-aztek);
      transform: translateY(-1px);
    }
    .hero__cta--ghost {
      background: transparent;
      color: var(--p-ink);
      border-color: transparent;
      padding: 14px 16px;
      letter-spacing: 0.12em;
      border-bottom: 1px solid var(--p-ink);
      border-radius: 0;
    }
    .hero__cta--ghost:hover { color: var(--p-aztek); border-bottom-color: var(--p-aztek); }

    /* -------- CONFIRMATION CHECKLIST (inbox box) -------- */
    .inbox {
      margin: 32px auto 0;
      background: var(--p-cream);
      border-radius: 10px;
      padding: 20px 22px;
      font-size: 14px;
      line-height: 1.6;
      color: var(--p-ink);
      max-width: 48ch;
      text-align: left;
    }
    .inbox__label {
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--p-aztek);
      margin: 0 0 10px;
    }
    .inbox__rows { display: grid; gap: 8px; }
    .inbox__row {
      display: grid;
      grid-template-columns: 20px 1fr;
      gap: 10px;
      align-items: start;
    }
    .inbox__tick {
      width: 16px; height: 16px;
      border-radius: 50%;
      background: var(--p-sage);
      color: var(--p-oatmeal);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-top: 3px;
      flex-shrink: 0;
    }
    .inbox__tick svg { width: 9px; height: 9px; }
    .inbox__row strong { color: var(--p-charcoal); font-weight: 600; }
    .inbox__row code {
      font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
      font-size: 12px;
      padding: 1px 6px;
      background: var(--p-oatmeal);
      border-radius: 3px;
    }

    /* -------- MOBILE -------- */
    @media (max-width: 820px) {
      .hero {
        padding-block: clamp(48px, 8vw, 72px);
        padding-inline: clamp(20px, 5vw, 28px);
        min-height: 0;
      }
      .hero__title { font-size: clamp(34px, 10vw, 54px); }
      .hero__script { font-size: 28px; }
    }
    @media (max-width: 430px) {
      .page { padding: 10px; }
      .hero { padding: 32px 20px; }
      .hero__title { font-size: 34px; }
      .hero__ctas { flex-direction: column; align-items: stretch; }
      .hero__cta { justify-content: center; }
      .hero__cta--ghost { border-bottom: 0; padding: 12px; }
    }
```

```html
<div class="page">
    <section class="hero" id="confirm" aria-label="Opt-in confirmation hero">
      <div class="hero__content">
        <p class="hero__eyebrow">You're on the list</p>
        <h1 class="hero__title">You're <em>in</em>.</h1>
        <p class="hero__script">Check your inbox, lovely.</p>
        <p class="hero__body">
          Your free guide is on its way right now. If it's not there in the next few minutes, have a quick peek in Promotions or Spam. Nothing is broken, Gmail is just being Gmail.
        </p>

        <div class="inbox">
          <p class="inbox__label">While the email lands</p>
          <div class="inbox__rows">
            <div class="inbox__row">
              <span class="inbox__tick" aria-hidden="true">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>
              </span>
              <span>Add <code>hello@tracyharris.co</code> to your contacts so every future email lands in the main inbox.</span>
            </div>
            <div class="inbox__row">
              <span class="inbox__tick" aria-hidden="true">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>
              </span>
              <span>Look for the subject line <strong>"Your guide is here, lovely"</strong>.</span>
            </div>
            <div class="inbox__row">
              <span class="inbox__tick" aria-hidden="true">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>
              </span>
              <span>Save this page. The link inside takes you back if you need it.</span>
            </div>
          </div>
        </div>

        <div class="hero__ctas" style="margin-top: 28px;">
          <a href="/podcast/latest" class="hero__cta hero__cta--primary">Listen while you wait</a>
          <a href="https://instagram.com/tracyharrisco" class="hero__cta hero__cta--ghost">Come say hi on Instagram</a>
        </div>
      </div>
    </section>
  </div>
```

### hero.oto-polished

Wrapper context: `<body data-brand="tracy">`

```css
:root {
      --ease-out-craft:    cubic-bezier(0.23, 1, 0.32, 1);
      --ease-in-out-craft: cubic-bezier(0.77, 0, 0.175, 1);
      --ease-drawer:       cubic-bezier(0.32, 0.72, 0, 1);
    }

    *, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-cream);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    .skip-link {
      position: absolute; left: -9999px; top: 0;
      background: var(--p-aztek); color: var(--p-oatmeal);
      padding: 10px 14px; z-index: 100;
      font-family: var(--f-sans); font-size: 12px; font-weight: 600;
      letter-spacing: 0.2em; text-transform: uppercase;
    }
    .skip-link:focus { left: 12px; top: 12px; }

    .oto {
      min-height: 100vh;
      min-height: 100svh;
      background: var(--p-cream);
      position: relative;
      display: grid;
      place-items: center;
      padding: clamp(32px, 6vw, 80px) clamp(20px, 5vw, 48px);
      overflow: hidden;
      isolation: isolate;
    }
    .oto::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(ellipse 60% 50% at 30% 20%, rgba(110,142,119,0.12) 0%, transparent 60%),
        radial-gradient(ellipse 50% 40% at 75% 85%, rgba(201,164,108,0.1) 0%, transparent 60%);
      pointer-events: none;
    }

    .oto__inner {
      position: relative;
      z-index: 1;
      max-width: 740px;
      width: 100%;
      text-align: center;
    }

    .oto__eyebrow,
    .oto__offer,
    .oto__title,
    .oto__script,
    .oto__body,
    .deadline,
    .oto__ctawrap,
    .oto__legal {
      opacity: 0;
      transform: translateY(12px);
      animation: otoRise 900ms var(--ease-out-craft) forwards;
      will-change: transform, opacity;
    }
    .oto__eyebrow  { animation-delay: 160ms; }
    .oto__offer    { animation-delay: 280ms; }
    .oto__title    { animation-delay: 420ms; }
    .oto__script   { animation-delay: 560ms; }
    .oto__body     { animation-delay: 680ms; }
    .deadline      { animation-delay: 820ms; }
    .oto__ctawrap  { animation-delay: 940ms; }
    .oto__legal    { animation-delay: 1080ms; }

    @keyframes otoRise {
      from { opacity: 0; transform: translateY(12px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .oto__eyebrow {
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.32em;
      text-transform: uppercase;
      color: var(--p-aztek);
      margin: 0 0 20px;
      display: inline-flex;
      align-items: center;
      gap: 10px;
    }
    .oto__eyebrow::before,
    .oto__eyebrow::after {
      content: "";
      width: 28px; height: 1px;
      background: var(--p-aztek);
      opacity: 0.4;
    }

    .oto__offer {
      font-family: var(--f-serif-display);
      font-size: clamp(22px, 2.6vw, 32px);
      font-weight: 400;
      letter-spacing: 0.02em;
      color: var(--p-aztek);
      margin: 0 0 12px;
    }
    .oto__offer em { font-family: var(--f-serif-italic); font-style: italic; }

    .oto__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(44px, 6.5vw, 88px);
      line-height: 1.02;
      letter-spacing: -0.02em;
      color: var(--p-charcoal);
      margin: 0 0 24px;
      max-width: 16ch;
      margin-inline: auto;
      text-wrap: balance;
    }
    .oto__title em { font-family: var(--f-serif-italic); font-style: italic; }

    .oto__script {
      font-family: var(--f-script);
      font-weight: 400;
      font-size: clamp(28px, 3vw, 38px);
      line-height: 1;
      color: var(--p-sage);
      margin: 0 0 28px;
    }

    .oto__body {
      font-family: var(--f-sans);
      font-size: 17px;
      line-height: 1.65;
      color: var(--p-ink);
      margin: 0 auto 40px;
      max-width: 54ch;
      text-wrap: pretty;
    }
    .oto__body strong { color: var(--p-charcoal); font-weight: 600; }

    .deadline {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      padding: 12px 22px;
      margin: 0 0 32px;
      background: var(--p-oatmeal);
      border: 1px solid rgba(30,55,53,0.18);
      border-radius: var(--r-pill);
      font-family: var(--f-sans);
      font-size: 13px;
      font-weight: 500;
      letter-spacing: 0.04em;
      color: var(--p-charcoal);
    }
    .deadline__icon {
      width: 16px; height: 16px;
      color: var(--p-aztek);
      flex-shrink: 0;
    }
    .deadline strong { font-weight: 700; color: var(--p-aztek); }

    .oto__cta {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      padding: 20px 44px;
      min-height: 48px;
      border-radius: var(--r-pill);
      font-family: var(--f-sans);
      font-size: 13px;
      font-weight: 700;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      text-decoration: none;
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      border: 1.5px solid var(--p-charcoal);
      transition:
        background 220ms var(--ease-out-craft),
        color 200ms var(--ease-out-craft),
        border-color 220ms var(--ease-out-craft),
        transform 180ms var(--ease-out-craft),
        box-shadow 220ms var(--ease-out-craft);
      box-shadow: 0 12px 28px -14px rgba(16,16,16,0.2);
    }
    .oto__cta:hover {
      background: var(--p-aztek);
      color: var(--p-oatmeal);
      border-color: var(--p-aztek);
      transform: translateY(-2px);
      box-shadow: 0 18px 40px -14px rgba(30,55,53,0.35);
    }
    .oto__cta:active {
      transform: translateY(0) scale(0.98);
    }
    .oto__cta:focus-visible {
      outline: 2px solid var(--p-aztek);
      outline-offset: 4px;
    }
    .oto__cta svg {
      width: 14px; height: 14px;
      transition: transform 280ms var(--ease-out-craft);
    }
    .oto__cta:hover svg { transform: translateX(4px); }

    .oto__legal {
      margin: 28px auto 0;
      font-family: var(--f-sans);
      font-size: 12px;
      line-height: 1.55;
      color: var(--p-mute);
      max-width: 44ch;
    }
    .oto__legal em { font-style: italic; color: var(--p-ink); }

    @media (max-width: 820px) {
      .oto__title { font-size: clamp(36px, 10vw, 56px); }
      .oto__body { font-size: 16px; }
    }
    @media (max-width: 430px) {
      .oto { padding: 40px 20px; }
      .oto__cta { padding: 16px 28px; width: 100%; justify-content: center; }
      .deadline { font-size: 12px; padding: 10px 16px; gap: 8px; flex-wrap: wrap; justify-content: center; }
    }
    @media (max-width: 380px) {
      .oto__title { font-size: 32px; }
      .oto__script { font-size: 24px; }
    }

    @media (prefers-reduced-motion: reduce) {
      .oto__eyebrow,
      .oto__offer,
      .oto__title,
      .oto__script,
      .oto__body,
      .deadline,
      .oto__ctawrap,
      .oto__legal {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
      .oto__cta:hover svg { transform: none; }
    }
```

```html
<a href="#claim" class="skip-link">Skip to offer</a>

  <section class="oto" aria-label="One-time offer">
    <div class="oto__inner">

      <p class="oto__eyebrow">One-time offer</p>

      <h2 class="oto__offer">The <em>Million Dollar Message™</em> Intensive</h2>

      <h1 class="oto__title">Write the <em>message</em> your whole business hangs on.</h1>

      <p class="oto__script">One afternoon. Clean and clear.</p>

      <p class="oto__body">
        You've got the guide. Now let's go deeper. A 90-minute recorded intensive where I walk you through the exact messaging framework I use with my FFB mentees, so you can write the one sentence that turns scrollers into buyers. <strong>This is the only place this is offered.</strong>
      </p>

      <div class="deadline" role="status">
        <svg class="deadline__icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>
        <span>Available until <strong>Friday 11:59pm AEST</strong> then this page comes down.</span>
      </div>

      <div class="oto__ctawrap">
        <a href="#claim" class="oto__cta">
          Yes, I want the intensive
          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
        </a>
      </div>

      <p class="oto__legal">
        <em>You'll only see this page once.</em> If you close it without claiming, this offer won't appear again. Single payment. Instant access. No subscription.
      </p>

    </div>
  </section>
```

### hero.oto

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-cream);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }

    /* NO nav, this is a decision moment */

    .oto {
      min-height: 100vh;
      background: var(--p-cream);
      position: relative;
      display: grid;
      place-items: center;
      padding: clamp(32px, 6vw, 80px) clamp(20px, 5vw, 48px);
      overflow: hidden;
    }
    /* soft editorial vignette */
    .oto::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(ellipse 60% 50% at 30% 20%, rgba(110,142,119,0.12) 0%, transparent 60%),
        radial-gradient(ellipse 50% 40% at 75% 85%, rgba(201,164,108,0.1) 0%, transparent 60%);
      pointer-events: none;
    }

    .oto__inner {
      position: relative;
      z-index: 1;
      max-width: 740px;
      width: 100%;
      text-align: center;
    }

    .oto__eyebrow {
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.32em;
      text-transform: uppercase;
      color: var(--p-aztek);
      margin: 0 0 20px;
      display: inline-flex;
      align-items: center;
      gap: 10px;
    }
    .oto__eyebrow::before,
    .oto__eyebrow::after {
      content: "";
      width: 28px; height: 1px;
      background: var(--p-aztek);
      opacity: 0.4;
    }

    .oto__offer {
      font-family: var(--f-serif-display);
      font-size: clamp(22px, 2.6vw, 32px);
      font-weight: 400;
      letter-spacing: 0.02em;
      color: var(--p-aztek);
      margin: 0 0 12px;
    }
    .oto__offer em { font-family: var(--f-serif-italic); font-style: italic; }

    .oto__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(44px, 6.5vw, 88px);
      line-height: 1.02;
      letter-spacing: -0.02em;
      color: var(--p-charcoal);
      margin: 0 0 24px;
      max-width: 16ch;
      margin-inline: auto;
    }
    .oto__title em { font-family: var(--f-serif-italic); font-style: italic; }

    .oto__script {
      font-family: var(--f-script);
      font-weight: 400;
      font-size: clamp(28px, 3vw, 38px);
      line-height: 1;
      color: var(--p-sage);
      margin: 0 0 28px;
    }

    .oto__body {
      font-family: var(--f-sans);
      font-size: 17px;
      line-height: 1.65;
      color: var(--p-ink);
      margin: 0 auto 40px;
      max-width: 54ch;
    }
    .oto__body strong { color: var(--p-charcoal); font-weight: 600; }

    /* -------- REAL DEADLINE INDICATOR (no fake scarcity) -------- */
    .deadline {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      padding: 12px 22px;
      margin: 0 0 32px;
      background: var(--p-oatmeal);
      border: 1px solid rgba(30,55,53,0.18);
      border-radius: var(--r-pill);
      font-family: var(--f-sans);
      font-size: 13px;
      font-weight: 500;
      letter-spacing: 0.04em;
      color: var(--p-charcoal);
    }
    .deadline__icon {
      width: 16px; height: 16px;
      color: var(--p-aztek);
      flex-shrink: 0;
    }
    .deadline strong { font-weight: 700; color: var(--p-aztek); }

    /* -------- PRIMARY CTA -------- */
    .oto__cta {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      padding: 20px 44px;
      border-radius: var(--r-pill);
      font-family: var(--f-sans);
      font-size: 13px;
      font-weight: 700;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      text-decoration: none;
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      border: 1.5px solid var(--p-charcoal);
      transition: background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
      box-shadow: 0 12px 28px rgba(16,16,16,0.12);
    }
    .oto__cta:hover {
      background: var(--p-aztek);
      color: var(--p-oatmeal);
      border-color: var(--p-aztek);
      transform: translateY(-2px);
      box-shadow: 0 16px 36px rgba(30,55,53,0.2);
    }
    .oto__cta svg { width: 14px; height: 14px; }

    /* -------- LEGAL / ONE-TIME NOTE -------- */
    .oto__legal {
      margin: 28px auto 0;
      font-family: var(--f-sans);
      font-size: 12px;
      line-height: 1.55;
      color: var(--p-mute);
      max-width: 44ch;
    }
    .oto__legal em { font-style: italic; color: var(--p-ink); }

    /* -------- MOBILE -------- */
    @media (max-width: 820px) {
      .oto__title { font-size: clamp(36px, 10vw, 56px); }
      .oto__body { font-size: 16px; }
    }
    @media (max-width: 430px) {
      .oto { padding: 40px 20px; }
      .oto__cta { padding: 16px 28px; width: 100%; justify-content: center; }
      .deadline { font-size: 12px; padding: 10px 16px; gap: 8px; flex-wrap: wrap; justify-content: center; }
    }
```

```html
<section class="oto" aria-label="One-time offer">
    <div class="oto__inner">

      <p class="oto__eyebrow">One-time offer</p>

      <h2 class="oto__offer">The <em>Million Dollar Message™</em> Intensive</h2>

      <h1 class="oto__title">Write the <em>message</em> your whole business hangs on.</h1>

      <p class="oto__script">One afternoon. Clean and clear.</p>

      <p class="oto__body">
        You've got the guide. Now let's go deeper. A 90-minute recorded intensive where I walk you through the exact messaging framework I use with my FFB mentees, so you can write the one sentence that turns scrollers into buyers. <strong>This is the only place this is offered.</strong>
      </p>

      <!-- REAL deadline, not fake scarcity -->
      <div class="deadline" role="status">
        <svg class="deadline__icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>
        <span>Available until <strong>Friday 11:59pm AEST</strong> then this page comes down.</span>
      </div>

      <div>
        <a href="#claim" class="oto__cta">
          Yes, I want the intensive
          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
        </a>
      </div>

      <p class="oto__legal">
        <em>You'll only see this page once.</em> If you close it without claiming, this offer won't appear again. Single payment. Instant access. No subscription.
      </p>

    </div>
  </section>
```

### hero.overlay-portrait-polished

Wrapper context: `<body data-brand="tracy">`

```css
/* Overlay portrait, full-bleed portrait, single giant wordmark.
       Polished: slow parallax drift on photo, split-letter stagger on
       wordmark, tagline reveal, tactile nav interactions, grain,
       reduced-motion honoured. Brand-true tokens + fonts. */

    :root {
      --ease-out-craft:    cubic-bezier(0.23, 1, 0.32, 1);
      --ease-in-out-craft: cubic-bezier(0.77, 0, 0.175, 1);
      --ease-drawer:       cubic-bezier(0.32, 0.72, 0, 1);
    }

    *, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-charcoal);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    .skip-link {
      position: absolute; left: -9999px; top: 0;
      background: var(--p-oatmeal); color: var(--p-charcoal);
      padding: 10px 14px; z-index: 100;
      font-family: var(--f-sans); font-size: 12px; font-weight: 600;
      letter-spacing: 0.2em; text-transform: uppercase;
    }
    .skip-link:focus { left: 12px; top: 12px; }

    .t-mark { width: auto; fill: currentColor; display: block; }
    .t-mark--bar { height: 28px; }

    /* -------- NAV -------- */
    .mhero__nav {
      position: absolute;
      top: 0; left: 0; right: 0;
      z-index: 4;
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      padding: 22px 40px;
      color: var(--p-oatmeal);
      opacity: 0;
      transform: translateY(-8px);
      animation: mheroFadeDown 900ms var(--ease-out-craft) 200ms forwards;
    }
    @keyframes mheroFadeDown {
      from { opacity: 0; transform: translateY(-8px); }
      to   { opacity: 1; transform: translateY(0); }
    }

    .mhero__nav-group { display: flex; gap: 34px; align-items: center; }
    .mhero__nav-group--right { justify-content: flex-end; }

    .mhero__nav-link {
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: inherit;
      text-decoration: none;
      position: relative;
      padding: 10px 2px;
      min-height: 44px;
      display: inline-flex;
      align-items: center;
      transition: color 180ms var(--ease-out-craft);
    }
    .mhero__nav-link::after {
      content: "";
      position: absolute;
      left: 2px; right: 2px; bottom: 8px;
      height: 1px;
      background: currentColor;
      transform: scaleX(0);
      transform-origin: left center;
      transition: transform 320ms var(--ease-out-craft);
    }
    @media (hover: hover) and (pointer: fine) {
      .mhero__nav-link:hover::after { transform: scaleX(1); }
    }
    .mhero__nav-link:focus-visible {
      outline: 1px solid var(--p-oatmeal);
      outline-offset: 4px;
      border-radius: 2px;
    }
    .mhero__nav-link:active { transform: translateY(1px); }

    .mhero__nav-mark {
      color: inherit; text-decoration: none; display: inline-flex;
      padding: 8px;
      transition: transform 240ms var(--ease-out-craft);
    }
    .mhero__nav-mark:hover  { transform: scale(1.04); }
    .mhero__nav-mark:active { transform: scale(0.97); }
    .mhero__nav-mark:focus-visible {
      outline: 1px solid var(--p-oatmeal);
      outline-offset: 6px;
      border-radius: 2px;
    }

    .mhero__menu {
      background: none; border: 0; cursor: pointer;
      padding: 10px; color: inherit;
      display: inline-flex; align-items: center; gap: 10px;
      font-family: var(--f-sans);
      font-size: 11px; font-weight: 500;
      letter-spacing: 0.22em; text-transform: uppercase;
      -webkit-tap-highlight-color: transparent;
      min-height: 44px; min-width: 44px;
      transition: transform 160ms var(--ease-out-craft);
    }
    .mhero__menu:active { transform: scale(0.97); }
    .mhero__menu:focus-visible {
      outline: 1px solid var(--p-oatmeal);
      outline-offset: 4px;
      border-radius: 2px;
    }
    .mhero__menu-icon {
      display: inline-block;
      width: 24px; height: 10px;
      position: relative;
    }
    .mhero__menu-icon::before,
    .mhero__menu-icon::after {
      content: "";
      position: absolute; left: 0; right: 0;
      height: 1.5px; background: currentColor;
      transition: transform 280ms var(--ease-out-craft);
    }
    .mhero__menu-icon::before { top: 0; }
    .mhero__menu-icon::after  { bottom: 0; }
    .mhero__menu:hover .mhero__menu-icon::before { transform: translateX(-2px); }
    .mhero__menu:hover .mhero__menu-icon::after  { transform: translateX(2px); }

    /* -------- HERO -------- */
    .mhero {
      position: relative;
      min-height: 100dvh;
      overflow: hidden;
      display: flex;
      align-items: flex-end;
      justify-content: center;
      padding: 0 clamp(16px, 3vw, 48px);
      background: var(--p-charcoal);
      isolation: isolate;
    }

    .mhero__image {
      position: absolute;
      inset: 0;
      background-image: url("https://static.showit.co/1200/C8lYkDDfclRnqya_MiRFow/173187/062a3960.jpg");
      background-size: cover;
      background-position: center 22%;
      filter: saturate(0.92) contrast(1.02);
      z-index: 1;
      transform: scale(1.06);
      /* Reveal only. Continuous drift was visually distracting on scroll. */
      animation: mheroReveal 1500ms var(--ease-drawer) 100ms both;
      will-change: transform, opacity;
    }
    @keyframes mheroReveal {
      from { opacity: 0; transform: scale(1.14); }
      to   { opacity: 1; transform: scale(1.06); }
    }
    @keyframes mheroDrift {
      from { transform: scale(1.06) translate3d(0, 0, 0); }
      to   { transform: scale(1.10) translate3d(0.6%, -1%, 0); }
    }

    .mhero__image::after {
      content: "";
      position: absolute; inset: 0;
      background:
        linear-gradient(180deg,
          rgba(16,16,16,0.38) 0%,
          rgba(16,16,16,0.0)  28%,
          rgba(16,16,16,0.0)  55%,
          rgba(16,16,16,0.62) 100%);
    }

    /* Grain overlay */
    .mhero__grain {
      position: absolute;
      inset: 0; z-index: 2;
      pointer-events: none;
      opacity: 0.32;
      mix-blend-mode: overlay;
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.96 0 0 0 0 0.94 0 0 0 0 0.89 0 0 0 0.4 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    }

    .mhero__content {
      position: relative;
      z-index: 3;
      text-align: center;
      padding-bottom: clamp(12vh, 16vh, 20vh);
      width: 100%;
      max-width: 1600px;
    }

    /* Split-letter reveal for Tracy */
    .mhero__word {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(96px, 22vw, 340px);
      line-height: 0.88;
      color: var(--p-oatmeal);
      margin: 0;
      letter-spacing: -0.02em;
      transform: translateY(4%);
      text-shadow: 0 4px 80px rgba(0,0,0,0.28);
    }
    .mhero__word .ch {
      display: inline-block;
      opacity: 0;
      transform: translateY(0.35em);
      animation: mheroCharRise 1100ms var(--ease-drawer) forwards;
      will-change: transform, opacity;
    }
    .mhero__word .ch:nth-child(1) { animation-delay: 500ms; }
    .mhero__word .ch:nth-child(2) { animation-delay: 580ms; }
    .mhero__word .ch:nth-child(3) { animation-delay: 660ms; }
    .mhero__word .ch:nth-child(4) { animation-delay: 740ms; }
    .mhero__word .ch:nth-child(5) { animation-delay: 820ms; }
    @keyframes mheroCharRise {
      from { opacity: 0; transform: translateY(0.35em); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);      filter: blur(0); }
    }

    .mhero__tagline {
      font-family: var(--f-sans);
      font-size: clamp(11px, 0.95vw, 13px);
      font-weight: 500;
      letter-spacing: 0.32em;
      text-transform: uppercase;
      color: var(--p-oatmeal);
      margin: 24px 0 0;
      opacity: 0;
      animation: mheroTaglineIn 900ms var(--ease-out-craft) 1150ms forwards;
    }
    @keyframes mheroTaglineIn {
      from { opacity: 0; transform: translateY(8px); }
      to   { opacity: 0.92; transform: translateY(0); }
    }
    .mhero__tagline span { display: inline-block; }
    .mhero__tagline span + span::before {
      content: "·";
      margin: 0 12px;
      color: var(--p-sage);
      opacity: 0.85;
    }

    .mhero__scroll {
      position: absolute;
      left: 50%;
      bottom: 22px;
      transform: translate(-50%, 8px);
      z-index: 3;
      color: var(--p-oatmeal);
      font-family: var(--f-sans);
      font-size: 10px;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      opacity: 0;
      animation: mheroScrollIn 900ms var(--ease-out-craft) 1400ms forwards;
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      gap: 10px;
    }
    @keyframes mheroScrollIn {
      from { opacity: 0;    transform: translate(-50%, 8px); }
      to   { opacity: 0.92; transform: translate(-50%, 0); }
    }
    .mhero__scroll::after {
      content: "";
      width: 1px; height: 26px;
      background: currentColor;
      opacity: 0.55;
      transform-origin: top center;
      animation: mheroBreathe 2800ms var(--ease-in-out-craft) 1800ms infinite;
    }
    @keyframes mheroBreathe {
      0%, 100% { transform: scaleY(1);   opacity: 0.55; }
      50%      { transform: scaleY(0.7); opacity: 0.9; }
    }

    /* -------- EXHALE -------- */
    .mexhale {
      padding: clamp(80px, 12vh, 140px) clamp(20px, 6vw, 80px);
      background: var(--p-cream);
      color: var(--p-charcoal);
      text-align: center;
    }
    .mexhale p {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(24px, 2.4vw, 32px);
      line-height: 1.45;
      letter-spacing: -0.005em;
      max-width: 720px;
      margin: 0 auto;
      text-wrap: balance;
    }
    .mexhale em {
      font-family: var(--f-serif-italic);
      font-style: italic;
    }

    /* -------- MOBILE -------- */
    @media (max-width: 820px) {
      .mhero__nav {
        padding: 14px 18px;
        grid-template-columns: auto 1fr auto;
      }
      .mhero__nav-group:not(.mhero__nav-group--right) { display: none; }
      .mhero__nav-group--right .mhero__nav-link { display: none; }
      .mhero__menu { padding: 10px; }
      .mhero__menu span:first-child { display: none; }
      .mhero__menu-icon { width: 26px; height: 12px; }

      .mhero { align-items: flex-end; }
      .mhero__content {
        padding-bottom: 22vh;
        padding-top: 0;
      }
      .mhero__word {
        transform: translateY(0);
        font-size: clamp(76px, 26vw, 170px);
      }
      .mhero__tagline {
        font-size: 10px;
        letter-spacing: 0.28em;
        padding: 0 8px;
        margin-top: 18px;
      }
      .mhero__tagline span + span::before { margin: 0 8px; }
      .mhero__scroll { bottom: 14px; font-size: 9px; }
      .mhero__scroll::after { height: 22px; }

      /* Mobile: pin the bg at its reveal-end state; iOS address-bar
         collapse + continuous Ken Burns makes the photo visibly jump
         on scroll. Static on mobile. Motion stays on desktop. */
      .mhero__image { animation: mheroReveal 1500ms var(--ease-drawer) 100ms both; }
    }

    @media (max-width: 380px) {
      .mhero__word { font-size: clamp(64px, 24vw, 130px); }
    }

    /* -------- REDUCED MOTION -------- */
    @media (prefers-reduced-motion: reduce) {
      .mhero__image,
      .mhero__nav,
      .mhero__word .ch,
      .mhero__tagline,
      .mhero__scroll,
      .mhero__scroll::after {
        animation: none !important;
      }
      .mhero__image   { transform: scale(1.02); opacity: 1; }
      .mhero__nav,
      .mhero__tagline,
      .mhero__scroll  { opacity: 1; transform: none; }
      .mhero__scroll  { transform: translateX(-50%); }
      .mhero__word .ch { opacity: 1; transform: none; filter: none; }
    }
```

```html
<a href="#below" class="skip-link">Skip to content</a>

  <section class="mhero" aria-label="Introduction">
    <div class="mhero__image" role="img" aria-label="Tracy Harris portrait"></div>
    <div class="mhero__grain" aria-hidden="true"></div>

    <nav class="mhero__nav" aria-label="Primary">
      <div class="mhero__nav-group">
        <a href="/" class="mhero__nav-link">Home</a>
        <a href="/about" class="mhero__nav-link">About</a>
        <a href="/podcast" class="mhero__nav-link">Podcast</a>
      </div>

      <a href="/" class="mhero__nav-mark" aria-label="Tracy Harris home">
        <svg class="t-mark t-mark--bar" viewBox="0 0 263.98 382.72" aria-hidden="true">
          <path d="M0,94.76V12.84L76.42,0v94.76h72.75l-2.45,10.39h-70.3v182.19c0,34.24,14.67,51.97,45.24,51.97,17.73,0,31.18-12.23,36.68-21.4l9.17,5.5c-12.23,28.73-49.52,59.3-90.48,59.3-48.3,0-77.03-19.56-77.03-93.54V94.76Z"/>
          <circle cx="233.68" cy="352.41" r="30.31"/>
        </svg>
      </a>

      <div class="mhero__nav-group mhero__nav-group--right">
        <a href="/programs" class="mhero__nav-link">Programs</a>
        <a href="/blog" class="mhero__nav-link">Blog</a>
        <a href="/apply" class="mhero__nav-link">Apply</a>
        <button class="mhero__menu" type="button" aria-label="Open menu">
          <span>Menu</span>
          <span class="mhero__menu-icon" aria-hidden="true"></span>
        </button>
      </div>
    </nav>

    <div class="mhero__content">
      <h1 class="mhero__word" aria-label="Tracy">
        <span class="ch" aria-hidden="true">T</span><span class="ch" aria-hidden="true">r</span><span class="ch" aria-hidden="true">a</span><span class="ch" aria-hidden="true">c</span><span class="ch" aria-hidden="true">y</span>
      </h1>
      <p class="mhero__tagline">
        <span>Freedom Filled® Business</span>
        <span>for Women Building by Design</span>
      </p>
    </div>

    <a href="#below" class="mhero__scroll" aria-label="Scroll to next section">
      <span>Scroll</span>
    </a>
  </section>

  <section class="mexhale" id="below">
    <p>
      Build a <em>beautiful business</em> that lets you live.
      Peaceful. Profitable. <em>Present.</em>
    </p>
  </section>
```

### hero.overlay-portrait

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-cream);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }

    /* ---- Official T brandmark ---- */
    .t-mark { width: auto; fill: currentColor; display: block; }
    .t-mark--bar { height: 28px; }

    /* -------- THIN TOP BAR (sits inside the hero) -------- */
    .mhero__nav {
      position: absolute;
      top: 0; left: 0; right: 0;
      z-index: 3;
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      padding: 22px 40px;
      color: var(--p-oatmeal);
    }
    .mhero__nav-group {
      display: flex;
      gap: 34px;
      align-items: center;
    }
    .mhero__nav-group--right { justify-content: flex-end; }
    .mhero__nav-link {
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: inherit;
      text-decoration: none;
      position: relative;
      padding: 6px 0;
    }
    .mhero__nav-link::after {
      content: "";
      position: absolute;
      left: 0; right: 0; bottom: 2px;
      height: 1px;
      background: currentColor;
      transform: scaleX(0);
      transform-origin: left;
      transition: transform .3s ease;
    }
    .mhero__nav-link:hover::after { transform: scaleX(1); }
    .mhero__nav-mark {
      color: inherit;
      text-decoration: none;
      display: inline-flex;
    }
    .mhero__menu {
      background: none;
      border: 0;
      cursor: pointer;
      padding: 10px;
      color: inherit;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      -webkit-tap-highlight-color: transparent;
    }
    .mhero__menu-icon {
      display: inline-block;
      width: 24px; height: 10px;
      position: relative;
    }
    .mhero__menu-icon::before,
    .mhero__menu-icon::after {
      content: "";
      position: absolute; left: 0; right: 0;
      height: 1.5px; background: currentColor;
    }
    .mhero__menu-icon::before { top: 0; }
    .mhero__menu-icon::after { bottom: 0; }

    /* -------- THE HERO -------- */
    .mhero {
      position: relative;
      min-height: 100vh;
      min-height: 100svh; /* mobile-safe viewport */
      overflow: hidden;
      display: flex;
      align-items: flex-end;
      justify-content: center;
      padding: 0 clamp(16px, 3vw, 48px) 0;
      background: var(--p-charcoal);
    }
    .mhero__image {
      position: absolute;
      inset: 0;
      background-image: url("https://static.showit.co/1200/C8lYkDDfclRnqya_MiRFow/173187/062a3960.jpg");
      background-size: cover;
      background-position: center 22%;
      filter: saturate(0.92) contrast(1.02);
      z-index: 1;
    }
    .mhero__image::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(180deg,
          rgba(16,16,16,0.35) 0%,
          rgba(16,16,16,0.0) 28%,
          rgba(16,16,16,0.0) 55%,
          rgba(16,16,16,0.55) 100%);
    }
    .mhero__content {
      position: relative;
      z-index: 2;
      text-align: center;
      padding-bottom: clamp(12vh, 16vh, 20vh);
      width: 100%;
      max-width: 1600px;
    }
    .mhero__word {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(96px, 22vw, 340px);
      line-height: 0.88;
      color: var(--p-oatmeal);
      margin: 0;
      letter-spacing: -0.02em;
      transform: translateY(4%);
    }
    .mhero__tagline {
      font-family: var(--f-sans);
      font-size: clamp(11px, 0.95vw, 13px);
      font-weight: 500;
      letter-spacing: 0.32em;
      text-transform: uppercase;
      color: var(--p-oatmeal);
      margin: 20px 0 0;
      opacity: 0.92;
    }
    .mhero__tagline span { display: inline-block; }
    .mhero__tagline span + span::before {
      content: "·";
      margin: 0 12px;
      opacity: 0.6;
    }

    .mhero__scroll {
      position: absolute;
      left: 50%;
      bottom: 20px;
      transform: translateX(-50%);
      z-index: 3;
      color: var(--p-oatmeal);
      font-family: var(--f-sans);
      font-size: 10px;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      opacity: 0.8;
    }

    /* -------- EXHALE SECTION BELOW -------- */
    .mexhale {
      padding: clamp(80px, 12vh, 140px) clamp(20px, 6vw, 80px);
      background: var(--p-cream);
      color: var(--p-charcoal);
      text-align: center;
    }
    .mexhale p {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(24px, 2.4vw, 32px);
      line-height: 1.45;
      letter-spacing: -0.005em;
      max-width: 720px;
      margin: 0 auto;
    }
    .mexhale em {
      font-family: var(--f-serif-italic);
      font-style: italic;
    }

    /* -------- MOBILE -------- */
    @media (max-width: 820px) {
      .mhero__nav {
        padding: 14px 18px;
        grid-template-columns: auto 1fr auto;
      }
      .mhero__nav-group:not(.mhero__nav-group--right) { display: none; }
      .mhero__nav-group--right .mhero__nav-link { display: none; }
      .mhero__menu { padding: 8px; }
      .mhero__menu span:first-child { display: none; }
      .mhero__menu-icon { width: 26px; height: 12px; }

      /* Move "Tracy" up, between bottom and center on mobile too */
      .mhero {
        align-items: flex-end;
      }
      .mhero__content {
        padding-bottom: 22vh;
        padding-top: 0;
      }
      .mhero__word {
        transform: translateY(0);
        font-size: clamp(76px, 26vw, 170px);
      }
      .mhero__tagline {
        font-size: 10px;
        letter-spacing: 0.28em;
        padding: 0 8px;
        margin-top: 16px;
      }
      .mhero__tagline span + span::before { margin: 0 8px; }
      .mhero__scroll { bottom: 14px; font-size: 9px; }
    }

    @media (max-width: 380px) {
      .mhero__word { font-size: clamp(64px, 24vw, 130px); }
    }
```

```html
<section class="mhero">
    <div class="mhero__image" role="img" aria-label="Tracy Harris portrait"></div>

    <nav class="mhero__nav" aria-label="Primary">
      <div class="mhero__nav-group">
        <a href="/" class="mhero__nav-link">Home</a>
        <a href="/about" class="mhero__nav-link">About</a>
        <a href="/podcast" class="mhero__nav-link">Podcast</a>
      </div>

      <a href="/" class="mhero__nav-mark" aria-label="Tracy Harris home">
        <svg class="t-mark t-mark--bar" viewBox="0 0 263.98 382.72" aria-hidden="true">
          <path d="M0,94.76V12.84L76.42,0v94.76h72.75l-2.45,10.39h-70.3v182.19c0,34.24,14.67,51.97,45.24,51.97,17.73,0,31.18-12.23,36.68-21.4l9.17,5.5c-12.23,28.73-49.52,59.3-90.48,59.3-48.3,0-77.03-19.56-77.03-93.54V94.76Z"/>
          <circle cx="233.68" cy="352.41" r="30.31"/>
        </svg>
      </a>

      <div class="mhero__nav-group mhero__nav-group--right">
        <a href="/programs" class="mhero__nav-link">Programs</a>
        <a href="/blog" class="mhero__nav-link">Blog</a>
        <a href="/apply" class="mhero__nav-link">Apply</a>
        <button class="mhero__menu" type="button" aria-label="Open menu">
          <span>Menu</span>
          <span class="mhero__menu-icon" aria-hidden="true"></span>
        </button>
      </div>
    </nav>

    <div class="mhero__content">
      <h1 class="mhero__word">Tracy</h1>
      <p class="mhero__tagline">
        <span>Freedom Filled® Business</span>
        <span>for Women Building by Design</span>
      </p>
    </div>

    <span class="mhero__scroll" aria-hidden="true">Scroll</span>
  </section>

  <section class="mexhale">
    <p>
      Build a <em>beautiful business</em> that lets you live.
      Peaceful. Profitable. <em>Present.</em>
    </p>
  </section>
```

### hero.quiz-result

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }

    .page {
      background: var(--p-oatmeal);
      padding: clamp(14px, 1.6vw, 24px);
      min-height: 100vh;
    }

    /* -------- HERO SHELL (editorial, framed, cream canvas) -------- */
    .hero {
      position: relative;
      background: var(--p-oatmeal);
      border: 1px solid var(--border-hairline);
      border-radius: 12px;
      overflow: hidden;
      padding: clamp(48px, 7vw, 96px) clamp(24px, 5vw, 64px);
      display: grid;
      grid-template-columns: 1.1fr 0.9fr;
      gap: clamp(32px, 5vw, 64px);
      align-items: center;
      min-height: 620px;
    }

    .hero__content { max-width: 560px; }

    .hero__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(44px, 6vw, 84px);
      line-height: 1.02;
      letter-spacing: -0.02em;
      color: var(--p-charcoal);
      margin: 0 0 20px;
    }
    .hero__title em { font-family: var(--f-serif-italic); font-style: italic; }

    .hero__script {
      font-family: var(--f-script);
      font-weight: 400;
      font-size: clamp(28px, 3.2vw, 40px);
      line-height: 1;
      color: var(--p-sage);
      margin: 0 0 28px;
    }

    .hero__body {
      font-family: var(--f-sans);
      font-size: 16px;
      line-height: 1.65;
      color: var(--p-ink);
      margin: 0 0 32px;
      max-width: 48ch;
    }
    .hero__body em { font-family: var(--f-serif-italic); font-style: italic; }
    .hero__body strong { font-weight: 600; color: var(--p-charcoal); }

    .hero__ctas {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      align-items: center;
    }

    .hero__cta {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 14px 28px;
      border-radius: var(--r-pill);
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      text-decoration: none;
      transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
      border: 1px solid transparent;
    }
    .hero__cta--primary {
      background: var(--p-cream);
      color: var(--p-charcoal);
      border-color: var(--p-charcoal);
    }
    .hero__cta--primary:hover {
      background: var(--p-aztek);
      color: var(--p-oatmeal);
      border-color: var(--p-aztek);
      transform: translateY(-1px);
    }
    .hero__cta--ghost {
      background: transparent;
      color: var(--p-ink);
      border-color: transparent;
      padding: 14px 16px;
      letter-spacing: 0.12em;
      border-bottom: 1px solid var(--p-ink);
      border-radius: 0;
    }
    .hero__cta--ghost:hover { color: var(--p-aztek); border-bottom-color: var(--p-aztek); }

    /* -------- PORTRAIT FRAME -------- */
    .hero__portrait {
      position: relative;
      aspect-ratio: 4 / 5;
      border-radius: 8px;
      overflow: hidden;
      background: var(--p-cream);
      box-shadow: 0 24px 48px rgba(16,16,16,0.08);
    }
    .hero__portrait-img {
      position: absolute;
      inset: 0;
      background-size: cover;
      background-position: center 25%;
      background-image: url("../../../assets/photos/tracy-outfit8-39.jpg");
      filter: contrast(1.02) saturate(1.02);
    }
    /* soft vignette */
    .hero__portrait::after {
      content: "";
      position: absolute; inset: 0;
      background: radial-gradient(ellipse at center, rgba(0,0,0,0) 55%, rgba(0,0,0,0.18) 100%);
      pointer-events: none;
    }
    .hero__portrait-tag {
      position: absolute;
      left: 16px; bottom: 16px;
      z-index: 2;
      font-family: var(--f-script);
      font-size: 22px;
      color: var(--p-oatmeal);
      text-shadow: 0 2px 12px rgba(0,0,0,0.35);
      line-height: 1;
    }

    /* -------- ARCHETYPE STAMP -------- */
    .stamp {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 8px 16px;
      border-radius: var(--r-pill);
      background: rgba(110,142,119,0.12);
      border: 1px solid rgba(110,142,119,0.35);
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--p-aztek);
      margin: 0 0 20px;
    }
    .stamp::before {
      content: "";
      width: 6px; height: 6px; border-radius: 50%;
      background: var(--p-sage);
    }

    /* -------- MOBILE -------- */
    @media (max-width: 820px) {
      .hero {
        grid-template-columns: 1fr;
        padding: clamp(32px, 6vw, 48px) clamp(20px, 5vw, 28px);
        min-height: 0;
        gap: 32px;
      }
      .hero__portrait { max-width: 360px; margin: 0 auto; order: -1; }
      .hero__title { font-size: clamp(34px, 10vw, 54px); }
      .hero__script { font-size: 28px; }
    }
    @media (max-width: 430px) {
      .page { padding: 10px; }
      .hero { padding: 32px 20px; }
      .hero__title { font-size: 34px; }
      .hero__ctas { flex-direction: column; align-items: stretch; }
      .hero__cta { justify-content: center; }
      .hero__cta--ghost { border-bottom: 0; padding: 12px; }
    }
```

```html
<div class="page">
    <section class="hero" id="results" aria-label="Quiz result hero">
      <div class="hero__content">
        <span class="stamp">Your FRESH archetype</span>
        <h1 class="hero__title">You're a <em>Strategy</em> archetype.</h1>
        <p class="hero__script">Vision-led. Plan-wanting.</p>
        <p class="hero__body">
          You see the whole picture before anyone else does. You've got the heart, the vision, the people who love what you do. What's missing is the <em>plan</em> that turns all of that into a beautiful business with real revenue.
        </p>
        <p class="hero__body">
          I've pulled together a full profile for you, lovely. Your strengths, your next three moves, and the <strong>Freedom Filled®</strong> pathway that matches you.
        </p>
        <div class="hero__ctas">
          <a href="#profile" class="hero__cta hero__cta--primary">See your full profile</a>
          <a href="/fresh-quiz" class="hero__cta hero__cta--ghost">Return to the quiz</a>
        </div>
      </div>
      <div class="hero__portrait" role="img" aria-label="Tracy Harris portrait">
        <div class="hero__portrait-img"></div>
        <span class="hero__portrait-tag">Xx Tracy</span>
      </div>
    </section>
  </div>
```

### hero.showcase

```css
body {
      margin: 0;
      font-family: var(--f-sans);
      -webkit-font-smoothing: antialiased;
    }
    .brand-label {
      position: sticky;
      top: 0;
      z-index: 10;
      background: var(--p-charcoal);
      color: var(--p-oatmeal);
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      padding: 10px 24px;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    .brand-label b {
      font-weight: 600;
    }
```

```html
<div class="brand-label">
    <span>TRACY HARRIS CO, <b>parent brand</b>, editorial, quiet, dark green on white</span>
    <code>data-brand="tracy"</code>
  </div>
  <section class="hero hero--text-only" data-brand="tracy">
    <div class="hero__inner">
      <div class="hero__content">
        <img src="../../../assets/logos/tracy/tracy-primary.svg" alt="Tracy Harris Co" class="hero__logo" />
        <h1 class="hero__title">Peace, Profit <em>and Presence</em>.</h1>
        <p class="hero__supporting">
          A suite of programs for women building freedom-filled businesses. Start where you are, choose the path that fits, and build something that lets you live.
        </p>
        <div class="hero__actions">
          <a href="#programs" class="hero__cta">Explore the programs</a>
          <a href="#story" class="hero__secondary">Read the story</a>
        </div>
      </div>
    </div>
  </section>

  <div class="brand-label">
    <span>FFB, <b>Freedom Filled® Business</b>, mentorship, cream canvas, dark teal + sage</span>
    <code>data-brand="ffb"</code>
  </div>
  <section class="hero hero--split-right" data-brand="ffb">
    <div class="hero__inner">
      <div class="hero__content">
        <img src="../../../assets/logos/ffb/ffb-primary.svg" alt="Freedom Filled® Business" class="hero__logo" style="height: 44px;" />
        <h1 class="hero__title">A 12-month mentorship for the <em>woman building something real</em>.</h1>
        <p class="hero__supporting">
          This is not a course you consume. It is a mentorship experience you move through with Tracy's guidance, strategic thinking, and personal investment in your outcome.
        </p>
        <div class="hero__actions">
          <a href="#apply" class="hero__cta">Apply for FFB</a>
          <a href="#curriculum" class="hero__secondary">See the curriculum</a>
        </div>
      </div>
      <div class="hero__media">
        <img src="https://static.showit.co/1200/RzgNfOS8hzrskisIlnpPOg/173187/062a4096-enhanced-nr.jpg" alt="Tracy Harris in a warm editorial portrait, leaning in with mentorship energy." />
      </div>
    </div>
  </section>

  <div class="brand-label">
    <span>FFM, <b>Freedom Filled® Mastermind</b> (oatmeal canvas), premium, gold gradient, application-based</span>
    <code>data-brand="ffm"</code>
  </div>
  <section class="hero hero--split-left" data-brand="ffm">
    <div class="hero__inner">
      <div class="hero__media">
        <img src="https://static.showit.co/1200/Phc3esiZQtC8jORSzOTIbQ/173187/web_mwh_coralsea_251022_137.jpg" alt="Tracy Harris with Mastermind members at the Coral Sea retreat, intimate group setting." />
      </div>
      <div class="hero__content">
        <img src="../../../assets/logos/ffm/ffm-primary.svg" alt="Freedom Filled® Mastermind" class="hero__logo" style="height: 40px;" />
        <h1 class="hero__title">Intentionally small. <em>Quietly expensive</em>. Application-based.</h1>
        <p class="hero__supporting">
          Tracy's most intimate and premium offering. Application-based and intentionally small, for women already in business and ready to lead at a higher level.
        </p>
        <div class="hero__actions">
          <a href="#apply" class="hero__cta">Apply for the Mastermind</a>
          <a href="#details" class="hero__secondary">Request the details</a>
        </div>
      </div>
    </div>
  </section>

  <div class="brand-label">
    <span>FFM, <b>Freedom Filled® Mastermind</b> (dark charcoal), white title + gold accent + gold CTA</span>
    <code>data-brand="ffm" class="hero--dark"</code>
  </div>
  <section class="hero hero--split-right hero--dark" data-brand="ffm">
    <div class="hero__inner">
      <div class="hero__content">
        <img src="../../../assets/logos/ffm/ffm-primary.svg" alt="Freedom Filled® Mastermind" class="hero__logo" style="height: 40px;" />
        <h1 class="hero__title">For the woman ready to <em>lead at a higher level</em>.</h1>
        <p class="hero__supporting">
          Live retreats in Bali. A carefully selected group of high-achieving female entrepreneurs. Radical honesty, deep support, ambitious thinking.
        </p>
        <div class="hero__actions">
          <a href="#apply" class="hero__cta">Apply for the Mastermind</a>
          <a href="#details" class="hero__secondary">Request the details</a>
        </div>
      </div>
      <div class="hero__media">
        <img src="https://static.showit.co/1200/Yy3opX4aRY-pnfn17TTANA/173187/web_mwh_coralsea_271022_422.jpg" alt="Tracy Harris leading a Bali retreat session, high-achieving women gathered, radical honesty and deep support in the room." />
      </div>
    </div>
  </section>

  <div class="brand-label">
    <span>FFM, <b>Freedom Filled® Mastermind</b> (marquee variant, dark), animated photo strip</span>
    <code>data-brand="ffm" class="hero--marquee hero--dark"</code>
  </div>
  <section class="hero hero--marquee hero--dark" data-brand="ffm">
    <div class="hero__inner">
      <div class="hero__content">
        <img src="../../../assets/logos/ffm/ffm-primary.svg" alt="Freedom Filled® Mastermind" class="hero__logo" style="height: 40px;" />
        <span class="hero__pill">Application-based · Intentionally small</span>
        <h1 class="hero__title">For the woman ready to <em>lead at a higher level</em>.</h1>
        <p class="hero__supporting">Live retreats in Bali. A carefully selected group of high-achieving female entrepreneurs. Radical honesty. Deep support. Ambitious thinking.</p>
        <div class="hero__actions">
          <a href="#apply" class="hero__cta">Apply for the Mastermind</a>
        </div>
      </div>
    </div>
    <div class="hero__marquee-strip" aria-hidden="true">
      <div class="hero__marquee-track">
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/kHCo0XC8Q1WrPV2iTqkOAQ/173187/web_mwh_coralsea_271022_382.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/NShgYBPuR2WEpef2w9H8rQ/173187/web_mwh_coralsea_271022_312.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/Phc3esiZQtC8jORSzOTIbQ/173187/web_mwh_coralsea_251022_137.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/Yy3opX4aRY-pnfn17TTANA/173187/web_mwh_coralsea_271022_422.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/_4pCmLazRuuQR6q6BzjHIA/173187/web_mwh_coralsea_251022_270.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/aX9Bts4RQU26-yjaZj2k3g/173187/web_mwh_coralsea_251022_088.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/5M6nYNMVTkOjC2msh9iAEA/173187/web_mwh_coralsea_251022_217.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/VDgD-51eTBufkQQht6IU5A/173187/web_mwh_coralsea_251022_129.jpg" alt="" /></div>
        <!-- Duplicated for seamless loop -->
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/kHCo0XC8Q1WrPV2iTqkOAQ/173187/web_mwh_coralsea_271022_382.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/NShgYBPuR2WEpef2w9H8rQ/173187/web_mwh_coralsea_271022_312.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/Phc3esiZQtC8jORSzOTIbQ/173187/web_mwh_coralsea_251022_137.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/Yy3opX4aRY-pnfn17TTANA/173187/web_mwh_coralsea_271022_422.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/_4pCmLazRuuQR6q6BzjHIA/173187/web_mwh_coralsea_251022_270.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/aX9Bts4RQU26-yjaZj2k3g/173187/web_mwh_coralsea_251022_088.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/5M6nYNMVTkOjC2msh9iAEA/173187/web_mwh_coralsea_251022_217.jpg" alt="" /></div>
        <div class="hero__marquee-item"><img src="https://static.showit.co/1200/VDgD-51eTBufkQQht6IU5A/173187/web_mwh_coralsea_251022_129.jpg" alt="" /></div>
      </div>
    </div>
  </section>

  <div class="brand-label">
    <span>FFM, <b>Freedom Filled® Mastermind</b> (silk variant), animated canvas, full-viewport editorial type</span>
    <code>data-brand="ffm" class="hero--silk"</code>
  </div>
  <section class="hero hero--silk" data-brand="ffm">
    <canvas class="hero__silk-canvas" id="silk-canvas"></canvas>
    <div class="hero__silk-veil"></div>
    <div class="hero__silk-corner">Bali · 2026</div>
    <img src="../../../assets/logos/ffm/ffm-primary.svg" alt="Freedom Filled® Mastermind" class="hero__silk-logo" />
    <div class="hero__silk-content">
      <h1 class="hero__silk-title">Lead at a <em>higher level</em></h1>
      <p class="hero__silk-subtitle">
        <span>intimate</span>
        <span class="dot">·</span>
        <span>premium</span>
        <span class="dot">·</span>
        <span>by invitation</span>
      </p>
      <div class="hero__silk-actions">
        <a href="#apply" class="hero__cta">Apply for the 2026 cohort</a>
      </div>
    </div>
  </section>
  <script>
    (function () {
      const canvas = document.getElementById('silk-canvas');
      if (!canvas) return;
      const ctx = canvas.getContext('2d');
      let time = 0;
      let raf;
      const speed = 0.02;
      const scale = 2;
      const noiseIntensity = 0.8;

      function resize() {
        canvas.width = canvas.offsetWidth;
        canvas.height = canvas.offsetHeight;
      }
      resize();
      window.addEventListener('resize', resize);

      function noise(x, y) {
        const G = 2.71828;
        const rx = G * Math.sin(G * x);
        const ry = G * Math.sin(G * y);
        return (rx * ry * (1 + x)) % 1;
      }

      function animate() {
        const w = canvas.width;
        const h = canvas.height;

        // Base gradient (near-black with subtle warm shift)
        const g = ctx.createLinearGradient(0, 0, w, h);
        g.addColorStop(0, '#0f0b05');
        g.addColorStop(0.5, '#1a1308');
        g.addColorStop(1, '#0a0705');
        ctx.fillStyle = g;
        ctx.fillRect(0, 0, w, h);

        // Silk pattern in FFM gold
        const imageData = ctx.createImageData(w, h);
        const data = imageData.data;
        for (let x = 0; x < w; x += 2) {
          for (let y = 0; y < h; y += 2) {
            const u = (x / w) * scale;
            const v = (y / h) * scale;
            const tOffset = speed * time;
            const tx = u;
            const ty = v + 0.03 * Math.sin(8.0 * tx - tOffset);
            const pattern = 0.6 + 0.4 * Math.sin(
              5.0 * (tx + ty + Math.cos(3.0 * tx + 5.0 * ty) + 0.02 * tOffset) +
              Math.sin(20.0 * (tx + ty - 0.1 * tOffset))
            );
            const rnd = noise(x, y);
            const intensity = Math.max(0, pattern - (rnd / 15.0) * noiseIntensity);

            // FFM gold tones: mid gold #c9a46c = rgb(201, 164, 108)
            const r = Math.floor(201 * intensity);
            const gg = Math.floor(164 * intensity);
            const b = Math.floor(108 * intensity);

            const idx = (y * w + x) * 4;
            if (idx < data.length) {
              data[idx] = r;
              data[idx + 1] = gg;
              data[idx + 2] = b;
              data[idx + 3] = 255;
            }
          }
        }
        ctx.putImageData(imageData, 0, 0);

        // Radial darken for depth
        const rg = ctx.createRadialGradient(w / 2, h / 2, 0, w / 2, h / 2, Math.max(w, h) / 2);
        rg.addColorStop(0, 'rgba(0,0,0,0.05)');
        rg.addColorStop(1, 'rgba(0,0,0,0.45)');
        ctx.fillStyle = rg;
        ctx.fillRect(0, 0, w, h);

        time += 1;
        raf = requestAnimationFrame(animate);
      }
      animate();
    })();
  </script>

  <div class="brand-label">
    <span>FRESH, <b>F.R.E.S.H FRAMEWORK®</b>, personal operating system, oatmeal + navy, five pillar colours</span>
    <code>data-brand="fresh"</code>
  </div>
  <section class="hero hero--split-right" data-brand="fresh">
    <div class="hero__inner">
      <div class="hero__content">
        <img src="../../../assets/logos/fresh/fresh-primary.svg" alt="F.R.E.S.H FRAMEWORK®" class="hero__logo" style="height: 44px;" />
        <h1 class="hero__title">Most business programs start with strategy. <em>FRESH starts with you</em>.</h1>
        <p class="hero__supporting">
          Tracy's personal operating system, covering Fitness and Nutrition, Relationships, Environment, Self, and Hustle. The foundation that makes sustainable growth possible.
        </p>
        <div class="hero__actions">
          <a href="#quiz" class="hero__cta">Take the Quiz</a>
          <a href="#framework" class="hero__secondary">See the framework</a>
        </div>
      </div>
      <div class="hero__media">
        <img src="https://static.showit.co/1200/4FGR7zMJBKKFrUqovjcm5g/173187/062a4042-enhanced-nr.jpg" alt="Tracy Harris in a grounded, lifestyle portrait, the foundation that makes sustainable growth possible." />
      </div>
    </div>
  </section>
```

### hero.split-dark-polished

Wrapper context: `<body data-brand="tracy">`

```css
:root {
      --ease-out-craft:    cubic-bezier(0.23, 1, 0.32, 1);
      --ease-in-out-craft: cubic-bezier(0.77, 0, 0.175, 1);
      --ease-drawer:       cubic-bezier(0.32, 0.72, 0, 1);
    }

    *, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-charcoal);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    .skip-link {
      position: absolute; left: -9999px; top: 0;
      background: var(--p-oatmeal); color: var(--p-charcoal);
      padding: 10px 14px; z-index: 100;
      font-family: var(--f-sans); font-size: 12px; font-weight: 600;
      letter-spacing: 0.2em; text-transform: uppercase;
    }
    .skip-link:focus { left: 12px; top: 12px; }

    .t-mark { width: auto; fill: currentColor; display: block; }
    .t-mark--bar { height: 28px; }

    .shero__nav {
      position: absolute;
      top: 0; left: 0; right: 0;
      z-index: 4;
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      padding: 22px 40px;
      color: var(--p-oatmeal);
      gap: 20px;
      opacity: 0;
      transform: translateY(-8px);
      animation: shFadeDown 900ms var(--ease-out-craft) 200ms forwards;
    }
    @keyframes shFadeDown {
      from { opacity: 0; transform: translateY(-8px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    .shero__nav-group { display: flex; gap: 34px; align-items: center; }
    .shero__nav-group--right { justify-content: flex-end; }
    .shero__nav-link {
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: inherit;
      text-decoration: none;
      position: relative;
      padding: 10px 2px;
      min-height: 44px;
      display: inline-flex;
      align-items: center;
      transition: color 180ms var(--ease-out-craft);
    }
    .shero__nav-link::after {
      content: ""; position: absolute; left: 2px; right: 2px; bottom: 8px;
      height: 1px; background: currentColor;
      transform: scaleX(0); transform-origin: left;
      transition: transform 320ms var(--ease-out-craft);
    }
    @media (hover: hover) and (pointer: fine) {
      .shero__nav-link:hover::after { transform: scaleX(1); }
    }
    .shero__nav-link:focus-visible {
      outline: 1px solid var(--p-oatmeal);
      outline-offset: 4px;
      border-radius: 2px;
    }
    .shero__nav-mark {
      color: inherit; text-decoration: none;
      display: inline-flex; align-items: center; justify-content: center;
      padding: 8px;
      transition: transform 240ms var(--ease-out-craft);
    }
    .shero__nav-mark:hover { transform: scale(1.04); }
    .shero__nav-mark:active { transform: scale(0.97); }
    .shero__nav-mark:focus-visible {
      outline: 1px solid var(--p-oatmeal);
      outline-offset: 6px;
      border-radius: 2px;
    }
    .shero__menu {
      background: none; border: 0; cursor: pointer;
      padding: 10px; color: inherit;
      display: inline-flex; align-items: center; gap: 10px;
      font-family: var(--f-sans); font-size: 11px; font-weight: 500;
      letter-spacing: 0.22em; text-transform: uppercase;
      margin-left: 8px;
      min-height: 44px; min-width: 44px;
      -webkit-tap-highlight-color: transparent;
      transition: transform 160ms var(--ease-out-craft);
    }
    .shero__menu:active { transform: scale(0.97); }
    .shero__menu:focus-visible {
      outline: 1px solid var(--p-oatmeal);
      outline-offset: 4px;
      border-radius: 2px;
    }
    .shero__menu-icon { display: inline-block; width: 24px; height: 10px; position: relative; }
    .shero__menu-icon::before,
    .shero__menu-icon::after {
      content: ""; position: absolute; left: 0; right: 0;
      height: 1.5px; background: currentColor;
      transition: transform 280ms var(--ease-out-craft);
    }
    .shero__menu-icon::before { top: 0; }
    .shero__menu-icon::after  { bottom: 0; }
    .shero__menu:hover .shero__menu-icon::before { transform: translateX(-2px); }
    .shero__menu:hover .shero__menu-icon::after  { transform: translateX(2px); }

    .shero {
      position: relative;
      min-height: 100vh;
      min-height: 100svh;
      overflow: hidden;
      display: grid;
      grid-template-columns: 1fr 1fr;
      background: var(--p-charcoal);
      isolation: isolate;
    }

    .shero__image {
      position: absolute;
      inset: 0;
      background-image: url("https://cdn.jsdelivr.net/gh/purepurposekh/tracy-harris-brand-kit@main/assets/photos/tracy-outfit8-39.jpg");
      background-size: 180% auto;
      background-position: 19% 28%;
      background-repeat: no-repeat;
      filter: saturate(0.95) contrast(1.02);
      z-index: 1;
      transform: scale(1.06);
      opacity: 0;
      animation: shReveal 1400ms var(--ease-drawer) 100ms forwards;
      will-change: transform, opacity;
    }
    @keyframes shReveal {
      from { opacity: 0; transform: scale(1.12); }
      to   { opacity: 1; transform: scale(1.06); }
    }
    .shero__scrim {
      position: absolute;
      inset: 0;
      z-index: 2;
      pointer-events: none;
      background:
        linear-gradient(90deg,
          rgba(16,16,16,0.97) 0%,
          rgba(16,16,16,0.94) 28%,
          rgba(16,16,16,0.65) 42%,
          rgba(16,16,16,0.20) 54%,
          rgba(16,16,16,0.0)  64%);
    }
    .shero__vignette {
      position: absolute; inset: 0; z-index: 2; pointer-events: none;
      background: linear-gradient(180deg,
        rgba(16,16,16,0.35) 0%,
        rgba(16,16,16,0.0) 18%,
        rgba(16,16,16,0.0) 82%,
        rgba(16,16,16,0.30) 100%);
    }

    .shero__content {
      position: relative;
      z-index: 3;
      grid-column: 1;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 80px clamp(40px, 6vw, 96px) 80px clamp(36px, 6vw, 96px);
      max-width: 720px;
      color: var(--p-oatmeal);
    }
    .shero__eyebrow,
    .shero__title,
    .shero__sub,
    .shero__ctas {
      opacity: 0;
      transform: translateY(14px);
      animation: shRise 900ms var(--ease-out-craft) forwards;
      will-change: transform, opacity;
    }
    .shero__eyebrow { animation-delay: 360ms; }
    .shero__title   { animation-delay: 500ms; }
    .shero__sub     { animation-delay: 660ms; }
    .shero__ctas    { animation-delay: 820ms; }

    @keyframes shRise {
      from { opacity: 0; transform: translateY(14px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .shero__eyebrow {
      font-family: var(--f-script);
      font-weight: 400;
      font-size: clamp(22px, 2.4vw, 32px);
      line-height: 1;
      margin: 0 0 18px;
      color: var(--p-oatmeal);
      opacity: 0.95;
    }
    .shero__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(44px, 5.4vw, 82px);
      line-height: 1.02;
      letter-spacing: -0.01em;
      color: var(--p-oatmeal);
      margin: 0;
      text-wrap: balance;
    }
    .shero__title em {
      font-family: var(--f-serif-italic);
      font-style: italic;
    }
    .shero__sub {
      font-family: var(--f-sans);
      font-size: clamp(14px, 1.05vw, 16px);
      line-height: 1.6;
      color: var(--p-oatmeal);
      margin: 22px 0 0;
      max-width: 44ch;
      opacity: 0.9;
      text-wrap: pretty;
    }
    .shero__sub em { font-family: var(--f-serif-italic); font-style: italic; opacity: 1; }

    .shero__ctas {
      display: flex;
      gap: 14px;
      margin-top: 32px;
      flex-wrap: wrap;
    }
    .shero__cta {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 14px 26px;
      min-height: 48px;
      border-radius: var(--r-pill);
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      text-decoration: none;
      transition:
        background 200ms var(--ease-out-craft),
        color 200ms var(--ease-out-craft),
        transform 180ms var(--ease-out-craft),
        border-color 200ms var(--ease-out-craft),
        box-shadow 220ms var(--ease-out-craft);
    }
    .shero__cta--primary {
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      border: 1px solid var(--p-oatmeal);
      box-shadow: 0 10px 28px -14px rgba(246,244,241,0.35);
    }
    .shero__cta--primary:hover {
      background: var(--p-ffb-dark);
      color: var(--p-oatmeal);
      border-color: var(--p-ffb-dark);
      transform: translateY(-2px);
      box-shadow: 0 14px 32px -14px rgba(30,55,53,0.55);
    }
    .shero__cta--primary:active { transform: translateY(0) scale(0.98); }
    .shero__cta--primary:focus-visible {
      outline: 2px solid var(--p-oatmeal);
      outline-offset: 3px;
    }
    .shero__cta--ghost {
      background: transparent;
      color: var(--p-oatmeal);
      border: 1px solid rgba(246,244,241,0.45);
    }
    .shero__cta--ghost:hover { border-color: var(--p-oatmeal); transform: translateY(-2px); }
    .shero__cta--ghost:active { transform: translateY(0) scale(0.98); }
    .shero__cta--ghost:focus-visible {
      outline: 1px solid var(--p-oatmeal);
      outline-offset: 4px;
    }

    .shero__meta {
      position: absolute;
      left: clamp(36px, 6vw, 96px);
      bottom: 28px;
      z-index: 3;
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: var(--p-oatmeal);
      opacity: 0;
      animation: shRise 900ms var(--ease-out-craft) 1000ms forwards;
    }
    .shero__meta span + span::before {
      content: "·"; margin: 0 12px; opacity: 0.6;
    }

    @media (max-width: 820px) {
      .shero__nav {
        padding: 14px 18px;
        grid-template-columns: auto 1fr auto;
        gap: 12px;
      }
      .shero__nav-group:not(.shero__nav-group--right) { display: none; }
      .shero__nav-group--right .shero__nav-link { display: none; }
      .shero__menu { margin-left: 0; padding: 10px; }
      .shero__menu span:first-child { display: none; }
      .shero__menu-icon { width: 26px; height: 12px; }

      .shero { display: block; }
      .shero__image {
        background-size: cover;
        background-position: 52% 22%;
      }
      .shero__scrim {
        background:
          linear-gradient(180deg,
            rgba(16,16,16,0.20) 0%,
            rgba(16,16,16,0.0)  25%,
            rgba(16,16,16,0.15) 45%,
            rgba(16,16,16,0.78) 70%,
            rgba(16,16,16,0.92) 100%);
      }
      .shero__content {
        max-width: none;
        padding: 0 24px 100px;
        position: absolute;
        bottom: 0; left: 0; right: 0;
        justify-content: flex-end;
      }
      .shero__eyebrow { font-size: 20px; margin-bottom: 10px; }
      .shero__title { font-size: clamp(38px, 10vw, 60px); line-height: 1.02; }
      .shero__sub { font-size: 14px; max-width: none; margin-top: 14px; }
      .shero__ctas { margin-top: 22px; }
      .shero__cta { padding: 12px 22px; font-size: 11px; }
      .shero__meta { left: 24px; bottom: 16px; font-size: 9px; }
    }

    @media (max-width: 380px) {
      .shero__title { font-size: 32px; }
      .shero__ctas { flex-direction: column; align-items: stretch; }
      .shero__cta { justify-content: center; }
    }

    @media (prefers-reduced-motion: reduce) {
      .shero__image,
      .shero__nav,
      .shero__eyebrow,
      .shero__title,
      .shero__sub,
      .shero__ctas,
      .shero__meta {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
      .shero__image { transform: scale(1.02); }
    }
```

```html
<a href="#content" class="skip-link">Skip to content</a>

  <section class="shero" aria-label="Introduction">
    <div class="shero__image" role="img" aria-label="Tracy Harris portrait"></div>
    <div class="shero__scrim" aria-hidden="true"></div>
    <div class="shero__vignette" aria-hidden="true"></div>

    <nav class="shero__nav" aria-label="Primary">
      <div class="shero__nav-group">
        <a href="/" class="shero__nav-link">Home</a>
        <a href="/about" class="shero__nav-link">About</a>
        <a href="/programs" class="shero__nav-link">Programs</a>
      </div>

      <a href="/" class="shero__nav-mark" aria-label="Tracy Harris home">
        <svg class="t-mark t-mark--bar" viewBox="0 0 263.98 382.72" aria-hidden="true">
          <path d="M0,94.76V12.84L76.42,0v94.76h72.75l-2.45,10.39h-70.3v182.19c0,34.24,14.67,51.97,45.24,51.97,17.73,0,31.18-12.23,36.68-21.4l9.17,5.5c-12.23,28.73-49.52,59.3-90.48,59.3-48.3,0-77.03-19.56-77.03-93.54V94.76Z"/>
          <circle cx="233.68" cy="352.41" r="30.31"/>
        </svg>
      </a>

      <div class="shero__nav-group shero__nav-group--right">
        <a href="/podcast" class="shero__nav-link">Podcast</a>
        <a href="/blog" class="shero__nav-link">Blog</a>
        <a href="/apply" class="shero__nav-link">Apply</a>
        <button class="shero__menu" type="button" aria-label="Open menu">
          <span>Menu</span>
          <span class="shero__menu-icon" aria-hidden="true"></span>
        </button>
      </div>
    </nav>

    <div class="shero__content" id="content">
      <p class="shero__eyebrow">Peace, Profit, Presence.</p>
      <h1 class="shero__title">
        Build a <em>beautiful business</em> that lets you live.
      </h1>
      <p class="shero__sub">
        Mentorship, mastermind and community for women building <em>Freedom Filled®</em> businesses, grounded in story, strategy and spaciousness.
      </p>
      <div class="shero__ctas">
        <a href="/apply" class="shero__cta shero__cta--primary">Apply for FFB</a>
        <a href="/fresh-quiz" class="shero__cta shero__cta--ghost">Take the FRESH Quiz</a>
      </div>
    </div>

    <div class="shero__meta">
      <span>Est. 2016</span>
      <span>Coaching · Mastermind · Community</span>
    </div>
  </section>
```

### hero.split-dark

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-cream);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }

    /* ---- Official T brandmark ---- */
    .t-mark { width: auto; fill: currentColor; display: block; }
    .t-mark--bar { height: 28px; }

    /* -------- TOP BAR -------- */
    .shero__nav {
      position: absolute;
      top: 0; left: 0; right: 0;
      z-index: 3;
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      padding: 22px 40px;
      color: var(--p-oatmeal);
      gap: 20px;
    }
    .shero__nav-group { display: flex; gap: 34px; align-items: center; }
    .shero__nav-group--right { justify-content: flex-end; }
    .shero__nav-link {
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: inherit;
      text-decoration: none;
      position: relative;
      padding: 6px 0;
    }
    .shero__nav-link::after {
      content: ""; position: absolute; left: 0; right: 0; bottom: 2px;
      height: 1px; background: currentColor;
      transform: scaleX(0); transform-origin: left;
      transition: transform .3s ease;
    }
    .shero__nav-link:hover::after { transform: scaleX(1); }
    .shero__nav-mark {
      color: inherit; text-decoration: none;
      display: inline-flex; align-items: center; justify-content: center;
    }
    .shero__menu {
      background: none; border: 0; cursor: pointer;
      padding: 10px; color: inherit;
      display: inline-flex; align-items: center; gap: 10px;
      font-family: var(--f-sans); font-size: 11px; font-weight: 500;
      letter-spacing: 0.22em; text-transform: uppercase;
      margin-left: 8px;
      -webkit-tap-highlight-color: transparent;
    }
    .shero__menu-icon { display: inline-block; width: 24px; height: 10px; position: relative; }
    .shero__menu-icon::before,
    .shero__menu-icon::after {
      content: ""; position: absolute; left: 0; right: 0;
      height: 1.5px; background: currentColor;
    }
    .shero__menu-icon::before { top: 0; }
    .shero__menu-icon::after  { bottom: 0; }

    /* -------- THE HERO -------- */
    .shero {
      position: relative;
      min-height: 100vh;
      min-height: 100svh;
      overflow: hidden;
      display: grid;
      grid-template-columns: 1fr 1fr;
      background: var(--p-charcoal);
    }

    .shero__image {
      position: absolute;
      inset: 0;
      background-image: url("../../../assets/photos/tracy-outfit8-39.jpg");
      background-size: 180% auto;
      background-position: 19% 28%;
      background-repeat: no-repeat;
      filter: saturate(0.95) contrast(1.02);
      z-index: 1;
    }
    .shero__scrim {
      position: absolute;
      inset: 0;
      z-index: 2;
      pointer-events: none;
      background:
        linear-gradient(90deg,
          rgba(16,16,16,0.97) 0%,
          rgba(16,16,16,0.94) 28%,
          rgba(16,16,16,0.65) 42%,
          rgba(16,16,16,0.20) 54%,
          rgba(16,16,16,0.0)  64%);
    }
    .shero__vignette {
      position: absolute; inset: 0; z-index: 2; pointer-events: none;
      background: linear-gradient(180deg,
        rgba(16,16,16,0.35) 0%,
        rgba(16,16,16,0.0) 18%,
        rgba(16,16,16,0.0) 82%,
        rgba(16,16,16,0.30) 100%);
    }

    .shero__content {
      position: relative;
      z-index: 3;
      grid-column: 1;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 80px clamp(40px, 6vw, 96px) 80px clamp(36px, 6vw, 96px);
      max-width: 720px;
      color: var(--p-oatmeal);
    }
    .shero__eyebrow {
      font-family: 'Jhon Halend', 'Caveat', cursive;
      font-weight: 400;
      font-size: clamp(22px, 2.4vw, 32px);
      line-height: 1;
      margin: 0 0 18px;
      color: var(--p-oatmeal);
      opacity: 0.95;
    }
    .shero__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(44px, 5.4vw, 82px);
      line-height: 1.02;
      letter-spacing: -0.01em;
      color: var(--p-oatmeal);
      margin: 0;
    }
    .shero__title em {
      font-family: var(--f-serif-italic);
      font-style: italic;
    }
    .shero__sub {
      font-family: var(--f-sans);
      font-size: clamp(14px, 1.05vw, 16px);
      line-height: 1.6;
      color: var(--p-oatmeal);
      margin: 22px 0 0;
      max-width: 44ch;
      opacity: 0.9;
    }
    .shero__sub em { font-family: var(--f-serif-italic); font-style: italic; opacity: 1; }

    .shero__ctas {
      display: flex;
      gap: 14px;
      margin-top: 32px;
      flex-wrap: wrap;
    }
    .shero__cta {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 14px 26px;
      border-radius: var(--r-pill);
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      text-decoration: none;
      transition: background .2s ease, color .2s ease, transform .25s ease, border-color .2s ease;
    }
    .shero__cta--primary {
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      border: 1px solid var(--p-oatmeal);
    }
    .shero__cta--primary:hover {
      background: var(--p-ffb-dark);
      color: var(--p-oatmeal);
      border-color: var(--p-ffb-dark);
      transform: translateY(-1px);
    }
    .shero__cta--ghost {
      background: transparent;
      color: var(--p-oatmeal);
      border: 1px solid rgba(246,244,241,0.45);
    }
    .shero__cta--ghost:hover { border-color: var(--p-oatmeal); transform: translateY(-1px); }

    .shero__meta {
      position: absolute;
      left: clamp(36px, 6vw, 96px);
      bottom: 28px;
      z-index: 3;
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: var(--p-oatmeal);
      opacity: 0.72;
    }
    .shero__meta span + span::before {
      content: "·"; margin: 0 12px; opacity: 0.6;
    }

    /* -------- MOBILE -------- */
    @media (max-width: 820px) {
      .shero__nav {
        padding: 14px 18px;
        grid-template-columns: auto 1fr auto;
        gap: 12px;
      }
      .shero__nav-group:not(.shero__nav-group--right) { display: none; }
      .shero__nav-group--right .shero__nav-link { display: none; }
      .shero__menu { margin-left: 0; padding: 8px; }
      .shero__menu span:first-child { display: none; }
      .shero__menu-icon { width: 26px; height: 12px; }

      .shero { display: block; }
      .shero__image {
        background-size: cover;
        background-position: 52% 22%;
      }
      .shero__scrim {
        background:
          linear-gradient(180deg,
            rgba(16,16,16,0.20) 0%,
            rgba(16,16,16,0.0)  25%,
            rgba(16,16,16,0.15) 45%,
            rgba(16,16,16,0.78) 70%,
            rgba(16,16,16,0.92) 100%);
      }
      .shero__content {
        max-width: none;
        padding: 0 24px 100px;
        position: absolute;
        bottom: 0; left: 0; right: 0;
        justify-content: flex-end;
      }
      .shero__eyebrow { font-size: 20px; margin-bottom: 10px; }
      .shero__title { font-size: clamp(38px, 10vw, 60px); line-height: 1.02; }
      .shero__sub { font-size: 14px; max-width: none; margin-top: 14px; }
      .shero__ctas { margin-top: 22px; }
      .shero__cta { padding: 12px 22px; font-size: 11px; }
      .shero__meta { left: 24px; bottom: 16px; font-size: 9px; }
    }

    @media (max-width: 380px) {
      .shero__title { font-size: 36px; }
      .shero__ctas { flex-direction: column; align-items: stretch; }
      .shero__cta { justify-content: center; }
    }
```

```html
<section class="shero">
    <div class="shero__image" role="img" aria-label="Tracy Harris portrait"></div>
    <div class="shero__scrim" aria-hidden="true"></div>
    <div class="shero__vignette" aria-hidden="true"></div>

    <nav class="shero__nav" aria-label="Primary">
      <div class="shero__nav-group">
        <a href="/" class="shero__nav-link">Home</a>
        <a href="/about" class="shero__nav-link">About</a>
        <a href="/programs" class="shero__nav-link">Programs</a>
      </div>

      <a href="/" class="shero__nav-mark" aria-label="Tracy Harris home">
        <svg class="t-mark t-mark--bar" viewBox="0 0 263.98 382.72" aria-hidden="true">
          <path d="M0,94.76V12.84L76.42,0v94.76h72.75l-2.45,10.39h-70.3v182.19c0,34.24,14.67,51.97,45.24,51.97,17.73,0,31.18-12.23,36.68-21.4l9.17,5.5c-12.23,28.73-49.52,59.3-90.48,59.3-48.3,0-77.03-19.56-77.03-93.54V94.76Z"/>
          <circle cx="233.68" cy="352.41" r="30.31"/>
        </svg>
      </a>

      <div class="shero__nav-group shero__nav-group--right">
        <a href="/podcast" class="shero__nav-link">Podcast</a>
        <a href="/blog" class="shero__nav-link">Blog</a>
        <a href="/apply" class="shero__nav-link">Apply</a>
        <button class="shero__menu" type="button" aria-label="Open menu">
          <span>Menu</span>
          <span class="shero__menu-icon" aria-hidden="true"></span>
        </button>
      </div>
    </nav>

    <div class="shero__content">
      <p class="shero__eyebrow">Peace, Profit, Presence.</p>
      <h1 class="shero__title">
        Build a <em>beautiful business</em> that lets you live.
      </h1>
      <p class="shero__sub">
        Mentorship, mastermind and community for women building <em>Freedom Filled®</em> businesses, grounded in story, strategy and spaciousness.
      </p>
      <div class="shero__ctas">
        <a href="/apply" class="shero__cta shero__cta--primary">Apply for FFB</a>
        <a href="/fresh-quiz" class="shero__cta shero__cta--ghost">Take the FRESH Quiz</a>
      </div>
    </div>

    <div class="shero__meta">
      <span>Est. 2016</span>
      <span>Coaching · Mastermind · Community</span>
    </div>
  </section>
```

### hero.split-light-polished

Wrapper context: `<body data-brand="tracy">`

```css
:root {
      --ease-out-craft:    cubic-bezier(0.23, 1, 0.32, 1);
      --ease-in-out-craft: cubic-bezier(0.77, 0, 0.175, 1);
      --ease-drawer:       cubic-bezier(0.32, 0.72, 0, 1);
    }

    *, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-cream);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    .skip-link {
      position: absolute; left: -9999px; top: 0;
      background: var(--p-aztek); color: var(--p-oatmeal);
      padding: 10px 14px; z-index: 100;
      font-family: var(--f-sans); font-size: 12px; font-weight: 600;
      letter-spacing: 0.2em; text-transform: uppercase;
    }
    .skip-link:focus { left: 12px; top: 12px; }

    .t-mark { width: auto; fill: currentColor; display: block; }
    .t-mark--bar { height: 28px; }

    .shero__nav {
      position: absolute;
      top: 0; left: 0; right: 0;
      z-index: 4;
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      padding: 22px 40px;
      gap: 20px;
      color: var(--p-charcoal);
      opacity: 0;
      transform: translateY(-8px);
      animation: shlFadeDown 900ms var(--ease-out-craft) 200ms forwards;
    }
    @keyframes shlFadeDown {
      from { opacity: 0; transform: translateY(-8px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    .shero__nav-group { display: flex; gap: 34px; align-items: center; }
    .shero__nav-group--right { justify-content: flex-end; }
    .shero__nav-link {
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: inherit;
      text-decoration: none;
      position: relative;
      padding: 10px 2px;
      min-height: 44px;
      display: inline-flex;
      align-items: center;
      transition: color 180ms var(--ease-out-craft);
    }
    .shero__nav-link::after {
      content: ""; position: absolute; left: 2px; right: 2px; bottom: 8px;
      height: 1px; background: currentColor;
      transform: scaleX(0); transform-origin: left;
      transition: transform 320ms var(--ease-out-craft);
    }
    @media (hover: hover) and (pointer: fine) {
      .shero__nav-link:hover::after { transform: scaleX(1); }
    }
    .shero__nav-link:focus-visible {
      outline: 1px solid var(--p-charcoal);
      outline-offset: 4px;
      border-radius: 2px;
    }
    .shero__nav-mark {
      color: inherit; text-decoration: none;
      display: inline-flex; align-items: center; justify-content: center;
      padding: 8px;
      transition: transform 240ms var(--ease-out-craft);
    }
    .shero__nav-mark:hover { transform: scale(1.04); }
    .shero__nav-mark:active { transform: scale(0.97); }
    .shero__nav-mark:focus-visible {
      outline: 1px solid var(--p-charcoal);
      outline-offset: 6px;
      border-radius: 2px;
    }
    .shero__menu {
      background: none; border: 0; cursor: pointer;
      padding: 10px; color: inherit;
      display: inline-flex; align-items: center; gap: 10px;
      font-family: var(--f-sans); font-size: 11px; font-weight: 500;
      letter-spacing: 0.22em; text-transform: uppercase;
      margin-left: 8px;
      min-height: 44px; min-width: 44px;
      -webkit-tap-highlight-color: transparent;
      transition: transform 160ms var(--ease-out-craft);
    }
    .shero__menu:active { transform: scale(0.97); }
    .shero__menu:focus-visible {
      outline: 1px solid var(--p-charcoal);
      outline-offset: 4px;
      border-radius: 2px;
    }
    .shero__menu-icon { display: inline-block; width: 24px; height: 10px; position: relative; }
    .shero__menu-icon::before,
    .shero__menu-icon::after {
      content: ""; position: absolute; left: 0; right: 0;
      height: 1.5px; background: currentColor;
      transition: transform 280ms var(--ease-out-craft);
    }
    .shero__menu-icon::before { top: 0; }
    .shero__menu-icon::after  { bottom: 0; }

    .shero {
      position: relative;
      min-height: 100vh;
      min-height: 100svh;
      overflow: hidden;
      display: grid;
      grid-template-columns: 1fr 1fr;
      background: var(--p-oatmeal);
      isolation: isolate;
    }

    .shero__image {
      position: absolute;
      inset: 0;
      background-image: url("https://cdn.jsdelivr.net/gh/purepurposekh/tracy-harris-brand-kit@main/assets/photos/tracy-outfit8-39.jpg");
      background-size: 180% auto;
      background-position: 19% 28%;
      background-repeat: no-repeat;
      filter: saturate(0.95) contrast(1.02);
      z-index: 1;
      transform: scale(1.06);
      opacity: 0;
      animation: shlReveal 1400ms var(--ease-drawer) 100ms forwards;
      will-change: transform, opacity;
    }
    @keyframes shlReveal {
      from { opacity: 0; transform: scale(1.12); }
      to   { opacity: 1; transform: scale(1.06); }
    }
    .shero__scrim {
      position: absolute;
      inset: 0;
      z-index: 2;
      pointer-events: none;
      background:
        linear-gradient(90deg,
          rgba(246,244,241,0.98) 0%,
          rgba(246,244,241,0.95) 28%,
          rgba(246,244,241,0.7)  42%,
          rgba(246,244,241,0.25) 54%,
          rgba(246,244,241,0.0)  64%);
    }
    .shero__vignette {
      position: absolute; inset: 0; z-index: 2; pointer-events: none;
      background: linear-gradient(180deg,
        rgba(246,244,241,0.5) 0%,
        rgba(246,244,241,0.0) 18%,
        rgba(246,244,241,0.0) 82%,
        rgba(246,244,241,0.35) 100%);
    }

    .shero__content {
      position: relative;
      z-index: 3;
      grid-column: 1;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 80px clamp(40px, 6vw, 96px) 80px clamp(36px, 6vw, 96px);
      max-width: 720px;
      color: var(--p-charcoal);
    }
    .shero__eyebrow,
    .shero__title,
    .shero__sub,
    .shero__ctas {
      opacity: 0;
      transform: translateY(14px);
      animation: shlRise 900ms var(--ease-out-craft) forwards;
      will-change: transform, opacity;
    }
    .shero__eyebrow { animation-delay: 360ms; }
    .shero__title   { animation-delay: 500ms; }
    .shero__sub     { animation-delay: 660ms; }
    .shero__ctas    { animation-delay: 820ms; }

    @keyframes shlRise {
      from { opacity: 0; transform: translateY(14px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .shero__eyebrow {
      font-family: var(--f-script);
      font-weight: 400;
      font-size: clamp(22px, 2.4vw, 32px);
      line-height: 1;
      margin: 0 0 18px;
      color: var(--p-sage);
      opacity: 0.95;
    }
    .shero__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(44px, 5.4vw, 82px);
      line-height: 1.02;
      letter-spacing: -0.01em;
      color: var(--p-charcoal);
      margin: 0;
      text-wrap: balance;
    }
    .shero__title em { font-family: var(--f-serif-italic); font-style: italic; }
    .shero__sub {
      font-family: var(--f-sans);
      font-size: clamp(14px, 1.05vw, 16px);
      line-height: 1.6;
      color: var(--p-ink);
      margin: 22px 0 0;
      max-width: 44ch;
      text-wrap: pretty;
    }
    .shero__sub em { font-family: var(--f-serif-italic); font-style: italic; }

    .shero__ctas {
      display: flex;
      gap: 14px;
      margin-top: 32px;
      flex-wrap: wrap;
    }
    .shero__cta {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 14px 26px;
      min-height: 48px;
      border-radius: var(--r-pill);
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      text-decoration: none;
      transition:
        background 200ms var(--ease-out-craft),
        color 200ms var(--ease-out-craft),
        transform 180ms var(--ease-out-craft),
        border-color 200ms var(--ease-out-craft),
        box-shadow 220ms var(--ease-out-craft);
    }
    .shero__cta--primary {
      background: var(--p-ffb-dark);
      color: var(--p-oatmeal);
      border: 1px solid var(--p-ffb-dark);
      box-shadow: 0 10px 28px -14px rgba(30,55,53,0.45);
    }
    .shero__cta--primary:hover {
      background: #122624;
      border-color: #122624;
      transform: translateY(-2px);
      box-shadow: 0 14px 32px -14px rgba(30,55,53,0.55);
    }
    .shero__cta--primary:active { transform: translateY(0) scale(0.98); }
    .shero__cta--primary:focus-visible {
      outline: 2px solid var(--p-aztek);
      outline-offset: 3px;
    }
    .shero__cta--ghost {
      background: transparent;
      color: var(--p-charcoal);
      border: 1px solid rgba(16,16,16,0.3);
    }
    .shero__cta--ghost:hover { border-color: var(--p-charcoal); transform: translateY(-2px); }
    .shero__cta--ghost:active { transform: translateY(0) scale(0.98); }
    .shero__cta--ghost:focus-visible {
      outline: 1px solid var(--p-charcoal);
      outline-offset: 4px;
    }

    .shero__meta {
      position: absolute;
      left: clamp(36px, 6vw, 96px);
      bottom: 28px;
      z-index: 3;
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: var(--p-charcoal);
      opacity: 0;
      animation: shlRise 900ms var(--ease-out-craft) 1000ms forwards;
    }
    .shero__meta span + span::before {
      content: "·"; margin: 0 12px; opacity: 0.6;
    }

    @media (max-width: 820px) {
      .shero__nav {
        padding: 14px 18px;
        grid-template-columns: auto 1fr auto;
        gap: 12px;
      }
      .shero__nav-group:not(.shero__nav-group--right) { display: none; }
      .shero__nav-group--right .shero__nav-link { display: none; }
      .shero__menu { margin-left: 0; padding: 10px; }
      .shero__menu span:first-child { display: none; }
      .shero__menu-icon { width: 26px; height: 12px; }

      .shero { display: block; }
      .shero__image {
        background-size: cover;
        background-position: 52% 22%;
      }
      .shero__scrim {
        background:
          linear-gradient(180deg,
            rgba(246,244,241,0.35) 0%,
            rgba(246,244,241,0.0)  25%,
            rgba(246,244,241,0.25) 45%,
            rgba(246,244,241,0.8)  70%,
            rgba(246,244,241,0.95) 100%);
      }
      .shero__content {
        max-width: none;
        padding: 0 24px 100px;
        position: absolute;
        bottom: 0; left: 0; right: 0;
        justify-content: flex-end;
      }
      .shero__eyebrow { font-size: 20px; margin-bottom: 10px; }
      .shero__title { font-size: clamp(38px, 10vw, 60px); line-height: 1.02; }
      .shero__sub { font-size: 14px; max-width: none; margin-top: 14px; }
      .shero__ctas { margin-top: 22px; }
      .shero__cta { padding: 12px 22px; font-size: 11px; }
      .shero__meta { left: 24px; bottom: 16px; font-size: 9px; }
    }

    @media (max-width: 380px) {
      .shero__title { font-size: 32px; }
      .shero__ctas { flex-direction: column; align-items: stretch; }
      .shero__cta { justify-content: center; }
    }

    @media (prefers-reduced-motion: reduce) {
      .shero__image,
      .shero__nav,
      .shero__eyebrow,
      .shero__title,
      .shero__sub,
      .shero__ctas,
      .shero__meta {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
      .shero__image { transform: scale(1.02); }
    }
```

```html
<a href="#content" class="skip-link">Skip to content</a>

  <section class="shero" aria-label="Introduction">
    <div class="shero__image" role="img" aria-label="Tracy Harris portrait"></div>
    <div class="shero__scrim" aria-hidden="true"></div>
    <div class="shero__vignette" aria-hidden="true"></div>

    <nav class="shero__nav" aria-label="Primary">
      <div class="shero__nav-group">
        <a href="/" class="shero__nav-link">Home</a>
        <a href="/about" class="shero__nav-link">About</a>
        <a href="/programs" class="shero__nav-link">Programs</a>
      </div>

      <a href="/" class="shero__nav-mark" aria-label="Tracy Harris home">
        <svg class="t-mark t-mark--bar" viewBox="0 0 263.98 382.72" aria-hidden="true">
          <path d="M0,94.76V12.84L76.42,0v94.76h72.75l-2.45,10.39h-70.3v182.19c0,34.24,14.67,51.97,45.24,51.97,17.73,0,31.18-12.23,36.68-21.4l9.17,5.5c-12.23,28.73-49.52,59.3-90.48,59.3-48.3,0-77.03-19.56-77.03-93.54V94.76Z"/>
          <circle cx="233.68" cy="352.41" r="30.31"/>
        </svg>
      </a>

      <div class="shero__nav-group shero__nav-group--right">
        <a href="/podcast" class="shero__nav-link">Podcast</a>
        <a href="/blog" class="shero__nav-link">Blog</a>
        <a href="/apply" class="shero__nav-link">Apply</a>
        <button class="shero__menu" type="button" aria-label="Open menu">
          <span>Menu</span>
          <span class="shero__menu-icon" aria-hidden="true"></span>
        </button>
      </div>
    </nav>

    <div class="shero__content" id="content">
      <p class="shero__eyebrow">Peace, Profit, Presence.</p>
      <h1 class="shero__title">
        Build a <em>beautiful business</em> that lets you live.
      </h1>
      <p class="shero__sub">
        Mentorship, mastermind and community for women building <em>Freedom Filled®</em> businesses, grounded in story, strategy and spaciousness.
      </p>
      <div class="shero__ctas">
        <a href="/apply" class="shero__cta shero__cta--primary">Apply for FFB</a>
        <a href="/fresh-quiz" class="shero__cta shero__cta--ghost">Take the FRESH Quiz</a>
      </div>
    </div>

    <div class="shero__meta">
      <span>Est. 2016</span>
      <span>Coaching · Mastermind · Community</span>
    </div>
  </section>
```

### hero.split-light

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-cream);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }

    /* ---- Official T brandmark ---- */
    .t-mark { width: auto; fill: currentColor; display: block; }
    .t-mark--bar { height: 28px; }

    /* -------- TOP BAR -------- */
    .shero__nav {
      position: absolute;
      top: 0; left: 0; right: 0;
      z-index: 3;
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      padding: 22px 40px;
      color: var(--p-oatmeal);
      gap: 20px;
    }
    .shero__nav-group { display: flex; gap: 34px; align-items: center; }
    .shero__nav-group--right { justify-content: flex-end; }
    .shero__nav-link {
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: inherit;
      text-decoration: none;
      position: relative;
      padding: 6px 0;
    }
    .shero__nav-link::after {
      content: ""; position: absolute; left: 0; right: 0; bottom: 2px;
      height: 1px; background: currentColor;
      transform: scaleX(0); transform-origin: left;
      transition: transform .3s ease;
    }
    .shero__nav-link:hover::after { transform: scaleX(1); }
    .shero__nav-mark {
      color: inherit; text-decoration: none;
      display: inline-flex; align-items: center; justify-content: center;
    }
    .shero__menu {
      background: none; border: 0; cursor: pointer;
      padding: 10px; color: inherit;
      display: inline-flex; align-items: center; gap: 10px;
      font-family: var(--f-sans); font-size: 11px; font-weight: 500;
      letter-spacing: 0.22em; text-transform: uppercase;
      margin-left: 8px;
      -webkit-tap-highlight-color: transparent;
    }
    .shero__menu-icon { display: inline-block; width: 24px; height: 10px; position: relative; }
    .shero__menu-icon::before,
    .shero__menu-icon::after {
      content: ""; position: absolute; left: 0; right: 0;
      height: 1.5px; background: currentColor;
    }
    .shero__menu-icon::before { top: 0; }
    .shero__menu-icon::after  { bottom: 0; }

    /* -------- THE HERO -------- */
    .shero {
      position: relative;
      min-height: 100vh;
      min-height: 100svh;
      overflow: hidden;
      display: grid;
      grid-template-columns: 1fr 1fr;
      background: var(--p-charcoal);
    }

    .shero__image {
      position: absolute;
      inset: 0;
      background-image: url("../../../assets/photos/tracy-outfit8-39.jpg");
      background-size: 180% auto;
      background-position: 19% 28%;
      background-repeat: no-repeat;
      filter: saturate(0.95) contrast(1.02);
      z-index: 1;
    }

    /* LIGHT variant styling */
    .shero.shero--light { background: var(--p-oatmeal); }
    .shero.shero--light .shero__scrim {
      background:
        linear-gradient(90deg,
          rgba(246,244,241,0.98) 0%,
          rgba(246,244,241,0.95) 28%,
          rgba(246,244,241,0.7)  42%,
          rgba(246,244,241,0.25) 54%,
          rgba(246,244,241,0.0)  64%);
    }
    .shero.shero--light .shero__vignette {
      background: linear-gradient(180deg,
        rgba(246,244,241,0.5) 0%,
        rgba(246,244,241,0.0) 18%,
        rgba(246,244,241,0.0) 82%,
        rgba(246,244,241,0.35) 100%);
    }
    .shero.shero--light .shero__content,
    .shero.shero--light .shero__eyebrow,
    .shero.shero--light .shero__title,
    .shero.shero--light .shero__sub,
    .shero.shero--light .shero__meta,
    .shero.shero--light .shero__nav {
      color: var(--p-charcoal);
    }
    .shero.shero--light .shero__cta--primary {
      background: var(--p-ffb-dark);
      color: var(--p-oatmeal);
      border-color: var(--p-ffb-dark);
    }
    .shero.shero--light .shero__cta--primary:hover {
      background: #122624;
      border-color: #122624;
    }
    .shero.shero--light .shero__cta--ghost {
      color: var(--p-charcoal);
      border-color: rgba(16,16,16,0.3);
    }
    .shero.shero--light .shero__cta--ghost:hover {
      border-color: var(--p-charcoal);
    }

    .shero__scrim {
      position: absolute;
      inset: 0;
      z-index: 2;
      pointer-events: none;
    }
    .shero__vignette {
      position: absolute; inset: 0; z-index: 2; pointer-events: none;
    }

    .shero__content {
      position: relative;
      z-index: 3;
      grid-column: 1;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 80px clamp(40px, 6vw, 96px) 80px clamp(36px, 6vw, 96px);
      max-width: 720px;
      color: var(--p-oatmeal);
    }
    .shero__eyebrow {
      font-family: 'Jhon Halend', 'Caveat', cursive;
      font-weight: 400;
      font-size: clamp(22px, 2.4vw, 32px);
      line-height: 1;
      margin: 0 0 18px;
      opacity: 0.95;
    }
    .shero__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(44px, 5.4vw, 82px);
      line-height: 1.02;
      letter-spacing: -0.01em;
      margin: 0;
    }
    .shero__title em {
      font-family: var(--f-serif-italic);
      font-style: italic;
    }
    .shero__sub {
      font-family: var(--f-sans);
      font-size: clamp(14px, 1.05vw, 16px);
      line-height: 1.6;
      margin: 22px 0 0;
      max-width: 44ch;
      opacity: 0.9;
    }
    .shero__sub em { font-family: var(--f-serif-italic); font-style: italic; opacity: 1; }

    .shero__ctas {
      display: flex;
      gap: 14px;
      margin-top: 32px;
      flex-wrap: wrap;
    }
    .shero__cta {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 14px 26px;
      border-radius: var(--r-pill);
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      text-decoration: none;
      transition: background .2s ease, color .2s ease, transform .25s ease, border-color .2s ease;
    }
    .shero__cta--primary { border-style: solid; border-width: 1px; }
    .shero__cta--primary:hover { transform: translateY(-1px); }
    .shero__cta--ghost { background: transparent; border-style: solid; border-width: 1px; }
    .shero__cta--ghost:hover { transform: translateY(-1px); }

    .shero__meta {
      position: absolute;
      left: clamp(36px, 6vw, 96px);
      bottom: 28px;
      z-index: 3;
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      opacity: 0.72;
    }
    .shero__meta span + span::before {
      content: "·"; margin: 0 12px; opacity: 0.6;
    }

    /* -------- MOBILE -------- */
    @media (max-width: 820px) {
      .shero__nav {
        padding: 14px 18px;
        grid-template-columns: auto 1fr auto;
        gap: 12px;
      }
      .shero__nav-group:not(.shero__nav-group--right) { display: none; }
      .shero__nav-group--right .shero__nav-link { display: none; }
      .shero__menu { margin-left: 0; padding: 8px; }
      .shero__menu span:first-child { display: none; }
      .shero__menu-icon { width: 26px; height: 12px; }

      .shero { display: block; }
      .shero__image {
        background-size: cover;
        background-position: 52% 22%;
      }
      .shero.shero--light .shero__scrim {
        background:
          linear-gradient(180deg,
            rgba(246,244,241,0.35) 0%,
            rgba(246,244,241,0.0)  25%,
            rgba(246,244,241,0.25) 45%,
            rgba(246,244,241,0.8)  70%,
            rgba(246,244,241,0.95) 100%);
      }
      .shero__content {
        max-width: none;
        padding: 0 24px 100px;
        position: absolute;
        bottom: 0; left: 0; right: 0;
        justify-content: flex-end;
      }
      .shero__eyebrow { font-size: 20px; margin-bottom: 10px; }
      .shero__title { font-size: clamp(38px, 10vw, 60px); line-height: 1.02; }
      .shero__sub { font-size: 14px; max-width: none; margin-top: 14px; }
      .shero__ctas { margin-top: 22px; }
      .shero__cta { padding: 12px 22px; font-size: 11px; }
      .shero__meta { left: 24px; bottom: 16px; font-size: 9px; }
    }

    @media (max-width: 380px) {
      .shero__title { font-size: 36px; }
      .shero__ctas { flex-direction: column; align-items: stretch; }
      .shero__cta { justify-content: center; }
    }
```

```html
<section class="shero shero--light">
    <div class="shero__image" role="img" aria-label="Tracy Harris portrait"></div>
    <div class="shero__scrim" aria-hidden="true"></div>
    <div class="shero__vignette" aria-hidden="true"></div>

    <nav class="shero__nav" aria-label="Primary">
      <div class="shero__nav-group">
        <a href="/" class="shero__nav-link">Home</a>
        <a href="/about" class="shero__nav-link">About</a>
        <a href="/programs" class="shero__nav-link">Programs</a>
      </div>

      <a href="/" class="shero__nav-mark" aria-label="Tracy Harris home">
        <svg class="t-mark t-mark--bar" viewBox="0 0 263.98 382.72" aria-hidden="true">
          <path d="M0,94.76V12.84L76.42,0v94.76h72.75l-2.45,10.39h-70.3v182.19c0,34.24,14.67,51.97,45.24,51.97,17.73,0,31.18-12.23,36.68-21.4l9.17,5.5c-12.23,28.73-49.52,59.3-90.48,59.3-48.3,0-77.03-19.56-77.03-93.54V94.76Z"/>
          <circle cx="233.68" cy="352.41" r="30.31"/>
        </svg>
      </a>

      <div class="shero__nav-group shero__nav-group--right">
        <a href="/podcast" class="shero__nav-link">Podcast</a>
        <a href="/blog" class="shero__nav-link">Blog</a>
        <a href="/apply" class="shero__nav-link">Apply</a>
        <button class="shero__menu" type="button" aria-label="Open menu">
          <span>Menu</span>
          <span class="shero__menu-icon" aria-hidden="true"></span>
        </button>
      </div>
    </nav>

    <div class="shero__content">
      <p class="shero__eyebrow">Peace, Profit, Presence.</p>
      <h1 class="shero__title">
        Build a <em>beautiful business</em> that lets you live.
      </h1>
      <p class="shero__sub">
        Mentorship, mastermind and community for women building <em>Freedom Filled®</em> businesses, grounded in story, strategy and spaciousness.
      </p>
      <div class="shero__ctas">
        <a href="/apply" class="shero__cta shero__cta--primary">Apply for FFB</a>
        <a href="/fresh-quiz" class="shero__cta shero__cta--ghost">Take the FRESH Quiz</a>
      </div>
    </div>

    <div class="shero__meta">
      <span>Est. 2016</span>
      <span>Coaching · Mastermind · Community</span>
    </div>
  </section>
```

### hero.split

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-cream);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }

    /* ---- Official T brandmark ---- */
    .t-mark { width: auto; fill: currentColor; display: block; }
    .t-mark--bar { height: 28px; }

    /* -------- TOP BAR (inside hero, light text on dark side) -------- */
    .shero__nav {
      position: absolute;
      top: 0; left: 0; right: 0;
      z-index: 3;
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      padding: 22px 40px;
      color: var(--p-oatmeal);
      gap: 20px;
    }
    .shero__nav-group { display: flex; gap: 34px; align-items: center; }
    .shero__nav-group--right { justify-content: flex-end; }
    .shero__nav-link {
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: inherit;
      text-decoration: none;
      position: relative;
      padding: 6px 0;
    }
    .shero__nav-link::after {
      content: ""; position: absolute; left: 0; right: 0; bottom: 2px;
      height: 1px; background: currentColor;
      transform: scaleX(0); transform-origin: left;
      transition: transform .3s ease;
    }
    .shero__nav-link:hover::after { transform: scaleX(1); }
    .shero__nav-mark {
      color: inherit; text-decoration: none;
      display: inline-flex; align-items: center; justify-content: center;
    }
    .shero__menu {
      background: none; border: 0; cursor: pointer;
      padding: 10px; color: inherit;
      display: inline-flex; align-items: center; gap: 10px;
      font-family: var(--f-sans); font-size: 11px; font-weight: 500;
      letter-spacing: 0.22em; text-transform: uppercase;
      margin-left: 8px;
      -webkit-tap-highlight-color: transparent;
    }
    .shero__menu-icon { display: inline-block; width: 24px; height: 10px; position: relative; }
    .shero__menu-icon::before,
    .shero__menu-icon::after {
      content: ""; position: absolute; left: 0; right: 0;
      height: 1.5px; background: currentColor;
    }
    .shero__menu-icon::before { top: 0; }
    .shero__menu-icon::after  { bottom: 0; }

    /* -------- THE HERO -------- */
    .shero {
      position: relative;
      min-height: 100vh;
      min-height: 100svh;
      overflow: hidden;
      display: grid;
      grid-template-columns: 1fr 1fr;
      background: var(--p-charcoal);
    }

    /* Photo layer: full-bleed, zoomed wider than viewport so Tracy's center
       lands at ~75% of viewport width (centre of the right quadrant).
       Math: with background-size: 180% auto, position 19% places a subject
       that's at 50% of the image at 75% of the container, at any viewport width. */
    .shero__image {
      position: absolute;
      inset: 0;
      background-image: url("../../../assets/photos/tracy-outfit8-39.jpg");
      background-size: 180% auto;
      background-position: 19% 28%;
      background-repeat: no-repeat;
      filter: saturate(0.95) contrast(1.02);
      z-index: 1;
    }
    /* Horizontal gradient: dark on the LEFT, clears well BEFORE Tracy so her face is fully visible */
    .shero__scrim {
      position: absolute;
      inset: 0;
      z-index: 2;
      pointer-events: none;
      background:
        linear-gradient(90deg,
          rgba(16,16,16,0.97) 0%,
          rgba(16,16,16,0.94) 28%,
          rgba(16,16,16,0.65) 42%,
          rgba(16,16,16,0.20) 54%,
          rgba(16,16,16,0.0)  64%);
    }
    /* LIGHT variant: cream-to-clear gradient, charcoal text */
    .shero.shero--light { background: var(--p-oatmeal); }
    .shero.shero--light .shero__scrim {
      background:
        linear-gradient(90deg,
          rgba(246,244,241,0.98) 0%,
          rgba(246,244,241,0.95) 28%,
          rgba(246,244,241,0.7)  42%,
          rgba(246,244,241,0.25) 54%,
          rgba(246,244,241,0.0)  64%);
    }
    .shero.shero--light .shero__vignette {
      background: linear-gradient(180deg,
        rgba(246,244,241,0.5) 0%,
        rgba(246,244,241,0.0) 18%,
        rgba(246,244,241,0.0) 82%,
        rgba(246,244,241,0.35) 100%);
    }
    .shero.shero--light .shero__content,
    .shero.shero--light .shero__eyebrow,
    .shero.shero--light .shero__title,
    .shero.shero--light .shero__sub,
    .shero.shero--light .shero__meta,
    .shero.shero--light .shero__nav {
      color: var(--p-charcoal);
    }
    .shero.shero--light .shero__cta--primary {
      background: var(--p-ffb-dark);
      color: var(--p-oatmeal);
      border-color: var(--p-ffb-dark);
    }
    .shero.shero--light .shero__cta--primary:hover {
      background: #122624;
      border-color: #122624;
    }
    .shero.shero--light .shero__cta--ghost {
      color: var(--p-charcoal);
      border-color: rgba(16,16,16,0.3);
    }
    .shero.shero--light .shero__cta--ghost:hover {
      border-color: var(--p-charcoal);
    }
    /* Subtle top/bottom vignette to keep nav + legal margins readable */
    .shero__vignette {
      position: absolute; inset: 0; z-index: 2; pointer-events: none;
      background: linear-gradient(180deg,
        rgba(16,16,16,0.35) 0%,
        rgba(16,16,16,0.0) 18%,
        rgba(16,16,16,0.0) 82%,
        rgba(16,16,16,0.30) 100%);
    }

    /* Content: sits on the LEFT half */
    .shero__content {
      position: relative;
      z-index: 3;
      grid-column: 1;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 80px clamp(40px, 6vw, 96px) 80px clamp(36px, 6vw, 96px);
      max-width: 720px;
      color: var(--p-oatmeal);
    }
    .shero__eyebrow {
      font-family: 'Jhon Halend', 'Caveat', cursive;
      font-weight: 400;
      font-size: clamp(22px, 2.4vw, 32px);
      line-height: 1;
      margin: 0 0 18px;
      color: var(--p-oatmeal);
      opacity: 0.95;
    }
    .shero__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(44px, 5.4vw, 82px);
      line-height: 1.02;
      letter-spacing: -0.01em;
      color: var(--p-oatmeal);
      margin: 0;
    }
    .shero__title em {
      font-family: var(--f-serif-italic);
      font-style: italic;
    }
    .shero__sub {
      font-family: var(--f-sans);
      font-size: clamp(14px, 1.05vw, 16px);
      line-height: 1.6;
      color: var(--p-oatmeal);
      margin: 22px 0 0;
      max-width: 44ch;
      opacity: 0.9;
    }
    .shero__sub em { font-family: var(--f-serif-italic); font-style: italic; opacity: 1; }

    .shero__ctas {
      display: flex;
      gap: 14px;
      margin-top: 32px;
      flex-wrap: wrap;
    }
    .shero__cta {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 14px 26px;
      border-radius: var(--r-pill);
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      text-decoration: none;
      transition: background .2s ease, color .2s ease, transform .25s ease, border-color .2s ease;
    }
    .shero__cta--primary {
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      border: 1px solid var(--p-oatmeal);
    }
    .shero__cta--primary:hover {
      background: var(--p-ffb-dark);
      color: var(--p-oatmeal);
      border-color: var(--p-ffb-dark);
      transform: translateY(-1px);
    }
    .shero__cta--ghost {
      background: transparent;
      color: var(--p-oatmeal);
      border: 1px solid rgba(246,244,241,0.45);
    }
    .shero__cta--ghost:hover { border-color: var(--p-oatmeal); transform: translateY(-1px); }

    /* Small meta row at the bottom-left */
    .shero__meta {
      position: absolute;
      left: clamp(36px, 6vw, 96px);
      bottom: 28px;
      z-index: 3;
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: var(--p-oatmeal);
      opacity: 0.72;
    }
    .shero__meta span + span::before {
      content: "·"; margin: 0 12px; opacity: 0.6;
    }

    /* -------- EXHALE SECTION BELOW -------- */
    .sexhale {
      padding: clamp(80px, 12vh, 140px) clamp(20px, 6vw, 80px);
      background: var(--p-cream);
      color: var(--p-charcoal);
      text-align: center;
    }
    .sexhale p {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(24px, 2.4vw, 32px);
      line-height: 1.45;
      max-width: 720px;
      margin: 0 auto;
    }
    .sexhale em { font-family: var(--f-serif-italic); font-style: italic; }

    /* -------- MOBILE, stack, photo on top, text below -------- */
    @media (max-width: 820px) {
      .shero__nav {
        padding: 14px 18px;
        grid-template-columns: auto 1fr auto;
        gap: 12px;
      }
      .shero__nav-group:not(.shero__nav-group--right) { display: none; }
      .shero__nav-group--right .shero__nav-link { display: none; }
      .shero__menu { margin-left: 0; padding: 8px; }
      .shero__menu span:first-child { display: none; }
      .shero__menu-icon { width: 26px; height: 12px; }

      .shero {
        display: block;
      }
      .shero__image {
        background-size: cover;
        background-position: 52% 22%;
      }
      /* Flip the gradient: dim the BOTTOM (where text sits) instead of LEFT */
      .shero__scrim {
        background:
          linear-gradient(180deg,
            rgba(16,16,16,0.20) 0%,
            rgba(16,16,16,0.0)  25%,
            rgba(16,16,16,0.15) 45%,
            rgba(16,16,16,0.78) 70%,
            rgba(16,16,16,0.92) 100%);
      }
      .shero.shero--light .shero__scrim {
        background:
          linear-gradient(180deg,
            rgba(246,244,241,0.35) 0%,
            rgba(246,244,241,0.0)  25%,
            rgba(246,244,241,0.25) 45%,
            rgba(246,244,241,0.8)  70%,
            rgba(246,244,241,0.95) 100%);
      }
      .shero__content {
        max-width: none;
        padding: 0 24px 100px;
        position: absolute;
        bottom: 0; left: 0; right: 0;
        justify-content: flex-end;
      }
      .shero__eyebrow { font-size: 20px; margin-bottom: 10px; }
      .shero__title { font-size: clamp(38px, 10vw, 60px); line-height: 1.02; }
      .shero__sub { font-size: 14px; max-width: none; margin-top: 14px; }
      .shero__ctas { margin-top: 22px; }
      .shero__cta { padding: 12px 22px; font-size: 11px; }
      .shero__meta { left: 24px; bottom: 16px; font-size: 9px; }
    }

    @media (max-width: 380px) {
      .shero__title { font-size: 36px; }
      .shero__ctas { flex-direction: column; align-items: stretch; }
      .shero__cta { justify-content: center; }
    }
```

```html
<section class="shero">
    <div class="shero__image" role="img" aria-label="Tracy Harris portrait"></div>
    <div class="shero__scrim" aria-hidden="true"></div>
    <div class="shero__vignette" aria-hidden="true"></div>

    <nav class="shero__nav" aria-label="Primary">
      <div class="shero__nav-group">
        <a href="/" class="shero__nav-link">Home</a>
        <a href="/about" class="shero__nav-link">About</a>
        <a href="/programs" class="shero__nav-link">Programs</a>
      </div>

      <a href="/" class="shero__nav-mark" aria-label="Tracy Harris home">
        <svg class="t-mark t-mark--bar" viewBox="0 0 263.98 382.72" aria-hidden="true">
          <path d="M0,94.76V12.84L76.42,0v94.76h72.75l-2.45,10.39h-70.3v182.19c0,34.24,14.67,51.97,45.24,51.97,17.73,0,31.18-12.23,36.68-21.4l9.17,5.5c-12.23,28.73-49.52,59.3-90.48,59.3-48.3,0-77.03-19.56-77.03-93.54V94.76Z"/>
          <circle cx="233.68" cy="352.41" r="30.31"/>
        </svg>
      </a>

      <div class="shero__nav-group shero__nav-group--right">
        <a href="/podcast" class="shero__nav-link">Podcast</a>
        <a href="/blog" class="shero__nav-link">Blog</a>
        <a href="/apply" class="shero__nav-link">Apply</a>
        <button class="shero__menu" type="button" aria-label="Open menu">
          <span>Menu</span>
          <span class="shero__menu-icon" aria-hidden="true"></span>
        </button>
      </div>
    </nav>

    <div class="shero__content">
      <p class="shero__eyebrow">Peace, Profit, Presence.</p>
      <h1 class="shero__title">
        Build a <em>beautiful business</em> that lets you live.
      </h1>
      <p class="shero__sub">
        Mentorship, mastermind and community for women building <em>Freedom Filled®</em> businesses, grounded in story, strategy and spaciousness.
      </p>
      <div class="shero__ctas">
        <a href="/apply" class="shero__cta shero__cta--primary">Apply for FFB</a>
        <a href="/fresh-quiz" class="shero__cta shero__cta--ghost">Take the FRESH Quiz</a>
      </div>
    </div>

    <div class="shero__meta">
      <span>Est. 2016</span>
      <span>Coaching · Mastermind · Community</span>
    </div>
  </section>

  <section class="sexhale">
    <p>
      <em>Quietly</em> profitable. <em>Intentionally</em> small.
      A business by <em>design</em>, not by default.
    </p>
  </section>

  <!-- LIGHT VARIATION, same layout, inverted -->
  <section class="shero shero--light">
    <div class="shero__image" role="img" aria-label="Tracy Harris portrait"></div>
    <div class="shero__scrim" aria-hidden="true"></div>
    <div class="shero__vignette" aria-hidden="true"></div>

    <nav class="shero__nav" aria-label="Primary">
      <div class="shero__nav-group">
        <a href="/" class="shero__nav-link">Home</a>
        <a href="/about" class="shero__nav-link">About</a>
        <a href="/programs" class="shero__nav-link">Programs</a>
      </div>

      <a href="/" class="shero__nav-mark" aria-label="Tracy Harris home">
        <svg class="t-mark t-mark--bar" viewBox="0 0 263.98 382.72" aria-hidden="true">
          <path d="M0,94.76V12.84L76.42,0v94.76h72.75l-2.45,10.39h-70.3v182.19c0,34.24,14.67,51.97,45.24,51.97,17.73,0,31.18-12.23,36.68-21.4l9.17,5.5c-12.23,28.73-49.52,59.3-90.48,59.3-48.3,0-77.03-19.56-77.03-93.54V94.76Z"/>
          <circle cx="233.68" cy="352.41" r="30.31"/>
        </svg>
      </a>

      <div class="shero__nav-group shero__nav-group--right">
        <a href="/podcast" class="shero__nav-link">Podcast</a>
        <a href="/blog" class="shero__nav-link">Blog</a>
        <a href="/apply" class="shero__nav-link">Apply</a>
        <button class="shero__menu" type="button" aria-label="Open menu">
          <span>Menu</span>
          <span class="shero__menu-icon" aria-hidden="true"></span>
        </button>
      </div>
    </nav>

    <div class="shero__content">
      <p class="shero__eyebrow">Peace, Profit, Presence.</p>
      <h1 class="shero__title">
        Build a <em>beautiful business</em> that lets you live.
      </h1>
      <p class="shero__sub">
        Mentorship, mastermind and community for women building <em>Freedom Filled®</em> businesses, grounded in story, strategy and spaciousness.
      </p>
      <div class="shero__ctas">
        <a href="/apply" class="shero__cta shero__cta--primary">Apply for FFB</a>
        <a href="/fresh-quiz" class="shero__cta shero__cta--ghost">Take the FRESH Quiz</a>
      </div>
    </div>

    <div class="shero__meta">
      <span>Est. 2016</span>
      <span>Coaching · Mastermind · Community</span>
    </div>
  </section>
```

### hero.stage-portrait

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }

    /* ---- Tracy marks ---- */
    .t-mark { width: auto; fill: currentColor; display: block; }
    .t-mark path, .t-mark circle { fill: currentColor; }
    .t-wordmark { width: auto; fill: currentColor; display: block; }
    .t-wordmark path, .t-wordmark polygon, .t-wordmark rect, .t-wordmark circle { fill: currentColor; }

    /* -------- CREAM FRAME (page gets a soft canvas border around the hero) -------- */
    .tpage {
      background: var(--p-oatmeal);
      min-height: 100vh;
      min-height: 100svh;
      padding: clamp(14px, 1.6vw, 24px);
      color: var(--p-charcoal);
      overflow-x: hidden;
      max-width: 100vw;
    }

    /* -------- THIN TOP BAR (light, refined, Tracy voice) -------- */
    .tnav {
      display: grid;
      grid-template-columns: auto 1fr auto;
      align-items: center;
      gap: 20px;
      padding: 10px 10px 22px;
      color: var(--p-charcoal);
    }
    .tnav__mark {
      color: inherit;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
    }
    .tnav__mark .t-wordmark { height: 20px; opacity: 0.92; }

    .tnav__links {
      display: flex;
      justify-content: center;
      gap: 34px;
      align-items: center;
    }
    .tnav__link {
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: inherit;
      text-decoration: none;
      position: relative;
      padding: 6px 0;
      opacity: 0.8;
      transition: opacity .2s ease;
    }
    .tnav__link:hover { opacity: 1; }
    .tnav__link::after {
      content: "";
      position: absolute; left: 0; right: 0; bottom: 2px;
      height: 1px; background: currentColor;
      transform: scaleX(0); transform-origin: left;
      transition: transform .3s ease;
    }
    .tnav__link:hover::after { transform: scaleX(1); }

    .tnav__right {
      display: flex;
      align-items: center;
      gap: 20px;
      justify-content: flex-end;
    }
    .tnav__icon {
      background: none;
      border: 0;
      color: inherit;
      padding: 6px;
      cursor: pointer;
      opacity: 0.75;
      display: inline-flex;
    }
    .tnav__icon:hover { opacity: 1; }
    .tnav__cta {
      padding: 10px 22px;
      border-radius: var(--r-pill);
      background: var(--p-charcoal);
      color: var(--p-oatmeal);
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      text-decoration: none;
      transition: background .25s ease, transform .2s ease;
      white-space: nowrap;
    }
    .tnav__cta:hover { background: var(--p-ffb-dark); transform: translateY(-1px); }

    /* -------- HERO: editorial portrait in a framed canvas, not a "stage" -------- */
    .thero {
      position: relative;
      border-radius: 8px;
      overflow: hidden;
      min-height: 80vh;
      min-height: 80svh;
      isolation: isolate;
      display: flex;
      flex-direction: column;
      background: #d9d3c9;  /* fallback warm tone */
    }
    /* Portrait, Tracy sits in the right column. Source image has her
       right-of-center; cover + 95% x-position pushes her into the right
       half while keeping the quiet door area on the left for the copy. */
    .thero__image {
      position: absolute;
      inset: 0;
      background-image: url("../../../assets/photos/tracy-outfit8-39.jpg");
      background-size: cover;
      background-position: 95% 28%;
      background-repeat: no-repeat;
      z-index: 1;
      filter: contrast(1.02) saturate(1.02);
    }
    /* Soft warm vignette, no blend mode, no scan lines. Just depth at edges. */
    .thero__wash {
      position: absolute; inset: 0; z-index: 2;
      background:
        radial-gradient(ellipse 100% 90% at 50% 40%,
          rgba(16,16,16,0) 35%,
          rgba(16,16,16,0.25) 100%);
      pointer-events: none;
    }
    /* Left-anchored readability gradient, darkens the left half so copy
       reads over the door/light area while Tracy (right side) stays clear. */
    .thero__lift {
      position: absolute; inset: 0; z-index: 3;
      background:
        linear-gradient(100deg,
          rgba(16,16,16,0.62) 0%,
          rgba(16,16,16,0.40) 20%,
          rgba(16,16,16,0.10) 40%,
          rgba(16,16,16,0.0)  58%);
      pointer-events: none;
    }
    /* Bottom band for the event widget / meta */
    .thero__band {
      position: absolute; inset: auto 0 0 0; z-index: 3;
      height: 38%;
      background: linear-gradient(180deg, rgba(16,16,16,0.0) 0%, rgba(16,16,16,0.55) 100%);
      pointer-events: none;
    }

    /* Content layer, copy anchored far LEFT over the quiet door area so
       Tracy (right) stays clear and the headline gets contrast from the
       left-anchored scrim. */
    .thero__body {
      position: relative;
      z-index: 5;
      flex: 1;
      display: grid;
      grid-template-rows: 1fr auto;
      grid-template-columns: 1fr;
      padding: clamp(32px, 4.5vw, 56px);
      color: var(--p-oatmeal);
    }
    .thero__inner {
      max-width: 560px;
      align-self: center;
      justify-self: start;
      text-align: left;
    }
    .thero__eyebrow {
      font-family: 'Jhon Halend', 'Caveat', cursive;
      font-weight: 400;
      font-size: clamp(26px, 2.8vw, 36px);
      line-height: 1;
      color: var(--p-oatmeal);
      margin: 0 0 18px;
      opacity: 0.95;
      text-shadow: 0 1px 12px rgba(0,0,0,0.2);
    }
    .thero__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(42px, 5.8vw, 84px);
      line-height: 1.03;
      letter-spacing: -0.01em;
      color: var(--p-oatmeal);
      margin: 0 0 14px;
      text-shadow: 0 2px 20px rgba(0,0,0,0.25);
      max-width: 100%;
      overflow-wrap: break-word;
      word-break: break-word;
    }
    .thero__title em { font-family: var(--f-serif-italic); font-style: italic; }
    .thero__sub {
      font-family: var(--f-sans);
      font-size: clamp(14px, 1.05vw, 16px);
      line-height: 1.65;
      color: var(--p-oatmeal);
      opacity: 0.92;
      max-width: 44ch;
      margin: 0 0 28px;
    }
    .thero__sub em { font-family: var(--f-serif-italic); font-style: italic; opacity: 1; }

    .thero__ctas {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
    }
    .thero__cta {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 14px 26px;
      border-radius: var(--r-pill);
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      text-decoration: none;
      transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
    }
    .thero__cta--primary {
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      border: 1px solid var(--p-oatmeal);
    }
    .thero__cta--primary:hover {
      background: var(--p-ffb-dark);
      color: var(--p-oatmeal);
      border-color: var(--p-ffb-dark);
      transform: translateY(-1px);
    }
    .thero__cta--ghost {
      background: transparent;
      color: var(--p-oatmeal);
      border: 1px solid rgba(246,244,241,0.5);
    }
    .thero__cta--ghost:hover { border-color: var(--p-oatmeal); transform: translateY(-1px); }

    /* Bottom row: signature + event widget */
    .thero__bottom {
      display: grid;
      grid-template-columns: 1fr auto;
      align-items: end;
      gap: 24px;
      padding-top: 24px;
    }
    .thero__sig {
      font-family: 'Jhon Halend', 'Caveat', cursive;
      font-weight: 400;
      font-size: clamp(26px, 2.6vw, 34px);
      line-height: 1;
      color: var(--p-oatmeal);
      opacity: 0.92;
      margin: 0;
      text-shadow: 0 1px 10px rgba(0,0,0,0.25);
    }
    .thero__meta {
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: var(--p-oatmeal);
      opacity: 0.7;
      margin: 6px 0 0;
    }
    .thero__meta span + span::before { content: "·"; margin: 0 10px; opacity: 0.6; }

    /* -------- INLINE EVENT WIDGET (Tracy-voice, sits on the hero's bottom-right) -------- */
    .tew {
      width: 310px;
      border-radius: 12px;
      overflow: hidden;
      background: rgba(16,16,16,0.72);
      color: var(--p-oatmeal);
      box-shadow: 0 12px 28px rgba(0,0,0,0.35);
      cursor: pointer;
      transition: transform .3s ease, box-shadow .3s ease;
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      border: 1px solid rgba(246,244,241,0.1);
      text-decoration: none;
      display: block;
    }
    .tew:hover { transform: translateY(-2px); box-shadow: 0 16px 36px rgba(0,0,0,0.4); }
    .tew__label {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 12px 14px 6px;
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--p-oatmeal);
    }
    .tew__label::before {
      content: "";
      width: 6px; height: 6px; border-radius: 50%;
      background: var(--p-sage);
      box-shadow: 0 0 0 0 rgba(110,142,119,0.6);
      animation: tewBlink 1.8s ease-in-out infinite;
    }
    @keyframes tewBlink {
      0%, 100% { box-shadow: 0 0 0 0 rgba(110,142,119,0.6); }
      50%      { box-shadow: 0 0 0 6px rgba(110,142,119,0); }
    }
    .tew__thumb {
      position: relative;
      aspect-ratio: 16 / 9;
      background: url("../../../assets/photos/tracy-outfit8-49.jpg") center 25% / cover;
      margin: 0 10px 10px;
      border-radius: 8px;
      overflow: hidden;
    }
    .tew__thumb::after {
      content: "";
      position: absolute; inset: 0;
      background: linear-gradient(180deg, rgba(16,16,16,0) 40%, rgba(16,16,16,0.7) 100%);
    }
    .tew__caption {
      position: absolute;
      left: 10px; bottom: 10px;
      z-index: 2;
      font-family: var(--f-serif-display);
      font-size: 14px;
      font-weight: 400;
      line-height: 1.1;
      color: var(--p-oatmeal);
      max-width: 62%;
    }
    .tew__caption em { font-family: var(--f-serif-italic); font-style: italic; }
    .tew__watch {
      position: absolute;
      right: 10px; bottom: 10px;
      z-index: 2;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 6px 12px 6px 10px;
      border-radius: var(--r-pill);
      background: rgba(246,244,241,0.94);
      color: var(--p-charcoal);
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
    }

    /* -------- MOBILE -------- */
    @media (max-width: 900px) {
      .tnav__links { display: none; }
      .tnav { padding-bottom: 14px; grid-template-columns: auto 1fr auto; min-width: 0; }
      .tnav__cta { padding: 9px 16px; letter-spacing: 0.14em; font-size: 10.5px; }
    }
    @media (max-width: 820px) {
      .tpage { padding: 10px; }
      .thero {
        min-height: 90vh;
        border-radius: 6px;
      }
      /* Mobile: cover + right-pulled position keeps her in frame. */
      .thero__image {
        background-size: cover;
        background-position: 90% 24%;
      }
      /* Stronger scrim on mobile so the hero type reads clearly over the portrait. */
      .thero__lift {
        background: linear-gradient(180deg,
          rgba(16,16,16,0.45) 0%,
          rgba(16,16,16,0.20) 28%,
          rgba(16,16,16,0.25) 50%,
          rgba(16,16,16,0.70) 78%,
          rgba(16,16,16,0.90) 100%);
      }
      .thero__inner { justify-self: stretch; }
      .thero__band { display: none; }
      .thero__body {
        padding: 22px 18px;
        grid-template-rows: 1fr auto;
        min-width: 0;
      }
      .thero__inner {
        align-self: end;
        justify-self: stretch;
        padding-bottom: 8px;
        max-width: 100%;
        min-width: 0;
        width: 100%;
      }
      .thero__eyebrow { font-size: 24px; margin-bottom: 10px; }
      .thero__title {
        font-size: clamp(28px, 7vw, 42px);
        hyphens: auto;
      }
      .thero__sub { font-size: 14px; margin-bottom: 22px; }
      .thero__cta { padding: 12px 22px; font-size: 11px; }
      .thero__bottom {
        grid-template-columns: 1fr;
        gap: 18px;
        align-items: start;
      }
      .thero__sig { font-size: 24px; }
      .tew { width: 100%; max-width: 360px; }
    }

    @media (max-width: 380px) {
      .thero__title { font-size: 34px; }
      .thero__ctas { flex-direction: column; align-items: stretch; }
      .thero__cta { justify-content: center; }
    }
```

```html
<div class="tpage">
    <!-- TOP BAR -->
    <nav class="tnav" aria-label="Primary">
      <a href="/" class="tnav__mark" aria-label="Tracy Harris home">
        <svg class="t-wordmark" viewBox="0 0 951.88 385.78" aria-hidden="true">
          <path d="M0,68.37V9.26L55.14,0v68.37h52.49l-1.77,7.5h-50.72v131.45c0,24.7,10.59,37.49,32.64,37.49,12.79,0,22.5-8.82,26.47-15.44l6.62,3.97c-8.82,20.73-35.73,42.79-65.28,42.79-34.85,0-55.58-14.12-55.58-67.49V68.37Z"/>
          <path d="M296.86,72.34c13.67,11.91,15,33.08,3.09,46.32-11.91,13.67-32.2,15.44-46.31,3.53-6.62-6.18-10.15-13.67-10.15-21.61,0-4.85-18.08-.44-34.4,26.03v91.75c0,24.7,2.21,41.9,18.08,46.32v7.5h-91.31v-7.5c17.2-5.29,17.64-23.38,17.64-46.32v-97.92c0-15-3.97-21.61-22.06-30.88v-7.5l77.63-17.64v49.84c23.38-36.61,41.46-43.23,52.05-47.64,9.26-3.97,26.02-2.21,35.73,5.73Z"/>
          <path d="M514.31,241.72l7.5,3.09c-3.53,14.12-23.82,31.32-51.61,31.32,0,0-39.26,0-44.11-35.73-6.62,19.41-32.64,35.73-63.96,35.73,0,0-50.73,0-50.73-44.99,0-48.08,37.05-52.49,114.25-71.9v-27.35c0-45.87-25.58-68.81-56.02-52.93-14.12,7.06-15.88,14.56-12.79,15,6.62.88,12.35,3.97,16.32,9.7,7.94,11.47,4.85,26.91-6.62,34.85-11.47,7.5-26.91,4.85-34.85-6.62-5.29-8.38-5.73-18.97-1.32-26.47,4.41-7.5,10.15-19.41,34.41-32.2,19.85-10.59,42.79-8.82,42.79-8.82,57.78,0,73.66,36.17,73.66,88.22v65.72s-.44,30.88,21.17,30.88c0,0,9.26,0,11.91-7.5ZM425.65,167.18c-43.23,9.7-57.78,30.44-57.78,52.93,0,0,0,29.11,28.67,29.11,15,0,25.14-11.91,29.11-22.5v-59.55Z"/>
          <path d="M712.81,219.23c-6.18,22.5-32.64,56.9-87.78,56.9s-97.04-55.14-97.04-106.75,38.82-104.98,114.24-104.98c31.32,0,50.29,12.79,57.78,19.41,7.5,6.62,11.91,18.97,8.82,29.55-4.41,15.44-20.29,25.58-36.17,21.17-15.88-3.97-25.14-20.29-20.73-35.73,1.77-8.38,7.06-14.12,13.67-17.64,3.97-1.76-5.73-9.26-23.38-9.26-15.88,0-58.67,13.67-58.67,89.54,0,47.64,25.58,68.81,56.02,75.43,22.06,4.85,56.9-7.06,67.05-21.61l6.18,3.97Z"/>
          <path d="M951.88,68.37v7.5c-9.26,0-29.55.88-57.78,68.81l-67.49,177.76c-11.47,30-24.7,42.35-33.08,48.96-7.94,6.62-23.38,9.26-33.97,4.41-15.44-7.06-22.05-25.14-15.44-40.58,7.06-15.44,25.14-22.5,40.58-15.44,7.94,3.53,12.79,10.59,15,18.08,1.77,5.29,12.35,2.21,19.41-16.32l16.76-45.43c-27.35-63.08-83.37-183.06-83.37-183.06-7.06-17.2-21.17-17.2-27.79-17.2v-7.5h104.1v7.5c-22.93,0-11.47,26.91-11.47,26.91l46.76,99.69,23.38-59.55s29.11-67.49-22.05-67.05v-7.5h86.45Z"/>
          <polygon points="53.73 318.72 53.73 384.88 46.04 384.88 46.04 355.28 8.61 355.28 8.61 384.88 .92 384.88 .92 318.72 8.61 318.72 8.61 347.95 46.04 347.95 46.04 318.72 53.73 318.72"/>
          <path d="M168.14,318.26h-6.43l-30.8,66.62h8.19l8.02-17.69h35.34l8.03,17.69h8.45l-30.8-66.62ZM179.11,359.95h-28.63l14.35-31.42,14.28,31.42Z"/>
          <path d="M310.92,357.45c10.88-2.28,17.29-9.28,17.29-19.1v-.18c0-4.81-1.9-9.47-5.22-12.79-4.3-4.3-10.99-6.66-18.84-6.66h-28.03v66.16h7.69v-26.17h18.43l20.12,26.17h9.75l-21.19-27.43ZM283.81,326.05h20.07c10.42,0,16.64,4.6,16.64,12.3v.18c0,7.86-6.64,12.94-16.91,12.94h-19.8v-25.42Z"/>
          <path d="M443.83,357.45c10.88-2.28,17.29-9.28,17.29-19.1v-.18c0-4.81-1.9-9.47-5.22-12.79-4.3-4.3-10.99-6.66-18.84-6.66h-28.03v66.16h7.69v-26.17h18.43l20.12,26.17h9.75l-21.19-27.43ZM416.72,326.05h20.07c10.42,0,16.64,4.6,16.64,12.3v.18c0,7.86-6.64,12.94-16.91,12.94h-19.8v-25.42Z"/>
          <rect x="542.57" y="318.72" width="7.69" height="66.16"/>
          <path d="M679.65,366.86v.18c0,11.04-9.22,18.74-22.43,18.74-10.16,0-18.32-3.24-26.45-10.49l-1.1-.99,5.06-5.79,1.13,1.04c7.01,6.47,13.08,8.99,21.63,8.99s14.47-4.54,14.47-11.04v-.18c0-5.6-2.65-9.16-16.66-11.98-15.77-3.19-22.5-8.94-22.5-19.24v-.18c0-10.32,9.37-18.11,21.8-18.11,8.97,0,15.52,2.32,22.6,8l1.17.94-4.89,6.08-1.18-1.01c-5.41-4.68-10.93-6.77-17.88-6.77-8.07,0-13.93,4.38-13.93,10.41v.18c0,4.83,1.3,9.08,17.21,12.34,15.18,3.09,21.95,8.92,21.95,18.88Z"/>
          <circle cx="913.63" cy="254.68" r="21.87"/>
        </svg>
      </a>

      <div class="tnav__links">
        <a href="/about" class="tnav__link">About</a>
        <a href="/programs" class="tnav__link">Programs</a>
        <a href="/podcast" class="tnav__link">Podcast</a>
        <a href="/blog" class="tnav__link">Blog</a>
      </div>

      <div class="tnav__right">
        <button class="tnav__icon" type="button" aria-label="Search">
          <svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>
        </button>
        <a href="/apply" class="tnav__cta">Apply for FFB</a>
      </div>
    </nav>

    <!-- HERO -->
    <section class="thero" aria-label="Hero">
      <div class="thero__image" role="img" aria-label="Tracy Harris portrait"></div>
      <div class="thero__wash" aria-hidden="true"></div>
      <div class="thero__lift" aria-hidden="true"></div>
      <div class="thero__band" aria-hidden="true"></div>

      <div class="thero__body">
        <div class="thero__inner">
          <p class="thero__eyebrow">Peace, Profit, Presence.</p>
          <h1 class="thero__title">
            A <em>beautiful business</em>, built by design.
          </h1>
          <p class="thero__sub">
            Mentorship, mastermind and community for women building <em>Freedom Filled®</em> businesses, grounded in story, strategy, and spaciousness.
          </p>
          <div class="thero__ctas">
            <a href="/apply" class="thero__cta thero__cta--primary">Apply for FFB</a>
            <a href="/fresh-quiz" class="thero__cta thero__cta--ghost">Take the FRESH Quiz</a>
          </div>
        </div>

        <div class="thero__bottom">
          <div>
            <p class="thero__sig">Xx Tracy</p>
            <p class="thero__meta"><span>Est. 2016</span><span>Coaching · Mastermind · Community</span></p>
          </div>

          <a href="/workshop" class="tew" aria-label="Watch the next Tracy Harris workshop teaser">
            <span class="tew__label">Next workshop · Free</span>
            <div class="tew__thumb">
              <span class="tew__caption">The <em>Million Dollar</em> Message</span>
              <span class="tew__watch">
                <svg width="10" height="10" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><polygon points="6,4 20,12 6,20"/></svg>
                Watch
              </span>
            </div>
          </a>
        </div>
      </div>
    </section>
  </div>
```

### hero.textonly-polished

Wrapper context: `<body data-brand="tracy">`

```css
:root {
      --ease-out-craft:    cubic-bezier(0.23, 1, 0.32, 1);
      --ease-in-out-craft: cubic-bezier(0.77, 0, 0.175, 1);
    }

    *, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    .skip-link {
      position: absolute; left: -9999px; top: 0;
      background: var(--p-aztek); color: var(--p-oatmeal);
      padding: 10px 14px; z-index: 100;
      font-family: var(--f-sans); font-size: 12px; font-weight: 600;
      letter-spacing: 0.2em; text-transform: uppercase;
    }
    .skip-link:focus { left: 12px; top: 12px; }

    .hero {
      min-height: 80vh;
      min-height: 80svh;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: clamp(80px, 12vw, 160px) clamp(20px, 5vw, 64px);
      background: var(--p-oatmeal);
      position: relative;
      overflow: hidden;
      isolation: isolate;
    }

    .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 10% 10%, rgba(110,142,119,0.06), transparent 40%),
        radial-gradient(circle at 90% 90%, rgba(201,164,108,0.05), transparent 45%);
      pointer-events: none;
    }

    .hero__inner {
      max-width: 1060px;
      margin: 0 auto;
      text-align: center;
      position: relative;
      z-index: 1;
    }

    .hero__eyebrow,
    .hero__rule,
    .hero__title,
    .hero__sub,
    .hero__link {
      opacity: 0;
      transform: translateY(14px);
      animation: tblogRise 900ms var(--ease-out-craft) forwards;
      will-change: transform, opacity;
    }
    .hero__eyebrow { animation-delay: 160ms; }
    .hero__rule    { animation-delay: 280ms; }
    .hero__title   { animation-delay: 400ms; }
    .hero__sub     { animation-delay: 560ms; }
    .hero__link    { animation-delay: 720ms; }

    @keyframes tblogRise {
      from { opacity: 0; transform: translateY(14px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .hero__eyebrow {
      font-family: var(--f-script);
      font-size: clamp(30px, 3.6vw, 44px);
      color: var(--p-sage);
      line-height: 1;
      margin: 0 0 clamp(18px, 2.2vw, 28px);
    }

    .hero__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(52px, 8vw, 110px);
      line-height: 0.98;
      letter-spacing: -0.025em;
      color: var(--p-charcoal);
      margin: 0 0 clamp(18px, 2vw, 28px);
      text-wrap: balance;
    }
    .hero__title em { font-family: var(--f-serif-italic); font-style: italic; }

    .hero__sub {
      font-family: var(--f-sans);
      font-size: clamp(16px, 1.4vw, 20px);
      line-height: 1.55;
      color: var(--p-ink);
      margin: 0 auto clamp(28px, 3vw, 40px);
      max-width: 54ch;
      text-wrap: pretty;
    }
    .hero__sub em { font-family: var(--f-serif-italic); font-style: italic; }

    .hero__link {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      min-height: 44px;
      padding: 4px 2px;
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--p-aztek);
      text-decoration: none;
      border-bottom: 1px solid var(--p-aztek);
      transition:
        gap 260ms var(--ease-out-craft),
        color 200ms var(--ease-out-craft),
        border-color 200ms var(--ease-out-craft),
        transform 180ms var(--ease-out-craft);
    }
    .hero__link:hover {
      gap: 18px;
      color: var(--p-sage);
      border-bottom-color: var(--p-sage);
    }
    .hero__link:active { transform: translateY(1px); }
    .hero__link:focus-visible {
      outline: 2px solid var(--p-aztek);
      outline-offset: 6px;
      border-radius: 2px;
    }
    .hero__link svg {
      width: 14px; height: 14px;
      transition: transform 260ms var(--ease-out-craft);
    }
    .hero__link:hover svg { transform: translateX(3px); }

    .hero__rule {
      width: 44px;
      height: 1px;
      background: var(--p-aztek);
      opacity: 0.4;
      margin: 0 auto clamp(24px, 3vw, 36px);
      transform-origin: center;
    }

    @media (max-width: 820px) {
      .hero { min-height: 70vh; }
    }
    @media (max-width: 430px) {
      .hero { padding: 72px 20px; }
      .hero__title { font-size: clamp(44px, 12vw, 64px); line-height: 1; }
    }
    @media (max-width: 380px) {
      .hero__title { font-size: 40px; }
    }

    @media (prefers-reduced-motion: reduce) {
      .hero__eyebrow,
      .hero__rule,
      .hero__title,
      .hero__sub,
      .hero__link {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
      .hero__link:hover svg { transform: none; }
    }
```

```html
<a href="#posts" class="skip-link">Skip to posts</a>

  <section class="hero" aria-label="Blog hero">
    <div class="hero__inner">
      <p class="hero__eyebrow">The blog.</p>
      <div class="hero__rule" aria-hidden="true"></div>
      <h1 class="hero__title">
        Stories, strategy, and the work of <em>building a business you love</em>.
      </h1>
      <p class="hero__sub">
        Twelve years of building, teaching, and learning, shared one essay at a time. Written by <em>me</em>, for the women doing it their own way.
      </p>
      <a href="#posts" class="hero__link">
        Read the latest
        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
      </a>
    </div>
  </section>
```

### hero.textonly

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }

    .hero {
      min-height: 80vh;
      min-height: 80svh;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: clamp(80px, 12vw, 160px) clamp(20px, 5vw, 64px);
      background: var(--p-oatmeal);
      position: relative;
      overflow: hidden;
    }

    /* Subtle texture at the edges, editorial feel without noise */
    .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 10% 10%, rgba(110,142,119,0.05), transparent 40%),
        radial-gradient(circle at 90% 90%, rgba(201,164,108,0.04), transparent 45%);
      pointer-events: none;
    }

    .hero__inner {
      max-width: 1060px;
      margin: 0 auto;
      text-align: center;
      position: relative;
      z-index: 1;
    }

    .hero__eyebrow {
      font-family: var(--f-script);
      font-size: clamp(30px, 3.6vw, 44px);
      color: var(--p-sage);
      line-height: 1;
      margin: 0 0 clamp(18px, 2.2vw, 28px);
    }

    .hero__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(52px, 8vw, 110px);
      line-height: 0.98;
      letter-spacing: -0.025em;
      color: var(--p-charcoal);
      margin: 0 0 clamp(18px, 2vw, 28px);
    }
    .hero__title em { font-family: var(--f-serif-italic); font-style: italic; }

    .hero__sub {
      font-family: var(--f-sans);
      font-size: clamp(16px, 1.4vw, 20px);
      line-height: 1.55;
      color: var(--p-ink);
      margin: 0 auto clamp(28px, 3vw, 40px);
      max-width: 54ch;
    }
    .hero__sub em { font-family: var(--f-serif-italic); font-style: italic; }

    .hero__link {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--p-aztek);
      text-decoration: none;
      border-bottom: 1px solid var(--p-aztek);
      padding-bottom: 4px;
      transition: gap .25s ease, color .2s ease, border-color .2s ease;
    }
    .hero__link:hover {
      gap: 16px;
      color: var(--p-sage);
      border-bottom-color: var(--p-sage);
    }
    .hero__link svg { width: 14px; height: 14px; }

    .hero__rule {
      width: 44px;
      height: 1px;
      background: var(--p-aztek);
      opacity: 0.4;
      margin: 0 auto clamp(24px, 3vw, 36px);
    }

    @media (max-width: 820px) {
      .hero { min-height: 70vh; }
    }
    @media (max-width: 430px) {
      .hero { padding: 72px 20px; }
      .hero__title { font-size: clamp(44px, 12vw, 64px); line-height: 1; }
    }
```

```html
<section class="hero" aria-label="Hero">
    <div class="hero__inner">
      <p class="hero__eyebrow">The blog.</p>
      <div class="hero__rule" aria-hidden="true"></div>
      <h1 class="hero__title">
        Stories, strategy, and the work of <em>building a business you love</em>.
      </h1>
      <p class="hero__sub">
        Twelve years of building, teaching, and learning, shared one essay at a time. Written by <em>me</em>, for the women doing it their own way.
      </p>
      <a href="#posts" class="hero__link">
        Read the latest
        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
      </a>
    </div>
  </section>
```

---

## image-grid · 3 variants

### Shared CSS · `components/image-grid/image-grid.css`

```css
/* Image Grid, bento-style layout for galleries and about pages */

.image-grid {
  background: var(--surface-canvas);
  padding: var(--sp-9) var(--sp-7);
}

.image-grid--elevated {
  background: var(--surface-elevated);
}

.image-grid__inner {
  max-width: 1100px;
  margin: 0 auto;
}

.image-grid__header {
  margin: 0 0 var(--sp-7) 0;
}

.image-grid__header--center {
  text-align: center;
}

.image-grid__eyebrow {
  font-family: var(--f-sans);
  font-size: 11px;
  font-weight: var(--w-medium);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin: 0 0 var(--sp-3) 0;
}

.image-grid__title {
  font-family: var(--f-serif-display);
  font-weight: var(--w-regular);
  font-size: clamp(36px, 4.5vw, 56px);
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--ink-heading);
  margin: 0;
}

.image-grid__title em { font-family: var(--f-serif-italic); font-style: italic; }

/* ============================================================ */
/* VARIANT: BENTO, asymmetric grid, mixed sizes                 */
/* ============================================================ */

.image-grid__bento {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 200px;
  gap: var(--sp-4);
}

.image-grid__cell {
  border-radius: var(--r-lg);
  overflow: hidden;
  position: relative;
  background: var(--surface-elevated);
}

.image-grid__cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}

.image-grid__cell:hover img {
  transform: scale(1.04);
}

.image-grid__cell--wide { grid-column: span 2; }
.image-grid__cell--tall { grid-row: span 2; }
.image-grid__cell--large { grid-column: span 2; grid-row: span 2; }

.image-grid__cell-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: var(--sp-4) var(--sp-5);
  background: linear-gradient(transparent, rgba(16,16,16,0.6));
  color: var(--p-white);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.image-grid__cell:hover .image-grid__cell-overlay {
  opacity: 1;
}

.image-grid__cell-label {
  font-family: var(--f-sans);
  font-size: 13px;
  font-weight: var(--w-medium);
  margin: 0;
}

.image-grid__cell-sub {
  font-family: var(--f-sans);
  font-size: 11px;
  color: rgba(255,255,255,0.7);
  margin: 4px 0 0 0;
}

@media (max-width: 820px) {
  .image-grid__bento {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 180px;
  }
}

@media (max-width: 500px) {
  .image-grid__bento {
    grid-template-columns: 1fr;
    grid-auto-rows: 220px;
  }
  .image-grid__cell--wide,
  .image-grid__cell--tall,
  .image-grid__cell--large {
    grid-column: span 1;
    grid-row: span 1;
  }
}

/* ============================================================ */
/* VARIANT: MASONRY, equal columns, natural height              */
/* ============================================================ */

.image-grid__masonry {
  columns: 3;
  column-gap: var(--sp-4);
}

.image-grid__masonry .image-grid__cell {
  break-inside: avoid;
  margin-bottom: var(--sp-4);
  border-radius: var(--r-lg);
}

.image-grid__masonry .image-grid__cell img {
  height: auto;
}

@media (max-width: 820px) { .image-grid__masonry { columns: 2; } }
@media (max-width: 500px) { .image-grid__masonry { columns: 1; } }
```

### image-grid.bento

Wrapper context: `<body data-brand="tracy">`

```html
<section class="image-grid" data-brand="tracy">
    <div class="image-grid__inner">
      <header class="image-grid__header">
        <p class="image-grid__eyebrow">Inside the world</p>
        <h2 class="image-grid__title">Retreats, events, and the <em>everyday</em>.</h2>
      </header>

      <div class="image-grid__bento">
        <!-- Cell 1: large hero (2x2), retreat gathering -->
        <div class="image-grid__cell image-grid__cell--large">
          <img src="https://static.showit.co/1200/Yy3opX4aRY-pnfn17TTANA/173187/web_mwh_coralsea_271022_422.jpg" alt="Bali retreat gathering." />
          <div class="image-grid__cell-overlay">
            <p class="image-grid__cell-label">Bali Retreat</p>
            <p class="image-grid__cell-sub">Freedom Filled® Mastermind</p>
          </div>
        </div>
        <!-- Cell 2: portrait -->
        <div class="image-grid__cell">
          <img src="https://static.showit.co/1200/C8lYkDDfclRnqya_MiRFow/173187/062a3960.jpg" alt="Tracy portrait." />
          <div class="image-grid__cell-overlay">
            <p class="image-grid__cell-label">Tracy Harris</p>
          </div>
        </div>
        <!-- Cell 3: portrait -->
        <div class="image-grid__cell">
          <img src="https://static.showit.co/1200/RzgNfOS8hzrskisIlnpPOg/173187/062a4096-enhanced-nr.jpg" alt="Member portrait." />
          <div class="image-grid__cell-overlay">
            <p class="image-grid__cell-label">Warm editorial</p>
          </div>
        </div>
        <!-- Cell 4: tall portrait (spans 2 rows), speaking -->
        <div class="image-grid__cell image-grid__cell--tall">
          <img src="https://static.showit.co/file/SQ2DKhbhnnsxyNxvdBH_fw/173187/th-event-2024-81_websize_1.jpg" alt="Tracy speaking on stage." />
          <div class="image-grid__cell-overlay">
            <p class="image-grid__cell-label">Speaking</p>
            <p class="image-grid__cell-sub">Live events</p>
          </div>
        </div>
        <!-- Cell 5: wide (2 cols), group session -->
        <div class="image-grid__cell image-grid__cell--wide">
          <img src="https://static.showit.co/file/QMC3Dj0Zedd1SweJj1dPOA/173187/web_mwh_coralsea_271022_517.jpg" alt="Group session at the retreat." />
          <div class="image-grid__cell-overlay">
            <p class="image-grid__cell-label">Coral Sea Retreat</p>
            <p class="image-grid__cell-sub">October 2022</p>
          </div>
        </div>
        <!-- Cell 6: lifestyle / member working -->
        <div class="image-grid__cell">
          <img src="https://static.showit.co/1200/MJXzvmfxo5phsGlVN2WYGA/173187/062a4190.jpg" alt="Member working on laptop." />
          <div class="image-grid__cell-overlay">
            <p class="image-grid__cell-label">Behind the scenes</p>
          </div>
        </div>
        <!-- Cell 7: detail, intimate retreat moment -->
        <div class="image-grid__cell">
          <img src="https://static.showit.co/1200/Phc3esiZQtC8jORSzOTIbQ/173187/web_mwh_coralsea_251022_137.jpg" alt="Intimate mastermind gathering." />
          <div class="image-grid__cell-overlay">
            <p class="image-grid__cell-label">Mastermind circle</p>
          </div>
        </div>
        <!-- Cell 8: detail, workshop / retreat setting -->
        <div class="image-grid__cell">
          <img src="https://static.showit.co/1200/_4pCmLazRuuQR6q6BzjHIA/173187/web_mwh_coralsea_251022_270.jpg" alt="Retreat workshop detail." />
          <div class="image-grid__cell-overlay">
            <p class="image-grid__cell-label">The details</p>
          </div>
        </div>
      </div>
    </div>
  </section>
```

### image-grid.masonry

Wrapper context: `<body data-brand="tracy">`

```html
<section class="image-grid image-grid--elevated" data-brand="tracy">
    <div class="image-grid__inner">
      <header class="image-grid__header image-grid__header--center">
        <p class="image-grid__eyebrow">The community</p>
        <h2 class="image-grid__title">Real women. <em>Real moments</em>.</h2>
      </header>

      <div class="image-grid__masonry">
        <div class="image-grid__cell">
          <img src="https://static.showit.co/1200/Yy3opX4aRY-pnfn17TTANA/173187/web_mwh_coralsea_271022_422.jpg" alt="Retreat gathering." />
        </div>
        <div class="image-grid__cell">
          <img src="https://static.showit.co/800/C8lYkDDfclRnqya_MiRFow/173187/062a3960.jpg" alt="Tracy portrait." />
        </div>
        <div class="image-grid__cell">
          <img src="https://static.showit.co/file/QMC3Dj0Zedd1SweJj1dPOA/173187/web_mwh_coralsea_271022_517.jpg" alt="Group session." />
        </div>
        <div class="image-grid__cell">
          <img src="https://static.showit.co/1200/MJXzvmfxo5phsGlVN2WYGA/173187/062a4190.jpg" alt="Member working." />
        </div>
        <div class="image-grid__cell">
          <img src="https://static.showit.co/file/SQ2DKhbhnnsxyNxvdBH_fw/173187/th-event-2024-81_websize_1.jpg" alt="Tracy speaking." />
        </div>
        <div class="image-grid__cell">
          <img src="https://static.showit.co/file/RzgNfOS8hzrskisIlnpPOg/173187/062a4096-enhanced-nr.jpg" alt="Connection moment." />
        </div>
      </div>
    </div>
  </section>
```

### image-grid.showcase

```css
body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; }
    .brand-label {
      position: sticky; top: 0; z-index: 10;
      background: var(--p-charcoal); color: var(--p-oatmeal);
      font-family: var(--f-sans); font-size: 11px; font-weight: 500;
      letter-spacing: 0.2em; text-transform: uppercase;
      padding: 10px 24px;
      display: flex; justify-content: space-between;
    }
```

```html
<!-- BENTO GRID -->
  <div class="brand-label" id="ig-bento"><span>BENTO, asymmetric gallery grid</span><code>class="image-grid__bento"</code></div>
  <section id="ig-bento-section" class="image-grid" data-brand="tracy">
    <div class="image-grid__inner">
      <header class="image-grid__header">
        <p class="image-grid__eyebrow">Inside the world</p>
        <h2 class="image-grid__title">Retreats, events, and the <em>everyday</em>.</h2>
      </header>

      <div class="image-grid__bento">
        <div class="image-grid__cell image-grid__cell--large">
          <img src="https://static.showit.co/1200/Yy3opX4aRY-pnfn17TTANA/173187/web_mwh_coralsea_271022_422.jpg" alt="Bali retreat gathering." />
          <div class="image-grid__cell-overlay">
            <p class="image-grid__cell-label">Bali Retreat 2025</p>
            <p class="image-grid__cell-sub">Freedom Filled® Mastermind</p>
          </div>
        </div>
        <div class="image-grid__cell">
          <img src="https://static.showit.co/1200/C8lYkDDfclRnqya_MiRFow/173187/062a3960.jpg" alt="Tracy portrait." />
          <div class="image-grid__cell-overlay">
            <p class="image-grid__cell-label">Tracy Harris</p>
          </div>
        </div>
        <div class="image-grid__cell">
          <img src="https://static.showit.co/1200/MJXzvmfxo5phsGlVN2WYGA/173187/062a4190.jpg" alt="Member working." />
          <div class="image-grid__cell-overlay">
            <p class="image-grid__cell-label">Behind the scenes</p>
          </div>
        </div>
        <div class="image-grid__cell image-grid__cell--wide">
          <img src="https://static.showit.co/file/QMC3Dj0Zedd1SweJj1dPOA/173187/web_mwh_coralsea_271022_517.jpg" alt="Group session at the retreat." />
          <div class="image-grid__cell-overlay">
            <p class="image-grid__cell-label">Coral Sea Retreat</p>
            <p class="image-grid__cell-sub">October 2022</p>
          </div>
        </div>
        <div class="image-grid__cell image-grid__cell--tall">
          <img src="https://static.showit.co/file/SQ2DKhbhnnsxyNxvdBH_fw/173187/th-event-2024-81_websize_1.jpg" alt="Tracy speaking on stage." />
          <div class="image-grid__cell-overlay">
            <p class="image-grid__cell-label">Speaking</p>
          </div>
        </div>
        <div class="image-grid__cell">
          <img src="https://static.showit.co/file/RzgNfOS8hzrskisIlnpPOg/173187/062a4096-enhanced-nr.jpg" alt="Member connection." />
        </div>
      </div>
    </div>
  </section>

  <!-- MASONRY GRID -->
  <div class="brand-label" id="ig-masonry"><span>MASONRY, natural height columns</span><code>class="image-grid__masonry"</code></div>
  <section id="ig-masonry-section" class="image-grid image-grid--elevated" data-brand="tracy">
    <div class="image-grid__inner">
      <header class="image-grid__header image-grid__header--center">
        <p class="image-grid__eyebrow">The community</p>
        <h2 class="image-grid__title">Real women. <em>Real moments</em>.</h2>
      </header>

      <div class="image-grid__masonry">
        <div class="image-grid__cell">
          <img src="https://static.showit.co/1200/Yy3opX4aRY-pnfn17TTANA/173187/web_mwh_coralsea_271022_422.jpg" alt="Retreat gathering." />
        </div>
        <div class="image-grid__cell">
          <img src="https://static.showit.co/800/C8lYkDDfclRnqya_MiRFow/173187/062a3960.jpg" alt="Tracy portrait." />
        </div>
        <div class="image-grid__cell">
          <img src="https://static.showit.co/file/QMC3Dj0Zedd1SweJj1dPOA/173187/web_mwh_coralsea_271022_517.jpg" alt="Group session." />
        </div>
        <div class="image-grid__cell">
          <img src="https://static.showit.co/1200/MJXzvmfxo5phsGlVN2WYGA/173187/062a4190.jpg" alt="Member working." />
        </div>
        <div class="image-grid__cell">
          <img src="https://static.showit.co/file/SQ2DKhbhnnsxyNxvdBH_fw/173187/th-event-2024-81_websize_1.jpg" alt="Tracy speaking." />
        </div>
        <div class="image-grid__cell">
          <img src="https://static.showit.co/file/RzgNfOS8hzrskisIlnpPOg/173187/062a4096-enhanced-nr.jpg" alt="Connection moment." />
        </div>
      </div>
    </div>
  </section>
```

---

## navigation · 2 variants

### Shared CSS · `components/navigation/navigation.css`

```css
/* Navigation component, pure semantic tokens */

.nav {
  position: sticky;
  top: 0;
  z-index: 50;
  width: 100%;
  background: var(--surface-canvas);
  border-bottom: 1px solid var(--border-hairline);
  backdrop-filter: saturate(180%) blur(12px);
  -webkit-backdrop-filter: saturate(180%) blur(12px);
}

.nav__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: var(--sp-4) var(--sp-5);
  display: flex;
  align-items: center;
  gap: var(--sp-6);
}

.nav__logo {
  display: block;
  height: 30px;
  width: auto;
  flex: 0 0 auto;
}

.nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: var(--sp-1);
  flex: 1;
  justify-content: center;
}

.nav__item {
  position: relative;
}

.nav__trigger {
  font-family: var(--f-sans);
  font-size: var(--s-sm);
  font-weight: var(--w-medium);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-mute);
  background: transparent;
  border: 0;
  padding: 10px 16px;
  border-radius: var(--r-pill);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color 0.2s ease, background 0.2s ease;
  text-decoration: none;
}

.nav__trigger:hover,
.nav__trigger:focus-visible,
.nav__item[data-open="true"] .nav__trigger {
  color: var(--ink-heading);
  background: rgba(16, 16, 16, 0.05);
}

.nav__chevron {
  width: 14px;
  height: 14px;
  transition: transform 0.25s ease;
}

.nav__item[data-open="true"] .nav__chevron {
  transform: rotate(180deg);
}

.nav__panel {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  background: var(--surface-canvas);
  border: 1px solid var(--border-hairline);
  border-radius: var(--r-lg);
  padding: var(--sp-5);
  box-shadow: 0 20px 48px rgba(16, 16, 16, 0.08);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-6px);
  transition: opacity 0.22s ease, transform 0.22s ease;
  display: flex;
  gap: var(--sp-7);
  min-width: 480px;
}

.nav__item[data-align="right"] .nav__panel {
  left: auto;
  right: 0;
}

.nav__item[data-align="center"] .nav__panel {
  left: 50%;
  transform: translateX(-50%) translateY(-6px);
}

.nav__item[data-align="center"][data-open="true"] .nav__panel {
  transform: translateX(-50%) translateY(0);
}

.nav__item[data-open="true"] .nav__panel {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.nav__group-title {
  font-family: var(--f-sans);
  font-size: 11px;
  font-weight: var(--w-medium);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin: 0 0 var(--sp-4) 0;
}

.nav__sub-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
  min-width: 260px;
}

.nav__sub-link {
  display: block;
  text-decoration: none;
  color: var(--ink-heading);
  border-left: 1px solid transparent;
  padding: 2px 0 2px var(--sp-4);
  margin-left: calc(var(--sp-4) * -1);
  transition: border-color 0.2s ease, padding-left 0.2s ease;
}

.nav__sub-link:hover {
  border-left-color: var(--accent);
}

.nav__sub-label {
  display: block;
  font-family: var(--f-serif-display);
  font-size: 18px;
  font-weight: var(--w-regular);
  color: var(--ink-heading);
  margin: 0;
  line-height: 1.25;
  letter-spacing: -0.01em;
}

.nav__sub-label em {
  font-family: var(--f-serif-italic);
  font-style: italic;
}

.nav__sub-desc {
  display: block;
  font-family: var(--f-sans);
  font-size: 12px;
  color: var(--ink-mute);
  margin: 3px 0 0 0;
  line-height: 1.4;
  letter-spacing: 0.02em;
}

.nav__cta {
  flex: 0 0 auto;
  display: inline-block;
  background: var(--accent);
  color: var(--accent-on);
  padding: 10px 20px;
  font-family: var(--f-sans);
  font-size: 12px;
  font-weight: var(--w-medium);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: var(--r-pill);
  transition: background 0.2s ease;
}

.nav__cta:hover {
  background: var(--accent-hover);
}

.nav__burger {
  display: none;
  flex: 0 0 auto;
  margin-left: auto;
  background: transparent;
  border: 0;
  padding: 8px;
  cursor: pointer;
  color: var(--ink-heading);
}

.nav__burger svg {
  width: 24px;
  height: 24px;
}

@media (max-width: 900px) {
  .nav__list { display: none; }
  .nav__cta { display: none; }
  .nav__burger { display: flex; align-items: center; }
}

/* --- Mobile drawer --- */
.nav__drawer {
  position: fixed;
  inset: 0;
  z-index: 100;
  background: var(--surface-canvas);
  display: flex;
  flex-direction: column;
  padding: var(--sp-5);
  transform: translateY(-100%);
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.nav__drawer[data-open="true"] {
  transform: translateY(0);
}

.nav__drawer-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--sp-7);
}

.nav__drawer-close {
  background: transparent;
  border: 0;
  padding: 8px;
  cursor: pointer;
  color: var(--ink-heading);
}

.nav__drawer-close svg {
  width: 24px;
  height: 24px;
}

.nav__drawer-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--sp-5);
  flex: 1;
}

.nav__drawer-item {
  border-bottom: 1px solid var(--border-hairline);
  padding-bottom: var(--sp-4);
}

.nav__drawer-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--f-serif-display);
  font-size: 28px;
  font-weight: var(--w-regular);
  color: var(--ink-heading);
  text-decoration: none;
  letter-spacing: -0.01em;
  cursor: pointer;
  padding: 0;
  background: transparent;
  border: 0;
  width: 100%;
  text-align: left;
}

.nav__drawer-link em {
  font-family: var(--f-serif-italic);
  font-style: italic;
}

.nav__drawer-item[data-open="true"] .nav__drawer-link svg {
  transform: rotate(180deg);
}

.nav__drawer-link svg {
  width: 16px;
  height: 16px;
  transition: transform 0.25s ease;
}

.nav__drawer-sub {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  padding-left: var(--sp-4);
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
}

.nav__drawer-item[data-open="true"] .nav__drawer-sub {
  max-height: 1000px;
  margin-top: var(--sp-4);
}

.nav__drawer-sub a {
  display: block;
  font-family: var(--f-serif-display);
  font-size: 18px;
  color: var(--ink-heading);
  text-decoration: none;
}

.nav__drawer-sub a em {
  font-family: var(--f-serif-italic);
  font-style: italic;
}

.nav__drawer-sub-desc {
  display: block;
  font-family: var(--f-sans);
  font-size: 12px;
  color: var(--ink-mute);
  margin-top: 2px;
}

.nav__drawer-cta {
  margin-top: var(--sp-5);
  background: var(--accent);
  color: var(--accent-on);
  padding: 18px var(--sp-5);
  border-radius: var(--r-pill);
  font-family: var(--f-sans);
  font-size: 13px;
  font-weight: var(--w-medium);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
}

@media (min-width: 901px) {
  .nav__drawer { display: none; }
}
```

### navigation.overlay-menu

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-cream);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
      min-height: 100vh;
    }

    /* ---- Official T brandmark, inline so it inherits color ---- */
    .t-mark {
      width: auto;
      fill: currentColor;
      display: block;
    }
    .t-mark--bar  { height: 28px; }
    .t-mark--lg   { height: 40px; }

    /* -------- TOP BAR -------- */
    .mnav {
      position: fixed;
      top: 0; left: 0; right: 0;
      z-index: 40;
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      padding: 22px 36px;
      gap: 24px;
      color: var(--p-charcoal);
      transition: background-color .3s ease, color .3s ease, box-shadow .3s ease;
    }
    .mnav--dark { color: var(--p-oatmeal); }
    .mnav--scrolled {
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      box-shadow: 0 1px 0 rgba(16,16,16,0.06);
    }
    .mnav__group {
      display: flex;
      gap: 32px;
      align-items: center;
    }
    .mnav__group--right { justify-content: flex-end; }
    .mnav__link {
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: inherit;
      text-decoration: none;
      padding: 6px 2px;
      position: relative;
    }
    .mnav__link::after {
      content: "";
      position: absolute;
      left: 0; right: 0; bottom: 2px;
      height: 1px;
      background: currentColor;
      transform: scaleX(0);
      transform-origin: left;
      transition: transform .3s ease;
    }
    .mnav__link:hover::after { transform: scaleX(1); }
    .mnav__mark {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      text-decoration: none;
      color: inherit;
    }
    .mnav__toggle {
      background: none;
      border: 0;
      cursor: pointer;
      padding: 10px;
      margin-left: 8px;
      color: inherit;
      display: inline-flex;
      align-items: center;
      gap: 12px;
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      -webkit-tap-highlight-color: transparent;
    }
    .mnav__toggle-icon {
      display: inline-block;
      width: 24px;
      height: 10px;
      position: relative;
    }
    .mnav__toggle-icon::before,
    .mnav__toggle-icon::after {
      content: "";
      position: absolute;
      left: 0; right: 0;
      height: 1.5px;
      background: currentColor;
    }
    .mnav__toggle-icon::before { top: 0; }
    .mnav__toggle-icon::after { bottom: 0; }

    /* -------- FULL-SCREEN OVERLAY -------- */
    .mnav__overlay {
      position: fixed;
      inset: 0;
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      z-index: 60;
      opacity: 0;
      visibility: hidden;
      transform: translateY(-8px);
      transition: opacity .35s ease, transform .35s ease, visibility .35s;
      display: grid;
      grid-template-rows: auto 1fr auto;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
    }
    body.mnav-open .mnav__overlay {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }
    body.mnav-open { overflow: hidden; }

    .mnav__overlay-top {
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      padding: 22px 36px;
    }
    .mnav__close {
      background: none;
      border: 0;
      cursor: pointer;
      padding: 10px;
      color: var(--p-ffb-dark);
      justify-self: end;
      width: 44px; height: 44px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      position: relative;
      -webkit-tap-highlight-color: transparent;
    }
    .mnav__close::before,
    .mnav__close::after {
      content: "";
      position: absolute;
      width: 22px; height: 1.5px;
      background: currentColor;
    }
    .mnav__close::before { transform: rotate(45deg); }
    .mnav__close::after  { transform: rotate(-45deg); }

    .mnav__overlay-body {
      display: grid;
      grid-template-columns: 1.1fr 1.1fr 0.9fr;
      gap: 64px;
      padding: 48px 80px 48px;
      align-self: center;
      max-width: 1400px;
      margin: 0 auto;
      width: 100%;
    }
    .mnav__primary {
      display: flex;
      flex-direction: column;
    }
    .mnav__primary a {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(36px, 4.8vw, 60px);
      line-height: 1.15;
      letter-spacing: -0.01em;
      color: var(--p-charcoal);
      text-decoration: none;
      padding: 18px 0;
      border-bottom: 1px solid rgba(16,16,16,0.12);
      transition: color .2s ease, transform .25s ease;
      display: inline-block;
      transform-origin: left;
    }
    .mnav__primary a em {
      font-family: var(--f-serif-italic);
      font-style: italic;
    }
    .mnav__primary a:hover {
      color: var(--p-ffb-dark);
      transform: translateX(6px);
    }

    /* ---- Program hover colors (brand-specific) ---- */
    .mnav__primary a.prog {
      background-image: linear-gradient(90deg, currentColor, currentColor);
      background-size: 200% 100%;
      background-position: 100% 0;
      -webkit-background-clip: text;
              background-clip: text;
      -webkit-text-fill-color: currentColor;
      transition: background-position .9s cubic-bezier(.4,0,.2,1),
                  color .25s ease,
                  -webkit-text-fill-color .25s ease,
                  transform .25s ease;
    }
    .mnav__primary a.prog:hover,
    .mnav__primary a.prog:focus-visible,
    .mnav__primary a.prog:active {
      -webkit-text-fill-color: transparent;
      color: transparent;
      background-position: 0 0;
      transform: translateX(6px);
    }
    /* FRESH → 5-pillar rainbow (Copper Red · Calico · Laurel · Quicksand · Onyx) */
    .mnav__primary a.prog-fresh {
      background-image: linear-gradient(90deg,
        #c07152 0%,
        #d7ad82 25%,
        #748d78 50%,
        #c69b8b 75%,
        #101010 100%);
    }
    /* Workshop → soft green gradient */
    .mnav__primary a.prog-workshop {
      background-image: linear-gradient(90deg,
        #6e8e77 0%,
        #1e3735 50%,
        #6e8e77 100%);
    }
    /* FFB → deep aztek green */
    .mnav__primary a.prog-ffb {
      background-image: linear-gradient(90deg,
        #1e3735 0%,
        #2c5350 50%,
        #1e3735 100%);
    }
    /* FFM → gold gradient with translucency */
    .mnav__primary a.prog-ffm {
      background-image: linear-gradient(90deg,
        #7b623c 0%,
        #c9a46c 50%,
        #7b623c 100%);
    }
    .mnav__primary a.prog-ffm:hover,
    .mnav__primary a.prog-ffm:focus-visible {
      opacity: 0.94;
    }
    /* Reduce-motion: no animated sweep */
    @media (prefers-reduced-motion: reduce) {
      .mnav__primary a.prog { transition: color .2s ease, -webkit-text-fill-color .2s ease, transform .2s ease; background-size: 100% 100%; background-position: 0 0; }
    }
    /* Touch devices (iOS / Android): no :hover, show the gradient text permanently */
    @media (hover: none) {
      .mnav__primary a.prog {
        -webkit-text-fill-color: transparent;
        color: transparent;
        background-position: 0 0;
      }
    }
    .mnav__secondary-group-title {
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--p-mute);
      margin: 0 0 12px;
    }
    .mnav__secondary {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px 24px;
      align-content: start;
      padding-top: 24px;
    }
    .mnav__secondary a {
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--p-charcoal);
      text-decoration: none;
      padding: 6px 0;
      transition: color .2s ease;
    }
    .mnav__secondary a:hover { color: var(--p-ffb-dark); }

    .mnav__tagline {
      font-family: var(--f-serif-display);
      font-size: clamp(18px, 1.6vw, 22px);
      line-height: 1.4;
      margin: 0;
      padding: 0 80px 48px;
      text-align: right;
      color: var(--p-charcoal);
    }
    .mnav__tagline em {
      font-style: italic;
      font-family: var(--f-serif-italic);
    }

    /* Empty canvas, only the nav is the component. The body fills
       the preview viewport so the nav has somewhere to sit. */
    body { background: var(--p-oatmeal); min-height: 100vh; }

    /* -------- MOBILE -------- */
    @media (max-width: 820px) {
      .mnav {
        padding: 14px 18px;
        grid-template-columns: auto 1fr auto;
      }
      .mnav__group:not(.mnav__group--right) { display: none; }
      .mnav__group--right .mnav__link { display: none; }
      .mnav__toggle { margin-left: 0; padding: 8px; }
      .mnav__toggle span:first-child { display: none; }
      .mnav__toggle-icon { width: 26px; height: 12px; }

      .mnav__overlay-top { padding: 14px 18px; }
      .mnav__close { width: 44px; height: 44px; }

      .mnav__overlay-body {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 8px 24px 32px;
        align-self: start;
      }
      .mnav__primary a {
        font-size: clamp(34px, 10vw, 48px);
        padding: 14px 0;
      }
      .mnav__secondary {
        grid-template-columns: 1fr 1fr;
        padding-top: 6px;
        gap: 10px 16px;
      }
      .mnav__tagline {
        padding: 0 24px 32px;
        text-align: left;
        font-size: 18px;
      }
    }
```

```html
<nav class="mnav" id="mnav" aria-label="Primary">
    <div class="mnav__group">
      <a href="/" class="mnav__link">Home</a>
      <a href="/about" class="mnav__link">About</a>
      <a href="/podcast" class="mnav__link">Podcast</a>
    </div>

    <a href="/" class="mnav__mark" aria-label="Tracy Harris home">
      <svg class="t-mark t-mark--bar" viewBox="0 0 263.98 382.72" aria-hidden="true">
        <path d="M0,94.76V12.84L76.42,0v94.76h72.75l-2.45,10.39h-70.3v182.19c0,34.24,14.67,51.97,45.24,51.97,17.73,0,31.18-12.23,36.68-21.4l9.17,5.5c-12.23,28.73-49.52,59.3-90.48,59.3-48.3,0-77.03-19.56-77.03-93.54V94.76Z"/>
        <circle cx="233.68" cy="352.41" r="30.31"/>
      </svg>
    </a>

    <div class="mnav__group mnav__group--right">
      <a href="/programs" class="mnav__link">Programs</a>
      <a href="/blog" class="mnav__link">Blog</a>
      <a href="/apply" class="mnav__link">Apply</a>
      <button class="mnav__toggle" type="button" aria-controls="mnav-overlay" aria-expanded="false" id="mnav-toggle">
        <span>Menu</span>
        <span class="mnav__toggle-icon" aria-hidden="true"></span>
      </button>
    </div>
  </nav>

  <div class="mnav__overlay" id="mnav-overlay" role="dialog" aria-modal="true" aria-label="Site menu">
    <div class="mnav__overlay-top">
      <span></span>
      <a href="/" class="mnav__mark" aria-label="Tracy Harris home">
        <svg class="t-mark t-mark--lg" viewBox="0 0 263.98 382.72" aria-hidden="true">
          <path d="M0,94.76V12.84L76.42,0v94.76h72.75l-2.45,10.39h-70.3v182.19c0,34.24,14.67,51.97,45.24,51.97,17.73,0,31.18-12.23,36.68-21.4l9.17,5.5c-12.23,28.73-49.52,59.3-90.48,59.3-48.3,0-77.03-19.56-77.03-93.54V94.76Z"/>
          <circle cx="233.68" cy="352.41" r="30.31"/>
        </svg>
      </a>
      <button class="mnav__close" type="button" aria-label="Close menu" id="mnav-close"></button>
    </div>

    <div class="mnav__overlay-body">
      <!-- Col 1: site pages -->
      <div class="mnav__primary">
        <a href="/">Home</a>
        <a href="/about">About</a>
        <a href="/podcast">Podcast</a>
        <a href="/blog">Blog</a>
      </div>

      <!-- Col 2: programs + entry points -->
      <div class="mnav__primary">
        <a href="/fresh-quiz" class="prog prog-fresh">FRESH <em>Quiz</em></a>
        <a href="/workshop" class="prog prog-workshop">Free <em>Workshop</em></a>
        <a href="/ffb" class="prog prog-ffb">FFB <em>Mentorship</em></a>
        <a href="/ffm" class="prog prog-ffm">FFM <em>Mastermind</em></a>
      </div>

      <!-- Col 3: resources + social -->
      <div>
        <p class="mnav__secondary-group-title">Resources &amp; Social</p>
        <div class="mnav__secondary">
          <a href="/newsletter">Newsletter</a>
          <a href="https://instagram.com/tracyharrisco" target="_blank" rel="noopener">Instagram</a>
          <a href="/freebies">Free Resources</a>
          <a href="/youtube" target="_blank" rel="noopener">YouTube</a>
          <a href="/fresh-reset">FRESH Reset</a>
          <a href="/linkedin" target="_blank" rel="noopener">LinkedIn</a>
          <a href="/speaking">Speaking</a>
          <a href="/contact">Contact</a>
        </div>
      </div>
    </div>

    <p class="mnav__tagline">
      Freedom Filled® Business <em>for</em> women building by design.
    </p>
  </div>


  <script>
    const bar = document.getElementById('mnav');
    const toggle = document.getElementById('mnav-toggle');
    const close = document.getElementById('mnav-close');
    const overlay = document.getElementById('mnav-overlay');

    function openMenu() {
      document.body.classList.add('mnav-open');
      toggle.setAttribute('aria-expanded', 'true');
    }
    function closeMenu() {
      document.body.classList.remove('mnav-open');
      toggle.setAttribute('aria-expanded', 'false');
    }
    toggle.addEventListener('click', openMenu);
    close.addEventListener('click', closeMenu);
    document.addEventListener('keydown', (e) => {
      if (e.key === 'Escape' && document.body.classList.contains('mnav-open')) closeMenu();
    });

    // Preview canvas has no hero, keep nav in its default
    // (light-canvas) state so Karl sees just the nav bar.
    bar.classList.add('mnav--scrolled');
  </script>
```

### navigation.sticky-mega-menu

Wrapper context: `<body data-brand="tracy">`

```css
body {
      margin: 0;
      min-height: 100vh;
      font-family: var(--f-sans);
      background: var(--surface-canvas);
      color: var(--ink-body);
      -webkit-font-smoothing: antialiased;
    }
```

```html
<nav class="nav" aria-label="Primary">
    <div class="nav__inner">
      <a href="/" aria-label="Tracy Harris Co home">
        <img src="../../../assets/logos/tracy/tracy-primary.svg" alt="Tracy Harris" class="nav__logo" />
      </a>

      <ul class="nav__list" role="menubar">
        <li class="nav__item" data-has-panel="true" data-open="false" role="none">
          <button class="nav__trigger" aria-expanded="false" aria-haspopup="true" role="menuitem">
            Programs
            <svg class="nav__chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="6 9 12 15 18 9"/></svg>
          </button>
          <div class="nav__panel" role="menu">
            <div>
              <h3 class="nav__group-title">Build the business</h3>
              <ul class="nav__sub-list">
                <li><a href="/ffb" class="nav__sub-link">
                  <span class="nav__sub-label">Freedom Filled® <em>Business</em></span>
                  <span class="nav__sub-desc">12-month flagship mentorship</span>
                </a></li>
                <li><a href="/ffm" class="nav__sub-link">
                  <span class="nav__sub-label">Freedom Filled® <em>Mastermind</em></span>
                  <span class="nav__sub-desc">Intimate, premium, by application</span>
                </a></li>
              </ul>
            </div>
            <div>
              <h3 class="nav__group-title">Foundation</h3>
              <ul class="nav__sub-list">
                <li><a href="/fresh" class="nav__sub-link">
                  <span class="nav__sub-label">The FRESH <em>Framework™</em></span>
                  <span class="nav__sub-desc">Tracy's operating system for life and work</span>
                </a></li>
                <li><a href="/quiz" class="nav__sub-link">
                  <span class="nav__sub-label">Take the <em>Quiz</em></span>
                  <span class="nav__sub-desc">Where are you in the FRESH framework?</span>
                </a></li>
              </ul>
            </div>
          </div>
        </li>

        <li class="nav__item" role="none">
          <a href="/podcast" class="nav__trigger" role="menuitem">Podcast</a>
        </li>

        <li class="nav__item" role="none">
          <a href="/blog" class="nav__trigger" role="menuitem">Blog</a>
        </li>

        <li class="nav__item" data-has-panel="true" data-open="false" data-align="right" role="none">
          <button class="nav__trigger" aria-expanded="false" aria-haspopup="true" role="menuitem">
            About
            <svg class="nav__chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="6 9 12 15 18 9"/></svg>
          </button>
          <div class="nav__panel" role="menu">
            <div>
              <h3 class="nav__group-title">Tracy Harris Co</h3>
              <ul class="nav__sub-list">
                <li><a href="/about" class="nav__sub-link">
                  <span class="nav__sub-label">Tracy's <em>story</em></span>
                  <span class="nav__sub-desc">How Tracy built a freedom-filled business</span>
                </a></li>
                <li><a href="/speaking" class="nav__sub-link">
                  <span class="nav__sub-label"><em>Speaking</em></span>
                  <span class="nav__sub-desc">Book Tracy for your event or stage</span>
                </a></li>
              </ul>
            </div>
            <div>
              <h3 class="nav__group-title">Get in touch</h3>
              <ul class="nav__sub-list">
                <li><a href="/contact" class="nav__sub-link">
                  <span class="nav__sub-label"><em>Contact</em></span>
                  <span class="nav__sub-desc">Questions or press enquiries</span>
                </a></li>
              </ul>
            </div>
          </div>
        </li>
      </ul>

      <a href="/ffb/apply" class="nav__cta">Apply</a>

      <button class="nav__burger" aria-label="Open menu">
        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="18" x2="21" y2="18"/></svg>
      </button>
    </div>
  </nav>

  <script src="../navigation.js"></script>
```

---

## next-steps · 1 variant

### next-steps.showcase

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }
    .page { padding: clamp(24px, 4vw, 64px) clamp(16px, 4vw, 48px); }

    .card {
      background: var(--p-cream);
      border-radius: 14px;
      padding: clamp(40px, 5vw, 64px) clamp(24px, 5vw, 56px);
      max-width: 820px;
      margin: 0 auto;
      border: 1px solid rgba(30,55,53,0.08);
    }

    .card__eyebrow {
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--p-aztek);
      margin: 0 0 14px;
    }
    .card__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(32px, 4vw, 48px);
      line-height: 1.06;
      letter-spacing: -0.015em;
      color: var(--p-charcoal);
      margin: 0 0 10px;
    }
    .card__title em { font-family: var(--f-serif-italic); font-style: italic; }
    .card__script {
      font-family: var(--f-script);
      font-size: 28px;
      color: var(--p-sage);
      margin: 0 0 40px;
      line-height: 1;
    }

    .steps {
      display: grid;
      gap: 24px;
      list-style: none;
      padding: 0;
      margin: 0;
    }
    .step {
      display: grid;
      grid-template-columns: 72px 1fr;
      gap: 24px;
      align-items: start;
      padding: 20px 0;
      border-top: 1px solid rgba(16,16,16,0.08);
    }
    .step:first-child { border-top: 0; padding-top: 0; }

    .step__num {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: 56px;
      line-height: 1;
      color: var(--p-aztek);
      letter-spacing: -0.02em;
      opacity: 0.85;
    }
    .step__num em { font-family: var(--f-serif-italic); font-style: italic; }

    .step__copy { min-width: 0; }
    .step__title {
      font-family: var(--f-sans);
      font-size: 19px;
      font-weight: 600;
      line-height: 1.3;
      color: var(--p-charcoal);
      margin: 0 0 8px;
    }
    .step__title em { font-family: var(--f-serif-italic); font-style: italic; font-weight: 400; }
    .step__desc {
      font-family: var(--f-sans);
      font-size: 15px;
      line-height: 1.65;
      color: var(--p-ink);
      margin: 0 0 10px;
    }
    .step__link {
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--p-aztek);
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      border-bottom: 1px solid var(--p-aztek);
      padding-bottom: 2px;
      transition: color .2s, border-color .2s;
    }
    .step__link:hover { color: var(--p-sage); border-bottom-color: var(--p-sage); }
    .step__link svg { width: 12px; height: 12px; }

    @media (max-width: 640px) {
      .card__title { font-size: 28px; }
      .step { grid-template-columns: 48px 1fr; gap: 16px; }
      .step__num { font-size: 40px; }
      .step__title { font-size: 17px; }
    }
    @media (max-width: 430px) {
      .card { padding: 32px 22px; }
    }
```

```html
<div class="page">
    <section class="card" aria-label="Next steps">
      <p class="card__eyebrow">Here's what to do now</p>
      <h2 class="card__title">Three simple <em>steps</em>.</h2>
      <p class="card__script">Nothing complicated, lovely.</p>

      <ol class="steps">
        <li class="step">
          <span class="step__num" aria-hidden="true">01</span>
          <div class="step__copy">
            <h3 class="step__title">Save this page.</h3>
            <p class="step__desc">
              Bookmark this URL so you can come back anytime. Your download link lives here too, so you'll never have to hunt for it in your inbox.
            </p>
          </div>
        </li>

        <li class="step">
          <span class="step__num" aria-hidden="true">02</span>
          <div class="step__copy">
            <h3 class="step__title">Open the <em>guide</em> and actually read it.</h3>
            <p class="step__desc">
              Block out 20 minutes today, make a cup of tea, and work through it properly. This is not a "save for later" freebie, it's a "do it now" one.
            </p>
            <a href="#download" class="step__link">
              Open the guide
              <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
            </a>
          </div>
        </li>

        <li class="step">
          <span class="step__num" aria-hidden="true">03</span>
          <div class="step__copy">
            <h3 class="step__title">Come meet the community.</h3>
            <p class="step__desc">
              Join the free Freedom Filled® Circle on Instagram. Say hi, tell me your biggest takeaway from the guide. I read every DM, lovely.
            </p>
            <a href="https://instagram.com/tracyharrisco" class="step__link">
              Find me on Instagram
              <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
            </a>
          </div>
        </li>
      </ol>
    </section>
  </div>
```

---

## offer-stack · 6 variants

### offer-stack.bonus-cards-polished

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body { font-family: var(--f-sans); background: var(--p-oatmeal); color: var(--p-charcoal); -webkit-font-smoothing: antialiased; }
    .page { padding: clamp(40px, 6vw, 96px) clamp(20px, 5vw, 64px); }

    .bonus-stack__wrap {
      max-width: 1100px;
      margin: 0 auto;
    }

    .bonus-stack__heading {
      text-align: center;
      margin: 0 0 clamp(32px, 4vw, 56px);
    }
    .bonus-stack__eyebrow {
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.26em;
      text-transform: uppercase;
      color: var(--p-aztek);
      margin: 0 0 14px;
    }
    .bonus-stack__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(28px, 3.4vw, 44px);
      line-height: 1.1;
      letter-spacing: -0.015em;
      color: var(--p-charcoal);
      margin: 0 auto;
      max-width: 30ch;
    }
    .bonus-stack__title em { font-family: var(--f-serif-italic); font-style: italic; }

    /* -------- BONUS CARD GRID -------- */
    .bonus-stack__grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: clamp(20px, 2.4vw, 32px);
    }

    .bonus-card {
      position: relative;
      background: var(--p-white);
      border: 1px solid var(--border-hairline, rgba(16, 16, 16, 0.08));
      border-radius: 14px;
      padding: clamp(36px, 3.6vw, 52px) clamp(28px, 3vw, 44px);
      box-shadow: 0 14px 32px -22px rgba(30, 55, 53, 0.18);
      overflow: hidden;
    }

    /* Gold ribbon/seal, top-right corner. CSS-only, no SVG. */
    .bonus-card__seal {
      position: absolute;
      top: 18px;
      right: 18px;
      width: 76px;
      height: 76px;
      border-radius: 50%;
      background: linear-gradient(135deg, var(--p-gold-dark) 0%, var(--p-gold-mid) 100%);
      color: var(--p-oatmeal);
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      box-shadow: 0 6px 16px -8px rgba(123, 98, 60, 0.55);
      font-family: var(--f-sans);
      line-height: 1.05;
      letter-spacing: 0.04em;
    }
    .bonus-card__seal-label {
      font-size: 9px;
      font-weight: 600;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      display: block;
      opacity: 0.85;
    }
    .bonus-card__seal-num {
      font-family: var(--f-serif-italic);
      font-style: italic;
      font-size: 22px;
      font-weight: 400;
      margin-top: 2px;
      display: block;
    }

    .bonus-card__eyebrow {
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.26em;
      text-transform: uppercase;
      color: var(--p-mute);
      margin: 0 0 14px;
      max-width: calc(100% - 90px);
    }
    .bonus-card__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(26px, 2.6vw, 34px);
      line-height: 1.12;
      letter-spacing: -0.012em;
      color: var(--p-aztek);
      margin: 0 0 16px;
      max-width: calc(100% - 90px);
    }
    .bonus-card__title em { font-family: var(--f-serif-italic); font-style: italic; }
    .bonus-card__body {
      font-family: var(--f-sans);
      font-size: 15px;
      line-height: 1.6;
      color: var(--p-ink);
      margin: 0;
    }

    @media (max-width: 820px) {
      .bonus-stack__grid { grid-template-columns: 1fr; }
    }
    @media (max-width: 480px) {
      .bonus-card__seal { width: 64px; height: 64px; top: 14px; right: 14px; }
      .bonus-card__seal-num { font-size: 18px; }
      .bonus-card__eyebrow, .bonus-card__title { max-width: calc(100% - 74px); }
    }
```

```html
<div class="page">
    <section class="bonus-stack" aria-label="Bonus cards">
      <div class="bonus-stack__wrap">
        <header class="bonus-stack__heading">
          <p class="bonus-stack__eyebrow">Plus, two bonuses</p>
          <h2 class="bonus-stack__title">Two <em>bonuses</em> you get the day you save your seat.</h2>
        </header>

        <div class="bonus-stack__grid">
          <article class="bonus-card">
            <div class="bonus-card__seal" aria-hidden="true">
              <div>
                <span class="bonus-card__seal-label">Bonus</span>
                <span class="bonus-card__seal-num">01</span>
              </div>
            </div>
            <p class="bonus-card__eyebrow">Limited Time Bonus</p>
            <h3 class="bonus-card__title">The Webinar Conversion <em>Calculator</em></h3>
            <p class="bonus-card__body">Plug in your registration count, attend rate, and convert rate. See your launch revenue before you build the webinar. If the numbers don't work, change the offer, not the slides.</p>
          </article>

          <article class="bonus-card">
            <div class="bonus-card__seal" aria-hidden="true">
              <div>
                <span class="bonus-card__seal-label">Bonus</span>
                <span class="bonus-card__seal-num">02</span>
              </div>
            </div>
            <p class="bonus-card__eyebrow">Limited Time Bonus</p>
            <h3 class="bonus-card__title">The Webinar <em>Slide Map</em></h3>
            <p class="bonus-card__body">A Google Slides template structured around the three foundations you build in the workshop. You leave the room with the working session done. You leave the desk with a slide framework already mapped.</p>
          </article>
        </div>
      </div>
    </section>
  </div>
```

### offer-stack.detailed-polished

Wrapper context: `<body data-brand="tracy">`

```css
:root {
      --ease-out-craft: cubic-bezier(0.23, 1, 0.32, 1);
    }
    *, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body { font-family: var(--f-sans); background: var(--p-oatmeal); color: var(--p-charcoal); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
    .page { padding: clamp(14px, 1.6vw, 24px); }

    .stack {
      background: var(--p-oatmeal);
      border: 1px solid var(--border-hairline);
      border-radius: 14px;
      padding: clamp(40px, 5vw, 72px) clamp(24px, 5vw, 64px);
      max-width: 820px;
      margin: 0 auto 32px;
      position: relative;
      overflow: hidden;
      isolation: isolate;
      transition: transform 300ms var(--ease-out-craft), box-shadow 300ms var(--ease-out-craft);
    }
    .stack::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 55% 40% at 50% 15%,
        rgba(110, 142, 119, 0.08) 0%,
        rgba(110, 142, 119, 0.0) 70%);
      pointer-events: none;
      z-index: 0;
    }
    .stack > * { position: relative; z-index: 1; }
    @media (hover: hover) and (pointer: fine) {
      .stack:hover {
        box-shadow: 0 24px 56px -28px rgba(30, 55, 53, 0.2);
      }
    }

    .stack__eyebrow,
    .stack__title,
    .stack__script,
    .stack__rows,
    .total,
    .stack__cta-wrap {
      opacity: 0;
      transform: translateY(12px);
      animation: osdRise 900ms var(--ease-out-craft) forwards;
    }
    .stack__eyebrow  { animation-delay: 140ms; }
    .stack__title    { animation-delay: 280ms; }
    .stack__script   { animation-delay: 400ms; }
    .stack__rows     { animation-delay: 540ms; }
    .total           { animation-delay: 700ms; }
    .stack__cta-wrap { animation-delay: 840ms; }
    @keyframes osdRise {
      from { opacity: 0; transform: translateY(12px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .stack__eyebrow { font-family: var(--f-sans); font-size: 11px; font-weight: 600; letter-spacing: 0.28em; text-transform: uppercase; color: var(--p-aztek); text-align: center; margin: 0 0 14px; }
    .stack__title { font-family: var(--f-serif-display); font-weight: 400; font-size: clamp(32px, 4vw, 48px); line-height: 1.08; letter-spacing: -0.015em; color: var(--p-charcoal); text-align: center; margin: 0 0 14px; text-wrap: balance; }
    .stack__title em { font-family: var(--f-serif-italic); font-style: italic; }
    .stack__script { font-family: var(--f-script); font-size: 28px; color: var(--p-sage); text-align: center; margin: 0 0 36px; line-height: 1; }

    .stack__rows { display: grid; gap: 18px; margin-bottom: 32px; }
    .row {
      display: grid;
      grid-template-columns: 40px 1fr auto;
      gap: 20px;
      padding: 18px 0;
      border-bottom: 1px solid var(--border-hairline);
      align-items: flex-start;
      transition: transform 260ms var(--ease-out-craft);
    }
    .row:last-child { border-bottom: 0; }
    @media (hover: hover) and (pointer: fine) {
      .row:hover { transform: translateX(4px); }
    }
    .row__icon {
      width: 40px; height: 40px;
      border-radius: 50%;
      background: var(--p-aztek);
      color: var(--p-oatmeal);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      transition: transform 260ms var(--ease-out-craft), box-shadow 260ms var(--ease-out-craft);
      box-shadow: 0 6px 16px -8px rgba(30, 55, 53, 0.55);
    }
    .row:hover .row__icon {
      transform: scale(1.06);
      box-shadow: 0 10px 22px -8px rgba(30, 55, 53, 0.65);
    }
    .row__icon svg { width: 18px; height: 18px; }
    .row__copy { min-width: 0; }
    .row__title { font-family: var(--f-sans); font-size: 17px; font-weight: 600; line-height: 1.3; color: var(--p-charcoal); margin: 0 0 4px; }
    .row__title em { font-family: var(--f-serif-italic); font-style: italic; font-weight: 400; }
    .row__desc { font-family: var(--f-sans); font-size: 14px; line-height: 1.55; color: var(--p-ink); margin: 0; text-wrap: pretty; }
    .row__value { font-family: var(--f-sans); font-size: 12px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: var(--p-sage); white-space: nowrap; padding-top: 3px; }

    .total { text-align: center; padding: 24px 0 4px; border-top: 1px dashed var(--border-hairline); margin-bottom: 32px; }
    .total__label { font-size: 11px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--p-mute); margin: 0 0 6px; }
    .total__value { font-family: var(--f-serif-display); font-size: 44px; font-weight: 400; line-height: 1; color: var(--p-aztek); margin: 0 0 6px; letter-spacing: -0.02em; }
    .total__note { font-size: 13px; line-height: 1.5; color: var(--p-ink); margin: 0; }
    .total__note strong { color: var(--p-charcoal); }

    .stack__cta-wrap { text-align: center; }
    .stack__cta {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 16px 36px;
      border-radius: var(--r-pill);
      background: var(--p-aztek);
      color: var(--p-oatmeal);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      text-decoration: none;
      transition:
        background 220ms var(--ease-out-craft),
        box-shadow 220ms var(--ease-out-craft),
        transform 120ms var(--ease-out-craft);
      border: 1.5px solid var(--p-aztek);
      box-shadow: 0 3px 14px -6px rgba(30, 55, 53, 0.4);
    }
    .stack__cta:hover {
      background: var(--p-charcoal);
      border-color: var(--p-charcoal);
      box-shadow: 0 6px 20px -6px rgba(16,16,16,0.3);
    }
    .stack__cta:active { transform: scale(0.99); }
    .stack__cta:focus-visible { outline: 2px solid var(--p-aztek); outline-offset: 3px; }

    @media (max-width: 640px) {
      .row { grid-template-columns: 36px 1fr; }
      .row__value { grid-column: 1 / -1; padding-left: 56px; padding-top: 2px; letter-spacing: 0.1em; }
      .stack__title { font-size: 28px; }
      .total__value { font-size: 36px; }
    }
    @media (max-width: 430px) {
      .stack { padding: 32px 20px; }
      .stack__cta { width: 100%; justify-content: center; padding: 14px 20px; }
    }

    @media (prefers-reduced-motion: reduce) {
      .stack__eyebrow,
      .stack__title,
      .stack__script,
      .stack__rows,
      .total,
      .stack__cta-wrap {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
      .row:hover { transform: none; }
      .row:hover .row__icon { transform: none; }
    }
```

```html
<div class="page">
    <section class="stack" aria-label="Detailed offer stack">
      <p class="stack__eyebrow">Here's everything you get</p>
      <h2 class="stack__title">Freedom Filled® Business <em>Mentorship</em></h2>
      <p class="stack__script">Twelve months. Full support.</p>

      <div class="stack__rows">
        <div class="row">
          <span class="row__icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg></span>
          <div class="row__copy">
            <h3 class="row__title">Live mentorship calls, twice a month</h3>
            <p class="row__desc">Real-time coaching with me and the FFB community. Bring your stuck points, leave with next actions.</p>
          </div>
          <span class="row__value">$6,000 value</span>
        </div>

        <div class="row">
          <span class="row__icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"/></svg></span>
          <div class="row__copy">
            <h3 class="row__title">The Freedom Filled® <em>Pathway</em> curriculum</h3>
            <p class="row__desc">Self-paced video training library, with the exact frameworks I've used to build my business and every FFB member's.</p>
          </div>
          <span class="row__value">$3,000 value</span>
        </div>

        <div class="row">
          <span class="row__icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"/></svg></span>
          <div class="row__copy">
            <h3 class="row__title">Private community with the whole cohort</h3>
            <p class="row__desc">A steady, encouraging group of right-fit women. No cliques, no pile-ons, just women building together.</p>
          </div>
          <span class="row__value">$1,200 value</span>
        </div>

        <div class="row">
          <span class="row__icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="8.5" cy="7" r="4"/><line x1="20" y1="8" x2="20" y2="14"/><line x1="23" y1="11" x2="17" y2="11"/></svg></span>
          <div class="row__copy">
            <h3 class="row__title">Guest expert masterclasses</h3>
            <p class="row__desc">Four sessions a year with specialists on launches, copywriting, funnels, and visibility.</p>
          </div>
          <span class="row__value">$2,000 value</span>
        </div>

        <div class="row">
          <span class="row__icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg></span>
          <div class="row__copy">
            <h3 class="row__title">Templates, scripts, and swipe files</h3>
            <p class="row__desc">Every sales page, email sequence, and IG carousel I've used, ready for you to make your own.</p>
          </div>
          <span class="row__value">$1,500 value</span>
        </div>

        <div class="row">
          <span class="row__icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2L2 7l10 5 10-5-10-5z"/><polyline points="2 17 12 22 22 17"/><polyline points="2 12 12 17 22 12"/></svg></span>
          <div class="row__copy">
            <h3 class="row__title">Quarterly strategy <em>sprints</em></h3>
            <p class="row__desc">90-day planning cycles so you always know the next right move and the one after that.</p>
          </div>
          <span class="row__value">$1,800 value</span>
        </div>

        <div class="row">
          <span class="row__icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/></svg></span>
          <div class="row__copy">
            <h3 class="row__title">Accountability rhythm that actually works</h3>
            <p class="row__desc">Weekly check-ins, monthly wins reel, and a calendar built for busy women, not hustlers.</p>
          </div>
          <span class="row__value">$900 value</span>
        </div>
      </div>

      <div class="total">
        <p class="total__label">Total value</p>
        <p class="total__value">$16,400+</p>
        <p class="total__note">Your investment today: <strong>$6,000 AUD</strong> or flexible payments from $550/month.</p>
      </div>

      <div class="stack__cta-wrap">
        <a href="/apply" class="stack__cta">Apply for FFB</a>
      </div>
    </section>
  </div>
```

### offer-stack.detailed

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body { font-family: var(--f-sans); background: var(--p-oatmeal); color: var(--p-charcoal); -webkit-font-smoothing: antialiased; }
    .page { padding: clamp(14px, 1.6vw, 24px); }

    .stack { background: var(--p-oatmeal); border: 1px solid var(--border-hairline); border-radius: 14px; padding: clamp(40px, 5vw, 72px) clamp(24px, 5vw, 64px); max-width: 820px; margin: 0 auto 32px; }
    .stack__eyebrow { font-family: var(--f-sans); font-size: 11px; font-weight: 600; letter-spacing: 0.28em; text-transform: uppercase; color: var(--p-aztek); text-align: center; margin: 0 0 14px; }
    .stack__title { font-family: var(--f-serif-display); font-weight: 400; font-size: clamp(32px, 4vw, 48px); line-height: 1.08; letter-spacing: -0.015em; color: var(--p-charcoal); text-align: center; margin: 0 0 14px; }
    .stack__title em { font-family: var(--f-serif-italic); font-style: italic; }
    .stack__script { font-family: var(--f-script); font-size: 28px; color: var(--p-sage); text-align: center; margin: 0 0 36px; line-height: 1; }

    .stack__rows { display: grid; gap: 18px; margin-bottom: 32px; }
    .row { display: grid; grid-template-columns: 40px 1fr auto; gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--border-hairline); align-items: flex-start; }
    .row:last-child { border-bottom: 0; }
    .row__icon { width: 40px; height: 40px; border-radius: 50%; background: var(--p-aztek); color: var(--p-oatmeal); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
    .row__icon svg { width: 18px; height: 18px; }
    .row__copy { min-width: 0; }
    .row__title { font-family: var(--f-sans); font-size: 17px; font-weight: 600; line-height: 1.3; color: var(--p-charcoal); margin: 0 0 4px; }
    .row__title em { font-family: var(--f-serif-italic); font-style: italic; font-weight: 400; }
    .row__desc { font-family: var(--f-sans); font-size: 14px; line-height: 1.55; color: var(--p-ink); margin: 0; }
    .row__value { font-family: var(--f-sans); font-size: 12px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: var(--p-sage); white-space: nowrap; padding-top: 3px; }

    .total { text-align: center; padding: 24px 0 4px; border-top: 1px dashed var(--border-hairline); margin-bottom: 32px; }
    .total__label { font-size: 11px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--p-mute); margin: 0 0 6px; }
    .total__value { font-family: var(--f-serif-display); font-size: 44px; font-weight: 400; line-height: 1; color: var(--p-aztek); margin: 0 0 6px; letter-spacing: -0.02em; }
    .total__note { font-size: 13px; line-height: 1.5; color: var(--p-ink); margin: 0; }
    .total__note strong { color: var(--p-charcoal); }

    .stack__cta-wrap { text-align: center; }
    .stack__cta { display: inline-flex; align-items: center; gap: 10px; padding: 16px 36px; border-radius: var(--r-pill); background: var(--p-aztek); color: var(--p-oatmeal); font-size: 12px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; text-decoration: none; transition: background .2s, transform .2s, box-shadow .2s; border: 1.5px solid var(--p-aztek); }
    .stack__cta:hover { background: var(--p-charcoal); border-color: var(--p-charcoal); transform: translateY(-1px); box-shadow: 0 12px 28px rgba(16,16,16,0.2); }

    @media (max-width: 640px) {
      .row { grid-template-columns: 36px 1fr; }
      .row__value { grid-column: 1 / -1; padding-left: 56px; padding-top: 2px; letter-spacing: 0.1em; }
      .stack__title { font-size: 28px; }
      .total__value { font-size: 36px; }
    }
    @media (max-width: 430px) {
      .stack { padding: 32px 20px; }
      .stack__cta { width: 100%; justify-content: center; padding: 14px 20px; }
    }
```

```html
<div class="page">
    <section class="stack" aria-label="Detailed offer stack">
      <p class="stack__eyebrow">Here's everything you get</p>
      <h2 class="stack__title">Freedom Filled® Business <em>Mentorship</em></h2>
      <p class="stack__script">Twelve months. Full support.</p>

      <div class="stack__rows">
        <div class="row">
          <span class="row__icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg></span>
          <div class="row__copy">
            <h3 class="row__title">Live mentorship calls, twice a month</h3>
            <p class="row__desc">Real-time coaching with me and the FFB community. Bring your stuck points, leave with next actions.</p>
          </div>
          <span class="row__value">$6,000 value</span>
        </div>

        <div class="row">
          <span class="row__icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"/></svg></span>
          <div class="row__copy">
            <h3 class="row__title">The Freedom Filled® <em>Pathway</em> curriculum</h3>
            <p class="row__desc">Self-paced video training library, with the exact frameworks I've used to build my business and every FFB member's.</p>
          </div>
          <span class="row__value">$3,000 value</span>
        </div>

        <div class="row">
          <span class="row__icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"/></svg></span>
          <div class="row__copy">
            <h3 class="row__title">Private community with the whole cohort</h3>
            <p class="row__desc">A steady, encouraging group of right-fit women. No cliques, no pile-ons, just women building together.</p>
          </div>
          <span class="row__value">$1,200 value</span>
        </div>

        <div class="row">
          <span class="row__icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="8.5" cy="7" r="4"/><line x1="20" y1="8" x2="20" y2="14"/><line x1="23" y1="11" x2="17" y2="11"/></svg></span>
          <div class="row__copy">
            <h3 class="row__title">Guest expert masterclasses</h3>
            <p class="row__desc">Four sessions a year with specialists on launches, copywriting, funnels, and visibility.</p>
          </div>
          <span class="row__value">$2,000 value</span>
        </div>

        <div class="row">
          <span class="row__icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg></span>
          <div class="row__copy">
            <h3 class="row__title">Templates, scripts, and swipe files</h3>
            <p class="row__desc">Every sales page, email sequence, and IG carousel I've used, ready for you to make your own.</p>
          </div>
          <span class="row__value">$1,500 value</span>
        </div>

        <div class="row">
          <span class="row__icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2L2 7l10 5 10-5-10-5z"/><polyline points="2 17 12 22 22 17"/><polyline points="2 12 12 17 22 12"/></svg></span>
          <div class="row__copy">
            <h3 class="row__title">Quarterly strategy <em>sprints</em></h3>
            <p class="row__desc">90-day planning cycles so you always know the next right move and the one after that.</p>
          </div>
          <span class="row__value">$1,800 value</span>
        </div>

        <div class="row">
          <span class="row__icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/></svg></span>
          <div class="row__copy">
            <h3 class="row__title">Accountability rhythm that actually works</h3>
            <p class="row__desc">Weekly check-ins, monthly wins reel, and a calendar built for busy women, not hustlers.</p>
          </div>
          <span class="row__value">$900 value</span>
        </div>
      </div>

      <div class="total">
        <p class="total__label">Total value</p>
        <p class="total__value">$16,400+</p>
        <p class="total__note">Your investment today: <strong>$6,000 AUD</strong> or flexible payments from $550/month.</p>
      </div>

      <div class="stack__cta-wrap">
        <a href="/apply" class="stack__cta">Apply for FFB</a>
      </div>
    </section>
  </div>
```

### offer-stack.minimal-polished

Wrapper context: `<body data-brand="tracy">`

```css
:root {
      --ease-out-craft: cubic-bezier(0.23, 1, 0.32, 1);
    }
    *, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body { font-family: var(--f-sans); background: var(--p-oatmeal); color: var(--p-charcoal); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
    .page { padding: clamp(14px, 1.6vw, 24px); }

    .stack {
      background: var(--p-cream);
      border: 0;
      border-radius: 14px;
      padding: clamp(40px, 5vw, 72px) clamp(24px, 5vw, 64px);
      max-width: 820px;
      margin: 0 auto 32px;
      position: relative;
      overflow: hidden;
      isolation: isolate;
      transition: transform 300ms var(--ease-out-craft), box-shadow 300ms var(--ease-out-craft);
    }
    .stack::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 55% 45% at 50% 20%,
        rgba(110, 142, 119, 0.08) 0%,
        rgba(110, 142, 119, 0.0) 70%);
      pointer-events: none;
      z-index: 0;
    }
    .stack > * { position: relative; z-index: 1; }
    @media (hover: hover) and (pointer: fine) {
      .stack:hover {
        transform: translateY(-3px);
        box-shadow: 0 18px 40px -20px rgba(30, 55, 53, 0.2);
      }
    }

    .stack__eyebrow,
    .stack__title,
    .stack__rows,
    .stack__cta-wrap {
      opacity: 0;
      transform: translateY(12px);
      animation: osmRise 900ms var(--ease-out-craft) forwards;
    }
    .stack__eyebrow  { animation-delay: 140ms; }
    .stack__title    { animation-delay: 280ms; }
    .stack__rows     { animation-delay: 440ms; }
    .stack__cta-wrap { animation-delay: 620ms; }
    @keyframes osmRise {
      from { opacity: 0; transform: translateY(12px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .stack__eyebrow { font-family: var(--f-sans); font-size: 11px; font-weight: 600; letter-spacing: 0.28em; text-transform: uppercase; color: var(--p-aztek); text-align: center; margin: 0 0 14px; }
    .stack__title { font-family: var(--f-serif-display); font-weight: 400; font-size: clamp(32px, 4vw, 48px); line-height: 1.08; letter-spacing: -0.015em; color: var(--p-charcoal); text-align: center; margin: 0 0 14px; text-wrap: balance; }
    .stack__title em { font-family: var(--f-serif-italic); font-style: italic; }

    .stack__rows { display: grid; gap: 10px; margin-bottom: 32px; }
    .row {
      display: grid;
      grid-template-columns: 32px 1fr;
      gap: 20px;
      padding: 12px 0;
      border-bottom: 1px solid rgba(16,16,16,0.06);
      align-items: flex-start;
    }
    .row:last-child { border-bottom: 0; }
    .row__icon {
      width: 32px; height: 32px;
      border-radius: 50%;
      background: transparent;
      color: var(--p-aztek);
      border: 1.5px solid var(--p-aztek);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      transition: background 200ms var(--ease-out-craft), color 200ms var(--ease-out-craft);
    }
    .row:hover .row__icon {
      background: var(--p-aztek);
      color: var(--p-oatmeal);
    }
    .row__icon svg { width: 18px; height: 18px; }
    .row__copy { min-width: 0; }
    .row__title { font-family: var(--f-sans); font-size: 16px; font-weight: 600; line-height: 1.3; color: var(--p-charcoal); margin: 0 0 4px; }
    .row__title em { font-family: var(--f-serif-italic); font-style: italic; font-weight: 400; }

    .stack__cta-wrap { text-align: center; }
    .stack__cta {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 16px 36px;
      border-radius: var(--r-pill);
      background: var(--p-aztek);
      color: var(--p-oatmeal);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      text-decoration: none;
      transition:
        background 220ms var(--ease-out-craft),
        box-shadow 220ms var(--ease-out-craft),
        transform 120ms var(--ease-out-craft);
      border: 1.5px solid var(--p-aztek);
      box-shadow: 0 3px 14px -6px rgba(30, 55, 53, 0.4);
    }
    .stack__cta:hover {
      background: var(--p-charcoal);
      border-color: var(--p-charcoal);
      box-shadow: 0 6px 20px -6px rgba(16,16,16,0.3);
    }
    .stack__cta:active { transform: scale(0.99); }
    .stack__cta:focus-visible { outline: 2px solid var(--p-aztek); outline-offset: 3px; }

    @media (max-width: 640px) { .stack__title { font-size: 28px; } }
    @media (max-width: 430px) {
      .stack { padding: 32px 20px; }
      .stack__cta { width: 100%; justify-content: center; padding: 14px 20px; }
    }

    @media (prefers-reduced-motion: reduce) {
      .stack__eyebrow,
      .stack__title,
      .stack__rows,
      .stack__cta-wrap {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
    }
```

```html
<div class="page">
    <section class="stack" aria-label="Minimal offer stack">
      <p class="stack__eyebrow">Inside the intensive</p>
      <h2 class="stack__title">What you'll walk away with.</h2>

      <div class="stack__rows">
        <div class="row">
          <span class="row__icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg></span>
          <div class="row__copy"><h3 class="row__title">Your Million Dollar Message™ in one clear sentence</h3></div>
        </div>
        <div class="row">
          <span class="row__icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg></span>
          <div class="row__copy"><h3 class="row__title">The messaging framework I use with every FFB mentee</h3></div>
        </div>
        <div class="row">
          <span class="row__icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg></span>
          <div class="row__copy"><h3 class="row__title">A workbook you'll actually use, not save and forget</h3></div>
        </div>
        <div class="row">
          <span class="row__icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg></span>
          <div class="row__copy"><h3 class="row__title">Lifetime access to the recording</h3></div>
        </div>
        <div class="row">
          <span class="row__icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg></span>
          <div class="row__copy"><h3 class="row__title">Clarity you didn't have yesterday</h3></div>
        </div>
      </div>

      <div class="stack__cta-wrap">
        <a href="#claim" class="stack__cta">Claim the intensive</a>
      </div>
    </section>
  </div>
```

### offer-stack.minimal

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body { font-family: var(--f-sans); background: var(--p-oatmeal); color: var(--p-charcoal); -webkit-font-smoothing: antialiased; }
    .page { padding: clamp(14px, 1.6vw, 24px); }

    .stack { background: var(--p-cream); border: 0; border-radius: 14px; padding: clamp(40px, 5vw, 72px) clamp(24px, 5vw, 64px); max-width: 820px; margin: 0 auto 32px; }
    .stack__eyebrow { font-family: var(--f-sans); font-size: 11px; font-weight: 600; letter-spacing: 0.28em; text-transform: uppercase; color: var(--p-aztek); text-align: center; margin: 0 0 14px; }
    .stack__title { font-family: var(--f-serif-display); font-weight: 400; font-size: clamp(32px, 4vw, 48px); line-height: 1.08; letter-spacing: -0.015em; color: var(--p-charcoal); text-align: center; margin: 0 0 14px; }
    .stack__title em { font-family: var(--f-serif-italic); font-style: italic; }

    .stack__rows { display: grid; gap: 10px; margin-bottom: 32px; }
    .row { display: grid; grid-template-columns: 32px 1fr; gap: 20px; padding: 12px 0; border-bottom: 1px solid rgba(16,16,16,0.06); align-items: flex-start; }
    .row:last-child { border-bottom: 0; }
    .row__icon { width: 32px; height: 32px; border-radius: 50%; background: transparent; color: var(--p-aztek); border: 1.5px solid var(--p-aztek); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
    .row__icon svg { width: 18px; height: 18px; }
    .row__copy { min-width: 0; }
    .row__title { font-family: var(--f-sans); font-size: 16px; font-weight: 600; line-height: 1.3; color: var(--p-charcoal); margin: 0 0 4px; }
    .row__title em { font-family: var(--f-serif-italic); font-style: italic; font-weight: 400; }

    .stack__cta-wrap { text-align: center; }
    .stack__cta { display: inline-flex; align-items: center; gap: 10px; padding: 16px 36px; border-radius: var(--r-pill); background: var(--p-aztek); color: var(--p-oatmeal); font-size: 12px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; text-decoration: none; transition: background .2s, transform .2s, box-shadow .2s; border: 1.5px solid var(--p-aztek); }
    .stack__cta:hover { background: var(--p-charcoal); border-color: var(--p-charcoal); transform: translateY(-1px); box-shadow: 0 12px 28px rgba(16,16,16,0.2); }

    @media (max-width: 640px) { .stack__title { font-size: 28px; } }
    @media (max-width: 430px) {
      .stack { padding: 32px 20px; }
      .stack__cta { width: 100%; justify-content: center; padding: 14px 20px; }
    }
```

```html
<div class="page">
    <section class="stack" aria-label="Minimal offer stack">
      <p class="stack__eyebrow">Inside the intensive</p>
      <h2 class="stack__title">What you'll walk away with.</h2>

      <div class="stack__rows">
        <div class="row">
          <span class="row__icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg></span>
          <div class="row__copy"><h3 class="row__title">Your Million Dollar Message™ in one clear sentence</h3></div>
        </div>
        <div class="row">
          <span class="row__icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg></span>
          <div class="row__copy"><h3 class="row__title">The messaging framework I use with every FFB mentee</h3></div>
        </div>
        <div class="row">
          <span class="row__icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg></span>
          <div class="row__copy"><h3 class="row__title">A workbook you'll actually use, not save and forget</h3></div>
        </div>
        <div class="row">
          <span class="row__icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg></span>
          <div class="row__copy"><h3 class="row__title">Lifetime access to the recording</h3></div>
        </div>
        <div class="row">
          <span class="row__icon" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg></span>
          <div class="row__copy"><h3 class="row__title">Clarity you didn't have yesterday</h3></div>
        </div>
      </div>

      <div class="stack__cta-wrap">
        <a href="#claim" class="stack__cta">Claim the intensive</a>
      </div>
    </section>
  </div>
```

### offer-stack.showcase

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }

    .page { padding: clamp(14px, 1.6vw, 24px); }
    .section-label {
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--p-mute);
      margin: 0 0 8px;
      padding: 10px 12px;
    }

    /* -------- STACK SHELL -------- */
    .stack {
      background: var(--p-oatmeal);
      border: 1px solid var(--border-hairline);
      border-radius: 14px;
      padding: clamp(40px, 5vw, 72px) clamp(24px, 5vw, 64px);
      max-width: 820px;
      margin: 0 auto 32px;
    }
    .stack--minimal { background: var(--p-cream); border: 0; }

    .stack__eyebrow {
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--p-aztek);
      text-align: center;
      margin: 0 0 14px;
    }
    .stack__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(32px, 4vw, 48px);
      line-height: 1.08;
      letter-spacing: -0.015em;
      color: var(--p-charcoal);
      text-align: center;
      margin: 0 0 14px;
    }
    .stack__title em { font-family: var(--f-serif-italic); font-style: italic; }
    .stack__script {
      font-family: var(--f-script);
      font-size: 28px;
      color: var(--p-sage);
      text-align: center;
      margin: 0 0 36px;
      line-height: 1;
    }

    /* -------- ROWS -------- */
    .stack__rows { display: grid; gap: 18px; margin-bottom: 32px; }
    .stack--minimal .stack__rows { gap: 10px; }

    .row {
      display: grid;
      grid-template-columns: 40px 1fr auto;
      gap: 20px;
      padding: 18px 0;
      border-bottom: 1px solid var(--border-hairline);
      align-items: flex-start;
    }
    .row:last-child { border-bottom: 0; }
    .stack--minimal .row {
      grid-template-columns: 32px 1fr;
      padding: 12px 0;
      border-color: rgba(16,16,16,0.06);
    }

    .row__icon {
      width: 40px; height: 40px;
      border-radius: 50%;
      background: var(--p-aztek);
      color: var(--p-oatmeal);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }
    .stack--minimal .row__icon {
      width: 32px; height: 32px;
      background: transparent;
      color: var(--p-aztek);
      border: 1.5px solid var(--p-aztek);
    }
    .row__icon svg { width: 18px; height: 18px; }

    .row__copy { min-width: 0; }
    .row__title {
      font-family: var(--f-sans);
      font-size: 17px;
      font-weight: 600;
      line-height: 1.3;
      color: var(--p-charcoal);
      margin: 0 0 4px;
    }
    .row__title em { font-family: var(--f-serif-italic); font-style: italic; font-weight: 400; }
    .row__desc {
      font-family: var(--f-sans);
      font-size: 14px;
      line-height: 1.55;
      color: var(--p-ink);
      margin: 0;
    }
    .stack--minimal .row__title { font-size: 16px; }
    .stack--minimal .row__desc { display: none; }

    .row__value {
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--p-sage);
      white-space: nowrap;
      padding-top: 3px;
    }

    /* -------- TOTAL -------- */
    .total {
      text-align: center;
      padding: 24px 0 4px;
      border-top: 1px dashed var(--border-hairline);
      margin-bottom: 32px;
    }
    .total__label {
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--p-mute);
      margin: 0 0 6px;
    }
    .total__value {
      font-family: var(--f-serif-display);
      font-size: 44px;
      font-weight: 400;
      line-height: 1;
      color: var(--p-aztek);
      margin: 0 0 6px;
      letter-spacing: -0.02em;
    }
    .total__note {
      font-size: 13px;
      line-height: 1.5;
      color: var(--p-ink);
      margin: 0;
    }
    .total__note strong { color: var(--p-charcoal); }

    /* -------- CTA -------- */
    .stack__cta-wrap { text-align: center; }
    .stack__cta {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 16px 36px;
      border-radius: var(--r-pill);
      background: var(--p-aztek);
      color: var(--p-oatmeal);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      text-decoration: none;
      transition: background .2s, transform .2s, box-shadow .2s;
      border: 1.5px solid var(--p-aztek);
    }
    .stack__cta:hover {
      background: var(--p-charcoal);
      border-color: var(--p-charcoal);
      transform: translateY(-1px);
      box-shadow: 0 12px 28px rgba(16,16,16,0.2);
    }

    @media (max-width: 640px) {
      .row { grid-template-columns: 36px 1fr; }
      .row__value {
        grid-column: 1 / -1;
        padding-left: 56px;
        padding-top: 2px;
        letter-spacing: 0.1em;
      }
      .stack__title { font-size: 28px; }
      .total__value { font-size: 36px; }
    }
    @media (max-width: 430px) {
      .stack { padding: 32px 20px; }
      .stack__cta { width: 100%; justify-content: center; padding: 14px 20px; }
    }
```

```html
<div class="page">

    <!-- =============================================== -->
    <!-- VARIANT A: DETAILED OFFER STACK                  -->
    <!-- =============================================== -->
    <p class="section-label">Variant · Detailed offer stack</p>
    <section class="stack" id="detailed" aria-label="Detailed offer stack">
      <p class="stack__eyebrow">Here's everything you get</p>
      <h2 class="stack__title">Freedom Filled® Business <em>Mentorship</em></h2>
      <p class="stack__script">Twelve months. Full support.</p>

      <div class="stack__rows">
        <!-- 1 -->
        <div class="row">
          <span class="row__icon" aria-hidden="true">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>
          </span>
          <div class="row__copy">
            <h3 class="row__title">Live mentorship calls, twice a month</h3>
            <p class="row__desc">Real-time coaching with me and the FFB community. Bring your stuck points, leave with next actions.</p>
          </div>
          <span class="row__value">$6,000 value</span>
        </div>

        <!-- 2 -->
        <div class="row">
          <span class="row__icon" aria-hidden="true">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"/></svg>
          </span>
          <div class="row__copy">
            <h3 class="row__title">The Freedom Filled® <em>Pathway</em> curriculum</h3>
            <p class="row__desc">Self-paced video training library, with the exact frameworks I've used to build my business and every FFB member's.</p>
          </div>
          <span class="row__value">$3,000 value</span>
        </div>

        <!-- 3 -->
        <div class="row">
          <span class="row__icon" aria-hidden="true">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"/></svg>
          </span>
          <div class="row__copy">
            <h3 class="row__title">Private community with the whole cohort</h3>
            <p class="row__desc">A steady, encouraging group of right-fit women. No cliques, no pile-ons, just women building together.</p>
          </div>
          <span class="row__value">$1,200 value</span>
        </div>

        <!-- 4 -->
        <div class="row">
          <span class="row__icon" aria-hidden="true">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="8.5" cy="7" r="4"/><line x1="20" y1="8" x2="20" y2="14"/><line x1="23" y1="11" x2="17" y2="11"/></svg>
          </span>
          <div class="row__copy">
            <h3 class="row__title">Guest expert masterclasses</h3>
            <p class="row__desc">Four sessions a year with specialists on launches, copywriting, funnels, and visibility.</p>
          </div>
          <span class="row__value">$2,000 value</span>
        </div>

        <!-- 5 -->
        <div class="row">
          <span class="row__icon" aria-hidden="true">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>
          </span>
          <div class="row__copy">
            <h3 class="row__title">Templates, scripts, and swipe files</h3>
            <p class="row__desc">Every sales page, email sequence, and IG carousel I've used, ready for you to make your own.</p>
          </div>
          <span class="row__value">$1,500 value</span>
        </div>

        <!-- 6 -->
        <div class="row">
          <span class="row__icon" aria-hidden="true">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2L2 7l10 5 10-5-10-5z"/><polyline points="2 17 12 22 22 17"/><polyline points="2 12 12 17 22 12"/></svg>
          </span>
          <div class="row__copy">
            <h3 class="row__title">Quarterly strategy <em>sprints</em></h3>
            <p class="row__desc">90-day planning cycles so you always know the next right move and the one after that.</p>
          </div>
          <span class="row__value">$1,800 value</span>
        </div>

        <!-- 7 -->
        <div class="row">
          <span class="row__icon" aria-hidden="true">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/></svg>
          </span>
          <div class="row__copy">
            <h3 class="row__title">Accountability rhythm that actually works</h3>
            <p class="row__desc">Weekly check-ins, monthly wins reel, and a calendar built for busy women, not hustlers.</p>
          </div>
          <span class="row__value">$900 value</span>
        </div>
      </div>

      <div class="total">
        <p class="total__label">Total value</p>
        <p class="total__value">$16,400+</p>
        <p class="total__note">Your investment today: <strong>$6,000 AUD</strong> or flexible payments from $550/month.</p>
      </div>

      <div class="stack__cta-wrap">
        <a href="/apply" class="stack__cta">Apply for FFB</a>
      </div>
    </section>

    <!-- =============================================== -->
    <!-- VARIANT B: MINIMAL OFFER STACK                   -->
    <!-- =============================================== -->
    <p class="section-label">Variant · Minimal offer stack</p>
    <section class="stack stack--minimal" id="minimal" aria-label="Minimal offer stack">
      <p class="stack__eyebrow">Inside the intensive</p>
      <h2 class="stack__title">What you'll walk away with.</h2>

      <div class="stack__rows">
        <div class="row">
          <span class="row__icon" aria-hidden="true">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>
          </span>
          <div class="row__copy"><h3 class="row__title">Your Million Dollar Message™ in one clear sentence</h3></div>
        </div>
        <div class="row">
          <span class="row__icon" aria-hidden="true">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>
          </span>
          <div class="row__copy"><h3 class="row__title">The messaging framework I use with every FFB mentee</h3></div>
        </div>
        <div class="row">
          <span class="row__icon" aria-hidden="true">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>
          </span>
          <div class="row__copy"><h3 class="row__title">A workbook you'll actually use, not save and forget</h3></div>
        </div>
        <div class="row">
          <span class="row__icon" aria-hidden="true">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>
          </span>
          <div class="row__copy"><h3 class="row__title">Lifetime access to the recording</h3></div>
        </div>
        <div class="row">
          <span class="row__icon" aria-hidden="true">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>
          </span>
          <div class="row__copy"><h3 class="row__title">Clarity you didn't have yesterday</h3></div>
        </div>
      </div>

      <div class="stack__cta-wrap">
        <a href="#claim" class="stack__cta">Claim the intensive</a>
      </div>
    </section>

  </div>
```

---

## opt-in · 5 variants

### Shared CSS · `components/opt-in/opt-in.css`

```css
/* Opt-in, email capture blocks */

.opt-in {
  padding: var(--sp-9) var(--sp-7);
  overflow: hidden;
}

.opt-in--canvas { background: var(--surface-canvas); }
.opt-in--elevated { background: var(--surface-elevated); }
.opt-in--accent { background: var(--accent); color: var(--accent-on); }

/* ============================================================ */
/* VARIANT: SPLIT, big title left, portrait circle right        */
/* ============================================================ */

.opt-in__split {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: var(--sp-7);
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
}

@media (max-width: 820px) {
  .opt-in__split { grid-template-columns: 1fr; gap: var(--sp-6); }
}

.opt-in__content {
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
}

.opt-in__title {
  font-family: var(--f-serif-display);
  font-weight: var(--w-regular);
  font-size: clamp(36px, 4.5vw, 60px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--ink-heading);
  margin: 0;
}

.opt-in--accent .opt-in__title { color: var(--accent-on); }

.opt-in__title em { font-family: var(--f-serif-italic); font-style: italic; }

.opt-in__sub {
  font-family: var(--f-sans);
  font-size: 14px;
  font-weight: var(--w-medium);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin: 0;
  max-width: 60ch;
}

.opt-in--accent .opt-in__sub { color: rgba(255,255,255,0.7); }

.opt-in__form {
  display: flex;
  gap: var(--sp-3);
  margin-top: var(--sp-3);
  flex-wrap: wrap;
}

/* With-name variant: name + email share a row on desktop, button beneath.
   On narrow viewports all three stack full-width. */
.opt-in__form--with-name .opt-in__input {
  flex: 1 1 180px;
}
.opt-in__form--with-name .opt-in__btn {
  flex: 1 1 100%;
}
@media (min-width: 640px) {
  .opt-in__form--with-name .opt-in__btn {
    flex: 0 0 auto;
  }
}
@media (max-width: 520px) {
  .opt-in__form--with-name .opt-in__input { flex: 1 1 100%; }
}

.opt-in__input {
  font-family: var(--f-sans);
  font-size: 14px;
  padding: 14px 18px;
  border: 1px solid var(--border-hairline);
  border-radius: var(--r-md);
  background: var(--p-white);
  color: var(--ink-body);
  flex: 1;
  min-width: 160px;
  outline: none;
  transition: border-color 0.2s;
}

.opt-in__input:focus {
  border-color: var(--accent);
}

.opt-in__input::placeholder {
  color: var(--ink-mute);
}

.opt-in__btn {
  font-family: var(--f-sans);
  font-size: 13px;
  font-weight: var(--w-semibold);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 14px 28px;
  border: none;
  border-radius: var(--r-md);
  background: var(--accent);
  color: var(--accent-on);
  cursor: pointer;
  transition: background 0.2s, transform 0.1s;
  white-space: nowrap;
}

.opt-in--accent .opt-in__btn {
  background: var(--p-white);
  color: var(--accent);
}

.opt-in__btn:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

.opt-in__fine {
  font-family: var(--f-sans);
  font-size: 11px;
  line-height: 1.5;
  color: var(--ink-mute);
  margin: var(--sp-2) 0 0 0;
  max-width: 56ch;
}

.opt-in--accent .opt-in__fine { color: rgba(255,255,255,0.5); }

/* Portrait circle */
.opt-in__portrait {
  width: 100%;
  max-width: 380px;
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  background: var(--surface-elevated);
  justify-self: center;
}

.opt-in__portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ============================================================ */
/* VARIANT: BANNER, centered, full-width, minimal               */
/* ============================================================ */

.opt-in__banner {
  max-width: 680px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-4);
}

.opt-in__banner .opt-in__title {
  font-size: clamp(28px, 3.5vw, 44px);
}

.opt-in__banner .opt-in__form {
  justify-content: center;
  width: 100%;
  max-width: 480px;
}

.opt-in__banner .opt-in__fine {
  text-align: center;
}

/* ============================================================ */
/* VARIANT: CARD, compact card with accent bg, for mid-page     */
/* ============================================================ */

.opt-in__card {
  background: var(--accent);
  border-radius: var(--r-lg);
  padding: var(--sp-7) var(--sp-6);
  max-width: 680px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-4);
}

.opt-in__card .opt-in__title {
  color: var(--accent-on);
  font-size: clamp(24px, 3vw, 36px);
}

.opt-in__card .opt-in__sub {
  color: rgba(255,255,255,0.7);
}

.opt-in__card .opt-in__form {
  justify-content: center;
  width: 100%;
  max-width: 420px;
}

.opt-in__card .opt-in__btn {
  background: var(--p-white);
  color: var(--accent);
}

.opt-in__card .opt-in__fine {
  color: rgba(255,255,255,0.5);
}
```

### opt-in.accent-dark

Wrapper context: `<body data-brand="tracy">`

```html
<section class="opt-in opt-in--accent" data-brand="tracy">
    <div class="opt-in__split">
      <div class="opt-in__content">
        <h2 class="opt-in__title">Not sure where to <em>start</em>?</h2>
        <p class="opt-in__sub">Take the FRESH Quiz. Two minutes. Personalised recommendation. No fluff.</p>
        <form class="opt-in__form opt-in__form--with-name" onsubmit="return false;">
          <input type="text" class="opt-in__input" placeholder="Your First Name" aria-label="First name" />
          <input type="email" class="opt-in__input" placeholder="Your Email" aria-label="Email address" />
          <button type="submit" class="opt-in__btn">Take the Quiz</button>
        </form>
        <p class="opt-in__fine">We'll send your results straight to your inbox. Unsubscribe anytime.</p>
      </div>
      <div class="opt-in__portrait">
        <img src="https://static.showit.co/1200/Yy3opX4aRY-pnfn17TTANA/173187/web_mwh_coralsea_271022_422.jpg" alt="Tracy at the retreat." />
      </div>
    </div>
  </section>
```

### opt-in.banner

Wrapper context: `<body data-brand="ffb">`

```html
<section class="opt-in opt-in--canvas" data-brand="ffb">
    <div class="opt-in__banner">
      <p class="opt-in__sub">Join the community</p>
      <h2 class="opt-in__title">Letters from <em>Tracy</em>.</h2>
      <form class="opt-in__form opt-in__form--with-name" onsubmit="return false;">
        <input type="text" class="opt-in__input" placeholder="Your First Name" aria-label="First name" />
        <input type="email" class="opt-in__input" placeholder="Your Email" aria-label="Email address" />
        <button type="submit" class="opt-in__btn">Subscribe</button>
      </form>
      <p class="opt-in__fine">Weekly insights on building a Freedom Filled® business. No spam. Unsubscribe anytime.</p>
    </div>
  </section>
```

### opt-in.card

Wrapper context: `<body data-brand="tracy">`

```html
<section class="opt-in opt-in--elevated" data-brand="tracy">
    <div class="opt-in__card">
      <p class="opt-in__sub" style="color: rgba(255,255,255,0.7);">Free resource</p>
      <h2 class="opt-in__title">Download the FRESH <em>framework</em>.</h2>
      <form class="opt-in__form opt-in__form--with-name" onsubmit="return false;">
        <input type="text" class="opt-in__input" placeholder="Your First Name" aria-label="First name" />
        <input type="email" class="opt-in__input" placeholder="Your Email" aria-label="Email address" />
        <button type="submit" class="opt-in__btn">Get it Free</button>
      </form>
      <p class="opt-in__fine">Instant access. No credit card required.</p>
    </div>
  </section>
```

### opt-in.showcase

```css
body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; }
    .brand-label {
      position: sticky; top: 0; z-index: 10;
      background: var(--p-charcoal); color: var(--p-oatmeal);
      font-family: var(--f-sans); font-size: 11px; font-weight: 500;
      letter-spacing: 0.2em; text-transform: uppercase;
      padding: 10px 24px;
      display: flex; justify-content: space-between;
    }
```

```html
<!-- SPLIT: title + portrait -->
  <div class="brand-label" id="split"><span>SPLIT, big title left, portrait right</span><code>class="opt-in__split"</code></div>
  <section id="split-section" class="opt-in opt-in--elevated" data-brand="tracy">
    <div class="opt-in__split">
      <div class="opt-in__content">
        <h2 class="opt-in__title">Unlock weekly <em>business wins</em>.</h2>
        <p class="opt-in__sub">Smart strategies, honest behind-the-scenes, and resources delivered to your inbox every Tuesday.</p>
        <form class="opt-in__form" onsubmit="return false;">
          <input type="text" class="opt-in__input" placeholder="First Name" aria-label="First name" />
          <input type="email" class="opt-in__input" placeholder="Your Email" aria-label="Email address" />
          <button type="submit" class="opt-in__btn">Subscribe</button>
        </form>
        <p class="opt-in__fine">Your privacy is sacred. Unsubscribe anytime with one click. No spam, ever.</p>
      </div>
      <div class="opt-in__portrait">
        <img src="https://static.showit.co/1200/C8lYkDDfclRnqya_MiRFow/173187/062a3960.jpg" alt="Tracy Harris smiling." />
      </div>
    </div>
  </section>

  <!-- SPLIT ACCENT: dark green bg -->
  <div class="brand-label" id="accent"><span>SPLIT ACCENT, dark background variant</span><code>class="opt-in opt-in--accent"</code></div>
  <section id="accent-section" class="opt-in opt-in--accent" data-brand="tracy">
    <div class="opt-in__split">
      <div class="opt-in__content">
        <h2 class="opt-in__title">Not sure where to <em>start</em>?</h2>
        <p class="opt-in__sub">Take the FRESH Quiz. Two minutes. Personalised recommendation. No fluff.</p>
        <form class="opt-in__form" onsubmit="return false;">
          <input type="email" class="opt-in__input" placeholder="Your Email" aria-label="Email address" />
          <button type="submit" class="opt-in__btn">Take the Quiz</button>
        </form>
        <p class="opt-in__fine">We'll send your results straight to your inbox. Unsubscribe anytime.</p>
      </div>
      <div class="opt-in__portrait">
        <img src="https://static.showit.co/1200/Yy3opX4aRY-pnfn17TTANA/173187/web_mwh_coralsea_271022_422.jpg" alt="Tracy at the retreat." />
      </div>
    </div>
  </section>

  <!-- BANNER: centered, minimal -->
  <div class="brand-label" id="banner"><span>BANNER, centered full-width</span><code>class="opt-in__banner"</code></div>
  <section id="banner-section" class="opt-in opt-in--canvas" data-brand="ffb">
    <div class="opt-in__banner">
      <p class="opt-in__sub">Join the community</p>
      <h2 class="opt-in__title">Letters from <em>Tracy</em>.</h2>
      <form class="opt-in__form" onsubmit="return false;">
        <input type="email" class="opt-in__input" placeholder="Your Email" aria-label="Email address" />
        <button type="submit" class="opt-in__btn">Subscribe</button>
      </form>
      <p class="opt-in__fine">Weekly insights on building a Freedom Filled® business. No spam. Unsubscribe anytime.</p>
    </div>
  </section>

  <!-- CARD: compact accent card -->
  <div class="brand-label" id="card"><span>CARD, compact mid-page interrupt</span><code>class="opt-in__card"</code></div>
  <section id="card-section" class="opt-in opt-in--elevated" data-brand="tracy">
    <div class="opt-in__card">
      <p class="opt-in__sub" style="color: rgba(255,255,255,0.7);">Free resource</p>
      <h2 class="opt-in__title">Download the FRESH <em>framework</em>.</h2>
      <form class="opt-in__form" onsubmit="return false;">
        <input type="email" class="opt-in__input" placeholder="Your Email" aria-label="Email address" />
        <button type="submit" class="opt-in__btn">Get it Free</button>
      </form>
      <p class="opt-in__fine">Instant access. No credit card required.</p>
    </div>
  </section>
```

### opt-in.split

Wrapper context: `<body data-brand="tracy">`

```html
<section class="opt-in opt-in--elevated" data-brand="tracy">
    <div class="opt-in__split">
      <div class="opt-in__content">
        <h2 class="opt-in__title">Unlock weekly <em>business wins</em>.</h2>
        <p class="opt-in__sub">Smart strategies, honest behind-the-scenes, and resources delivered to your inbox every Tuesday.</p>
        <form class="opt-in__form" onsubmit="return false;">
          <input type="text" class="opt-in__input" placeholder="First Name" aria-label="First name" />
          <input type="email" class="opt-in__input" placeholder="Your Email" aria-label="Email address" />
          <button type="submit" class="opt-in__btn">Subscribe</button>
        </form>
        <p class="opt-in__fine">Your privacy is sacred. Unsubscribe anytime with one click. No spam, ever.</p>
      </div>
      <div class="opt-in__portrait">
        <img src="https://static.showit.co/1200/C8lYkDDfclRnqya_MiRFow/173187/062a3960.jpg" alt="Tracy Harris smiling." />
      </div>
    </div>
  </section>
```

---

## podcast-card · 3 variants

### Shared CSS · `components/podcast-card/podcast-card.css`

```css
/* Podcast Card, latest episode + listen-on links */

.podcast-card {
  background: var(--surface-canvas);
  padding: var(--sp-9) var(--sp-7);
}

.podcast-card--elevated {
  background: var(--surface-elevated);
}

.podcast-card__inner {
  max-width: 1100px;
  margin: 0 auto;
}

.podcast-card__header {
  margin: 0 0 var(--sp-7) 0;
}

.podcast-card__eyebrow {
  font-family: var(--f-sans);
  font-size: 11px;
  font-weight: var(--w-medium);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin: 0 0 var(--sp-3) 0;
}

.podcast-card__title {
  font-family: var(--f-serif-display);
  font-weight: var(--w-regular);
  font-size: clamp(36px, 4.5vw, 56px);
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--ink-heading);
  margin: 0;
}

.podcast-card__title em { font-family: var(--f-serif-italic); font-style: italic; }

/* ============================================================ */
/* VARIANT: FEATURED, large card, art left, details right       */
/* ============================================================ */

.podcast-card__featured {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: var(--sp-6);
  background: var(--p-white);
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(16,16,16,0.06);
}

@media (max-width: 820px) {
  .podcast-card__featured { grid-template-columns: 1fr; }
}

.podcast-card__art {
  aspect-ratio: 1;
  background: var(--surface-elevated);
  overflow: hidden;
}

.podcast-card__art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.podcast-card__details {
  padding: var(--sp-6);
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  justify-content: center;
}

.podcast-card__episode-label {
  font-family: var(--f-sans);
  font-size: 11px;
  font-weight: var(--w-medium);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin: 0;
}

.podcast-card__episode-title {
  font-family: var(--f-serif-display);
  font-weight: var(--w-regular);
  font-size: clamp(22px, 2.5vw, 30px);
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--ink-heading);
  margin: 0;
}

.podcast-card__episode-title em { font-family: var(--f-serif-italic); font-style: italic; }

.podcast-card__episode-desc {
  font-family: var(--f-sans);
  font-size: 14px;
  line-height: 1.6;
  color: var(--ink-body);
  margin: 0;
  max-width: 48ch;
}

.podcast-card__play-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--f-sans);
  font-size: 13px;
  font-weight: var(--w-semibold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent);
  text-decoration: none;
  margin-top: var(--sp-2);
  transition: gap 0.2s;
}

.podcast-card__play-btn:hover { gap: 14px; }

.podcast-card__play-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--accent);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.podcast-card__play-icon svg {
  width: 14px;
  height: 14px;
  color: var(--accent-on);
  margin-left: 2px;
}

/* Listen-on platforms */
.podcast-card__platforms {
  display: flex;
  gap: var(--sp-4);
  margin-top: var(--sp-4);
  padding-top: var(--sp-4);
  border-top: 1px solid var(--border-hairline);
  flex-wrap: wrap;
}

.podcast-card__platform {
  font-family: var(--f-sans);
  font-size: 11px;
  font-weight: var(--w-medium);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-mute);
  text-decoration: none;
  padding: 6px 14px;
  border: 1px solid var(--border-hairline);
  border-radius: var(--r-pill);
  transition: all 0.2s;
}

.podcast-card__platform:hover {
  border-color: var(--accent);
  color: var(--accent);
}

/* ============================================================ */
/* VARIANT: COMPACT, small inline card for homepage              */
/* ============================================================ */

.podcast-card__compact {
  display: flex;
  gap: var(--sp-5);
  align-items: center;
  background: var(--p-white);
  border-radius: var(--r-lg);
  padding: var(--sp-5);
  box-shadow: 0 2px 12px rgba(16,16,16,0.04);
  max-width: 680px;
}

.podcast-card__compact .podcast-card__art {
  width: 120px;
  height: 120px;
  border-radius: var(--r-lg);
  flex: 0 0 auto;
  aspect-ratio: auto;
}

.podcast-card__compact .podcast-card__details {
  padding: 0;
  gap: var(--sp-2);
}

.podcast-card__compact .podcast-card__episode-title {
  font-size: 18px;
}

@media (max-width: 500px) {
  .podcast-card__compact { flex-direction: column; align-items: stretch; }
  .podcast-card__compact .podcast-card__art { width: 100%; height: auto; aspect-ratio: 16/9; }
}
```

### podcast-card.compact

Wrapper context: `<body data-brand="tracy">`

```css
body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; }

    /* ------- Mini player (Spotify-style) ------- */
    .mini-player {
      display: grid;
      grid-template-columns: auto 1fr auto;
      gap: var(--sp-5);
      align-items: center;
      background: var(--p-aztek);
      color: var(--p-oatmeal);
      border-radius: var(--r-lg);
      padding: 14px 18px 14px 14px;
      max-width: 680px;
      box-shadow: 0 6px 24px rgba(16, 16, 16, 0.18);
    }

    .mini-player__art {
      width: 72px;
      height: 72px;
      border-radius: 8px;
      overflow: hidden;
      flex: 0 0 auto;
      background: rgba(255,255,255,0.05);
    }
    .mini-player__art img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    .mini-player__meta {
      min-width: 0;
      display: flex;
      flex-direction: column;
      gap: 4px;
    }

    .mini-player__eyebrow {
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: var(--w-medium);
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: rgba(246, 244, 241, 0.55);
      margin: 0;
    }

    .mini-player__title {
      font-family: var(--f-serif-display);
      font-weight: var(--w-regular);
      font-size: 18px;
      line-height: 1.25;
      color: var(--p-oatmeal);
      margin: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .mini-player__title em {
      font-family: var(--f-serif-italic);
      font-style: italic;
    }

    .mini-player__progress {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-top: 8px;
    }
    .mini-player__time {
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: var(--w-medium);
      letter-spacing: 0.06em;
      color: rgba(246, 244, 241, 0.55);
      font-variant-numeric: tabular-nums;
      min-width: 30px;
    }
    .mini-player__bar {
      flex: 1;
      height: 3px;
      background: rgba(246, 244, 241, 0.16);
      border-radius: 2px;
      overflow: hidden;
      position: relative;
    }
    .mini-player__bar-fill {
      position: absolute;
      top: 0; left: 0; bottom: 0;
      width: 0%;
      background: var(--p-sage);
      border-radius: 2px;
    }

    .mini-player__controls {
      display: flex;
      align-items: center;
      gap: 6px;
    }

    .mini-player__ctrl {
      width: 32px;
      height: 32px;
      border: 0;
      background: transparent;
      color: rgba(246, 244, 241, 0.6);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      padding: 0;
      border-radius: 50%;
      transition: color 0.2s, background 0.2s;
    }
    .mini-player__ctrl:hover { color: var(--p-oatmeal); background: rgba(246,244,241,0.06); }
    .mini-player__ctrl svg { width: 16px; height: 16px; }

    .mini-player__play {
      width: 44px;
      height: 44px;
      border: 0;
      border-radius: 50%;
      background: var(--p-sage);
      color: var(--p-aztek);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      padding: 0;
      transition: transform 0.18s ease, background 0.2s;
    }
    .mini-player__play:hover { transform: scale(1.06); background: #7ea088; }
    .mini-player__play svg { width: 16px; height: 16px; margin-left: 2px; }

    /* Mobile stack */
    @media (max-width: 480px) {
      .mini-player {
        grid-template-columns: auto 1fr;
        grid-template-areas:
          "art meta"
          "controls controls";
        gap: 12px;
        padding: 12px;
      }
      .mini-player__art { grid-area: art; width: 60px; height: 60px; }
      .mini-player__meta { grid-area: meta; }
      .mini-player__controls {
        grid-area: controls;
        justify-content: space-between;
        padding-top: 4px;
        border-top: 1px solid rgba(246,244,241,0.1);
      }
      .mini-player__title { font-size: 16px; white-space: normal; }
    }

    /* Wrapper keeps page padding consistent with component system */
    .podcast-card__compact-wrap { padding: var(--sp-7) var(--sp-7); }
```

```html
<section class="podcast-card" data-brand="tracy">
    <div class="podcast-card__inner podcast-card__compact-wrap">
      <!-- Spotify-style mini player. Static UI, not wired to real audio. -->
      <article class="mini-player" role="group" aria-label="Podcast mini player">
        <div class="mini-player__art">
          <img src="https://mumswithhustle.com/wp-content/uploads/powerpress/MWH_Podcast_Cover_Art_v5-6520.jpg" alt="Mums With Hustle Podcast cover." />
        </div>
        <div class="mini-player__meta">
          <p class="mini-player__eyebrow">Latest episode · Tracy Harris</p>
          <h3 class="mini-player__title">17 Years of <em>Marriage</em></h3>
          <div class="mini-player__progress" aria-hidden="true">
            <span class="mini-player__time">00:00</span>
            <div class="mini-player__bar"><div class="mini-player__bar-fill" style="width: 18%"></div></div>
            <span class="mini-player__time">52:40</span>
          </div>
        </div>
        <div class="mini-player__controls">
          <button class="mini-player__ctrl" type="button" aria-label="Previous episode">
            <svg viewBox="0 0 24 24" fill="currentColor"><path d="M6 6h2v12H6zM9.5 12l8.5 6V6z"/></svg>
          </button>
          <button class="mini-player__play" type="button" aria-label="Play latest episode">
            <svg viewBox="0 0 24 24" fill="currentColor"><polygon points="6 3 20 12 6 21 6 3"/></svg>
          </button>
          <button class="mini-player__ctrl" type="button" aria-label="Next episode">
            <svg viewBox="0 0 24 24" fill="currentColor"><path d="M16 6h2v12h-2zM6 6v12l8.5-6z"/></svg>
          </button>
        </div>
      </article>
    </div>
  </section>
```

### podcast-card.featured

Wrapper context: `<body data-brand="tracy">`

```html
<section class="podcast-card podcast-card--elevated" data-brand="tracy">
    <div class="podcast-card__inner">
      <header class="podcast-card__header">
        <p class="podcast-card__eyebrow">The podcast</p>
        <h2 class="podcast-card__title">500+ episodes of real <em>talk</em>.</h2>
      </header>

      <div class="podcast-card__featured">
        <div class="podcast-card__art">
          <img src="https://mumswithhustle.com/wp-content/uploads/powerpress/MWH_Podcast_Cover_Art_v5-6520.jpg" alt="Mums With Hustle Podcast cover art." />
        </div>
        <div class="podcast-card__details">
          <p class="podcast-card__episode-label">Latest episode · Feb 2025</p>
          <h3 class="podcast-card__episode-title">17 Years of Marriage, 24 Years Together, the <em>real talk</em> episode with Karl and Tracy.</h3>
          <p class="podcast-card__episode-desc">The conversation most couples avoid. Marriage, business, raising boys between Australia and Bali, and the honest version of how we keep it all together.</p>
          <a href="#" class="podcast-card__play-btn">
            <span class="podcast-card__play-icon">
              <svg viewBox="0 0 24 24" fill="currentColor"><polygon points="6 3 20 12 6 21 6 3"/></svg>
            </span>
            Listen now
          </a>
          <div class="podcast-card__platforms">
            <a href="#" class="podcast-card__platform">Apple Podcasts</a>
            <a href="#" class="podcast-card__platform">Spotify</a>
            <a href="#" class="podcast-card__platform">YouTube</a>
            <a href="#" class="podcast-card__platform">RSS</a>
          </div>
        </div>
      </div>
    </div>
  </section>
```

### podcast-card.showcase

```css
body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; }
    .brand-label {
      position: sticky; top: 0; z-index: 10;
      background: var(--p-charcoal); color: var(--p-oatmeal);
      font-family: var(--f-sans); font-size: 11px; font-weight: 500;
      letter-spacing: 0.2em; text-transform: uppercase;
      padding: 10px 24px;
      display: flex; justify-content: space-between;
    }
```

```html
<!-- FEATURED -->
  <div class="brand-label" id="podcast-featured"><span>FEATURED, large card, art left, details right</span><code>class="podcast-card__featured"</code></div>
  <section id="podcast-featured-section" class="podcast-card podcast-card--elevated" data-brand="tracy">
    <div class="podcast-card__inner">
      <header class="podcast-card__header">
        <p class="podcast-card__eyebrow">The podcast</p>
        <h2 class="podcast-card__title">500+ episodes of real <em>talk</em>.</h2>
      </header>

      <div class="podcast-card__featured">
        <div class="podcast-card__art">
          <img src="https://tracyharris.co/wp-content/uploads/2020/09/Feature-Image-Podcast.jpg" alt="Mums With Hustle Podcast cover art." />
        </div>
        <div class="podcast-card__details">
          <p class="podcast-card__episode-label">Latest episode</p>
          <h3 class="podcast-card__episode-title">[EPISODE TITLE], The one thing that changed <em>everything</em></h3>
          <p class="podcast-card__episode-desc">[EPISODE DESCRIPTION PLACEHOLDER] Short, honest, actionable. The way Tracy does everything.</p>
          <a href="#" class="podcast-card__play-btn">
            <span class="podcast-card__play-icon">
              <svg viewBox="0 0 24 24" fill="currentColor"><polygon points="6 3 20 12 6 21 6 3"/></svg>
            </span>
            Listen now
          </a>
          <div class="podcast-card__platforms">
            <a href="#" class="podcast-card__platform">Apple Podcasts</a>
            <a href="#" class="podcast-card__platform">Spotify</a>
            <a href="#" class="podcast-card__platform">YouTube</a>
            <a href="#" class="podcast-card__platform">RSS</a>
          </div>
        </div>
      </div>
    </div>
  </section>

  <!-- COMPACT -->
  <div class="brand-label" id="podcast-compact"><span>COMPACT, small inline card for homepage</span><code>class="podcast-card__compact"</code></div>
  <section id="podcast-compact-section" class="podcast-card" data-brand="tracy">
    <div class="podcast-card__inner">
      <div class="podcast-card__compact">
        <div class="podcast-card__art">
          <img src="https://tracyharris.co/wp-content/uploads/2020/09/Feature-Image-Podcast.jpg" alt="Podcast cover." />
        </div>
        <div class="podcast-card__details">
          <p class="podcast-card__episode-label">Latest episode</p>
          <h3 class="podcast-card__episode-title">[EPISODE TITLE]</h3>
          <a href="#" class="podcast-card__play-btn">
            <span class="podcast-card__play-icon">
              <svg viewBox="0 0 24 24" fill="currentColor"><polygon points="6 3 20 12 6 21 6 3"/></svg>
            </span>
            Listen now
          </a>
        </div>
      </div>
    </div>
  </section>
```

---

## post-grid · 3 variants

### post-grid.editorial

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body { font-family: var(--f-sans); background: var(--p-oatmeal); color: var(--p-charcoal); -webkit-font-smoothing: antialiased; }

    .section { padding: clamp(56px, 7vw, 104px) clamp(20px, 5vw, 64px); background: var(--p-oatmeal); }
    .pg__wrap { max-width: 1200px; margin: 0 auto; }

    .pg__header { margin: 0 0 56px; display: flex; align-items: end; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
    .pg__header-copy { max-width: 56ch; }
    .pg__eyebrow { font-family: var(--f-script); font-size: clamp(26px, 3vw, 36px); color: var(--p-sage); line-height: 1; margin: 0 0 12px; }
    .pg__title { font-family: var(--f-serif-display); font-weight: 400; font-size: clamp(34px, 4.4vw, 52px); line-height: 1.06; letter-spacing: -0.015em; color: var(--p-charcoal); margin: 0; }
    .pg__title em { font-family: var(--f-serif-italic); font-style: italic; }
    .pg__view-all { font-family: var(--f-sans); font-size: 12px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--p-aztek); text-decoration: none; border-bottom: 1px solid var(--p-aztek); padding-bottom: 3px; transition: gap .2s; display: inline-flex; align-items: center; gap: 8px; }
    .pg__view-all:hover { gap: 14px; }
    .pg__view-all svg { width: 12px; height: 12px; }

    .post { display: block; text-decoration: none; color: inherit; transition: transform .25s ease; }
    .post:hover { transform: translateY(-3px); }
    .post:hover .post__img { transform: scale(1.03); }
    .post__thumb { aspect-ratio: 16 / 10; border-radius: 10px; overflow: hidden; background: var(--p-cream); position: relative; margin-bottom: 18px; }
    .post__img { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform .4s ease; }
    .post__img--1 { background-image: linear-gradient(135deg, var(--p-sage), var(--p-aztek)); }
    .post__img--2 { background-image: linear-gradient(135deg, var(--p-fresh-peach), var(--p-fresh-orange)); }
    .post__img--3 { background-image: linear-gradient(135deg, var(--p-gold-mid), var(--p-gold-dark)); }
    .post__img--4 { background-image: linear-gradient(135deg, var(--p-cream), var(--p-sage)); }
    .post__cat { display: inline-block; font-family: var(--f-sans); font-size: 10px; font-weight: 700; letter-spacing: 0.24em; text-transform: uppercase; color: var(--p-aztek); margin: 0 0 10px; }
    .post__h { font-family: var(--f-serif-display); font-weight: 400; line-height: 1.15; letter-spacing: -0.01em; color: var(--p-charcoal); margin: 0 0 12px; }
    .post__h em { font-family: var(--f-serif-italic); font-style: italic; }
    .post__meta { font-family: var(--f-sans); font-size: 12px; color: var(--p-mute); letter-spacing: 0.05em; margin: 0; }
    .post__meta span + span::before { content: "·"; margin: 0 8px; opacity: 0.6; }

    .pg-editorial .pg__featured {
      margin-bottom: 64px;
      display: grid; grid-template-columns: 1.3fr 1fr;
      gap: clamp(32px, 5vw, 64px);
      align-items: center; padding: 0;
    }
    .pg-editorial .pg__featured .post__thumb { aspect-ratio: 4 / 3; margin-bottom: 0; }
    .pg-editorial .pg__featured .post__h { font-size: clamp(30px, 3.6vw, 44px); }
    .pg-editorial .pg__featured .post__excerpt { font-size: 16px; line-height: 1.65; color: var(--p-ink); margin: 0 0 18px; max-width: 48ch; }
    .pg-editorial .pg__row { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(24px, 3vw, 40px); }
    .pg-editorial .pg__row .post__h { font-size: clamp(20px, 1.8vw, 24px); }

    @media (max-width: 900px) {
      .pg-editorial .pg__featured { grid-template-columns: 1fr; gap: 28px; }
      .pg-editorial .pg__row { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 560px) { .pg-editorial .pg__row { grid-template-columns: 1fr; } }
    @media (max-width: 430px) { .section { padding: 48px 18px; } }
```

```html
<section class="section pg-editorial" aria-label="Post grid, editorial">
    <div class="pg__wrap">
      <div class="pg__header">
        <div class="pg__header-copy">
          <p class="pg__eyebrow">The blog.</p>
          <h2 class="pg__title">Stories, strategy, and honest behind-the-<em>scenes</em>.</h2>
        </div>
        <a href="/blog/all" class="pg__view-all">
          View all posts
          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
        </a>
      </div>

      <a href="/blog/peaceful-scale" class="post pg__featured">
        <div class="post__thumb"><div class="post__img post__img--1"></div></div>
        <div>
          <span class="post__cat">Strategy</span>
          <h3 class="post__h">What nobody tells you about <em>peaceful scale</em>.</h3>
          <p class="post__excerpt">Scaling doesn't have to mean burning out. After seven years of running FFM, here's what actually works when you want more revenue and more life at the same time.</p>
          <p class="post__meta"><span>Apr 14, 2026</span><span>8 min read</span></p>
        </div>
      </a>

      <div class="pg__row">
        <a href="/blog/offer-stack-audit" class="post">
          <div class="post__thumb"><div class="post__img post__img--2"></div></div>
          <span class="post__cat">Offers</span>
          <h3 class="post__h">The offer audit I run on <em>every</em> mastermind client.</h3>
          <p class="post__meta"><span>Apr 9, 2026</span><span>6 min read</span></p>
        </a>

        <a href="/blog/million-dollar-message" class="post">
          <div class="post__thumb"><div class="post__img post__img--3"></div></div>
          <span class="post__cat">Messaging</span>
          <h3 class="post__h">Five phrases that make your <em>Million Dollar Message™</em> land.</h3>
          <p class="post__meta"><span>Apr 2, 2026</span><span>5 min read</span></p>
        </a>

        <a href="/blog/freedom-friday" class="post">
          <div class="post__thumb"><div class="post__img post__img--4"></div></div>
          <span class="post__cat">Rhythm</span>
          <h3 class="post__h">Why I take every <em>Friday</em> off, even on launch weeks.</h3>
          <p class="post__meta"><span>Mar 26, 2026</span><span>4 min read</span></p>
        </a>
      </div>
    </div>
  </section>
```

### post-grid.masonry

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body { font-family: var(--f-sans); background: var(--p-oatmeal); color: var(--p-charcoal); -webkit-font-smoothing: antialiased; }

    .section { padding: clamp(56px, 7vw, 104px) clamp(20px, 5vw, 64px); background: var(--p-oatmeal); }
    .pg__wrap { max-width: 1200px; margin: 0 auto; }

    .pg__header { margin: 0 0 56px; display: flex; align-items: end; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
    .pg__header-copy { max-width: 56ch; }
    .pg__eyebrow { font-family: var(--f-script); font-size: clamp(26px, 3vw, 36px); color: var(--p-sage); line-height: 1; margin: 0 0 12px; }
    .pg__title { font-family: var(--f-serif-display); font-weight: 400; font-size: clamp(34px, 4.4vw, 52px); line-height: 1.06; letter-spacing: -0.015em; color: var(--p-charcoal); margin: 0; }
    .pg__title em { font-family: var(--f-serif-italic); font-style: italic; }
    .pg__view-all { font-family: var(--f-sans); font-size: 12px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--p-aztek); text-decoration: none; border-bottom: 1px solid var(--p-aztek); padding-bottom: 3px; transition: gap .2s; display: inline-flex; align-items: center; gap: 8px; }
    .pg__view-all:hover { gap: 14px; }
    .pg__view-all svg { width: 12px; height: 12px; }

    .post { display: block; text-decoration: none; color: inherit; transition: transform .25s ease; }
    .post:hover { transform: translateY(-3px); }
    .post:hover .post__img { transform: scale(1.03); }
    .post__thumb { aspect-ratio: 16 / 10; border-radius: 10px; overflow: hidden; background: var(--p-cream); position: relative; margin-bottom: 18px; }
    .post__img { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform .4s ease; }
    .post__img--1 { background-image: linear-gradient(135deg, var(--p-sage), var(--p-aztek)); }
    .post__img--2 { background-image: linear-gradient(135deg, var(--p-fresh-peach), var(--p-fresh-orange)); }
    .post__img--3 { background-image: linear-gradient(135deg, var(--p-gold-mid), var(--p-gold-dark)); }
    .post__img--4 { background-image: linear-gradient(135deg, var(--p-cream), var(--p-sage)); }
    .post__img--5 { background-image: linear-gradient(135deg, var(--p-aztek), var(--p-charcoal)); }
    .post__img--6 { background-image: linear-gradient(135deg, var(--p-fresh-yellow), var(--p-fresh-peach)); }
    .post__cat { display: inline-block; font-family: var(--f-sans); font-size: 10px; font-weight: 700; letter-spacing: 0.24em; text-transform: uppercase; color: var(--p-aztek); margin: 0 0 10px; }
    .post__h { font-family: var(--f-serif-display); font-weight: 400; line-height: 1.15; letter-spacing: -0.01em; color: var(--p-charcoal); margin: 0 0 12px; }
    .post__h em { font-family: var(--f-serif-italic); font-style: italic; }
    .post__meta { font-family: var(--f-sans); font-size: 12px; color: var(--p-mute); letter-spacing: 0.05em; margin: 0; }
    .post__meta span + span::before { content: "·"; margin: 0 8px; opacity: 0.6; }

    .pg-masonry .pg__masonry { column-count: 3; column-gap: clamp(20px, 2.5vw, 32px); }
    .pg-masonry .post { display: inline-block; width: 100%; margin-bottom: clamp(28px, 3vw, 40px); break-inside: avoid; }
    .pg-masonry .post--tall .post__thumb { aspect-ratio: 3 / 4; }
    .pg-masonry .post--wide .post__thumb { aspect-ratio: 4 / 3; }
    .pg-masonry .post--square .post__thumb { aspect-ratio: 1 / 1; }
    .pg-masonry .post__h { font-size: clamp(19px, 1.6vw, 22px); }

    @media (max-width: 900px) { .pg-masonry .pg__masonry { column-count: 2; } }
    @media (max-width: 560px) { .pg-masonry .pg__masonry { column-count: 1; } }
    @media (max-width: 430px) { .section { padding: 48px 18px; } }
```

```html
<section class="section pg-masonry" aria-label="Post grid, masonry">
    <div class="pg__wrap">
      <div class="pg__header">
        <div class="pg__header-copy">
          <p class="pg__eyebrow">From the archive.</p>
          <h2 class="pg__title">Twelve years of <em>building</em>, all in one place.</h2>
        </div>
        <a href="/blog/all" class="pg__view-all">
          View all posts
          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
        </a>
      </div>

      <div class="pg__masonry">
        <a href="/blog/1" class="post post--tall">
          <div class="post__thumb"><div class="post__img post__img--1"></div></div>
          <span class="post__cat">Strategy</span>
          <h3 class="post__h">The quarterly <em>review</em> I do every season.</h3>
          <p class="post__meta"><span>Apr 14, 2026</span><span>7 min</span></p>
        </a>

        <a href="/blog/2" class="post post--square">
          <div class="post__thumb"><div class="post__img post__img--6"></div></div>
          <span class="post__cat">Motherhood</span>
          <h3 class="post__h">Raising boys while building a business.</h3>
          <p class="post__meta"><span>Apr 9, 2026</span><span>5 min</span></p>
        </a>

        <a href="/blog/3" class="post post--wide">
          <div class="post__thumb"><div class="post__img post__img--3"></div></div>
          <span class="post__cat">Launches</span>
          <h3 class="post__h">The 300/100/10 <em>workshop math</em> that pays off.</h3>
          <p class="post__meta"><span>Apr 2, 2026</span><span>6 min</span></p>
        </a>

        <a href="/blog/4" class="post post--tall">
          <div class="post__thumb"><div class="post__img post__img--2"></div></div>
          <span class="post__cat">Messaging</span>
          <h3 class="post__h">Writing like <em>you</em>, not like everyone else.</h3>
          <p class="post__meta"><span>Mar 26, 2026</span><span>4 min</span></p>
        </a>

        <a href="/blog/5" class="post post--wide">
          <div class="post__thumb"><div class="post__img post__img--5"></div></div>
          <span class="post__cat">Leadership</span>
          <h3 class="post__h">What I learned from my <em>first</em> six-figure year.</h3>
          <p class="post__meta"><span>Mar 19, 2026</span><span>8 min</span></p>
        </a>

        <a href="/blog/6" class="post post--square">
          <div class="post__thumb"><div class="post__img post__img--4"></div></div>
          <span class="post__cat">Community</span>
          <h3 class="post__h">Why I stopped chasing followers.</h3>
          <p class="post__meta"><span>Mar 12, 2026</span><span>5 min</span></p>
        </a>
      </div>
    </div>
  </section>
```

### post-grid.showcase

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }

    .section {
      padding: clamp(56px, 7vw, 104px) clamp(20px, 5vw, 64px);
      background: var(--p-oatmeal);
    }
    .pg__wrap { max-width: 1200px; margin: 0 auto; }

    .pg__header {
      margin: 0 0 56px;
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 32px;
      flex-wrap: wrap;
    }
    .pg__header-copy { max-width: 56ch; }
    .pg__eyebrow {
      font-family: var(--f-script);
      font-size: clamp(26px, 3vw, 36px);
      color: var(--p-sage);
      line-height: 1;
      margin: 0 0 12px;
    }
    .pg__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(34px, 4.4vw, 52px);
      line-height: 1.06;
      letter-spacing: -0.015em;
      color: var(--p-charcoal);
      margin: 0;
    }
    .pg__title em { font-family: var(--f-serif-italic); font-style: italic; }
    .pg__view-all {
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--p-aztek);
      text-decoration: none;
      border-bottom: 1px solid var(--p-aztek);
      padding-bottom: 3px;
      transition: gap .2s;
      display: inline-flex;
      align-items: center;
      gap: 8px;
    }
    .pg__view-all:hover { gap: 14px; }
    .pg__view-all svg { width: 12px; height: 12px; }

    /* -------- CARD BASE -------- */
    .post {
      display: block;
      text-decoration: none;
      color: inherit;
      transition: transform .25s ease;
    }
    .post:hover { transform: translateY(-3px); }
    .post:hover .post__img {
      transform: scale(1.03);
    }
    .post__thumb {
      aspect-ratio: 16 / 10;
      border-radius: 10px;
      overflow: hidden;
      background: var(--p-cream);
      position: relative;
      margin-bottom: 18px;
    }
    .post__img {
      position: absolute;
      inset: 0;
      background-size: cover;
      background-position: center;
      transition: transform .4s ease;
    }
    .post__img--1 { background-image: linear-gradient(135deg, var(--p-sage), var(--p-aztek)); }
    .post__img--2 { background-image: linear-gradient(135deg, var(--p-fresh-peach), var(--p-fresh-orange)); }
    .post__img--3 { background-image: linear-gradient(135deg, var(--p-gold-mid), var(--p-gold-dark)); }
    .post__img--4 { background-image: linear-gradient(135deg, var(--p-cream), var(--p-sage)); }
    .post__img--5 { background-image: linear-gradient(135deg, var(--p-aztek), var(--p-charcoal)); }
    .post__img--6 { background-image: linear-gradient(135deg, var(--p-fresh-yellow), var(--p-fresh-peach)); }
    .post__img--7 { background-image: linear-gradient(135deg, var(--p-oatmeal), var(--p-cream)); }

    .post__cat {
      display: inline-block;
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.24em;
      text-transform: uppercase;
      color: var(--p-aztek);
      margin: 0 0 10px;
    }
    .post__h {
      font-family: var(--f-serif-display);
      font-weight: 400;
      line-height: 1.15;
      letter-spacing: -0.01em;
      color: var(--p-charcoal);
      margin: 0 0 12px;
    }
    .post__h em { font-family: var(--f-serif-italic); font-style: italic; }
    .post__meta {
      font-family: var(--f-sans);
      font-size: 12px;
      color: var(--p-mute);
      letter-spacing: 0.05em;
      margin: 0;
    }
    .post__meta span + span::before { content: "·"; margin: 0 8px; opacity: 0.6; }

    /* -------- EDITORIAL VARIANT: featured hero + 3 below -------- */
    .pg-editorial .pg__featured {
      margin-bottom: 64px;
      display: grid;
      grid-template-columns: 1.3fr 1fr;
      gap: clamp(32px, 5vw, 64px);
      align-items: center;
      padding: 0;
    }
    .pg-editorial .pg__featured .post__thumb {
      aspect-ratio: 4 / 3;
      margin-bottom: 0;
    }
    .pg-editorial .pg__featured .post__h {
      font-size: clamp(30px, 3.6vw, 44px);
    }
    .pg-editorial .pg__featured .post__excerpt {
      font-size: 16px;
      line-height: 1.65;
      color: var(--p-ink);
      margin: 0 0 18px;
      max-width: 48ch;
    }
    .pg-editorial .pg__row {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: clamp(24px, 3vw, 40px);
    }
    .pg-editorial .pg__row .post__h {
      font-size: clamp(20px, 1.8vw, 24px);
    }

    /* -------- MASONRY VARIANT -------- */
    .pg-masonry .pg__masonry {
      column-count: 3;
      column-gap: clamp(20px, 2.5vw, 32px);
    }
    .pg-masonry .post {
      display: inline-block;
      width: 100%;
      margin-bottom: clamp(28px, 3vw, 40px);
      break-inside: avoid;
    }
    .pg-masonry .post--tall .post__thumb { aspect-ratio: 3 / 4; }
    .pg-masonry .post--wide .post__thumb { aspect-ratio: 4 / 3; }
    .pg-masonry .post--square .post__thumb { aspect-ratio: 1 / 1; }
    .pg-masonry .post__h {
      font-size: clamp(19px, 1.6vw, 22px);
    }

    /* -------- SHOWCASE LABELS -------- */
    .showcase-label {
      max-width: 1200px;
      margin: 0 auto 14px;
      padding: 0 clamp(20px, 5vw, 64px);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--p-mute);
    }

    @media (max-width: 900px) {
      .pg-editorial .pg__featured { grid-template-columns: 1fr; gap: 28px; }
      .pg-editorial .pg__row { grid-template-columns: repeat(2, 1fr); }
      .pg-masonry .pg__masonry { column-count: 2; }
    }
    @media (max-width: 560px) {
      .pg-editorial .pg__row { grid-template-columns: 1fr; }
      .pg-masonry .pg__masonry { column-count: 1; }
    }
    @media (max-width: 430px) {
      .section { padding: 48px 18px; }
    }
```

```html
<p class="showcase-label" style="margin-top: 48px;">Variant · editorial</p>
  <section class="section pg-editorial anchor" id="editorial" aria-label="Post grid, editorial">
    <div class="pg__wrap">

      <div class="pg__header">
        <div class="pg__header-copy">
          <p class="pg__eyebrow">The blog.</p>
          <h2 class="pg__title">Stories, strategy, and honest behind-the-<em>scenes</em>.</h2>
        </div>
        <a href="/blog/all" class="pg__view-all">
          View all posts
          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
        </a>
      </div>

      <!-- FEATURED POST -->
      <a href="/blog/peaceful-scale" class="post pg__featured">
        <div class="post__thumb"><div class="post__img post__img--1"></div></div>
        <div>
          <span class="post__cat">Strategy</span>
          <h3 class="post__h">What nobody tells you about <em>peaceful scale</em>.</h3>
          <p class="post__excerpt">Scaling doesn't have to mean burning out. After seven years of running FFM, here's what actually works when you want more revenue and more life at the same time.</p>
          <p class="post__meta"><span>Apr 14, 2026</span><span>8 min read</span></p>
        </div>
      </a>

      <!-- THREE RECENT -->
      <div class="pg__row">
        <a href="/blog/offer-stack-audit" class="post">
          <div class="post__thumb"><div class="post__img post__img--2"></div></div>
          <span class="post__cat">Offers</span>
          <h3 class="post__h">The offer audit I run on <em>every</em> mastermind client.</h3>
          <p class="post__meta"><span>Apr 9, 2026</span><span>6 min read</span></p>
        </a>

        <a href="/blog/million-dollar-message" class="post">
          <div class="post__thumb"><div class="post__img post__img--3"></div></div>
          <span class="post__cat">Messaging</span>
          <h3 class="post__h">Five phrases that make your <em>Million Dollar Message™</em> land.</h3>
          <p class="post__meta"><span>Apr 2, 2026</span><span>5 min read</span></p>
        </a>

        <a href="/blog/freedom-friday" class="post">
          <div class="post__thumb"><div class="post__img post__img--4"></div></div>
          <span class="post__cat">Rhythm</span>
          <h3 class="post__h">Why I take every <em>Friday</em> off, even on launch weeks.</h3>
          <p class="post__meta"><span>Mar 26, 2026</span><span>4 min read</span></p>
        </a>
      </div>

    </div>
  </section>

  <p class="showcase-label" style="margin-top: 48px;">Variant · masonry</p>
  <section class="section pg-masonry anchor" id="masonry" aria-label="Post grid, masonry">
    <div class="pg__wrap">

      <div class="pg__header">
        <div class="pg__header-copy">
          <p class="pg__eyebrow">From the archive.</p>
          <h2 class="pg__title">Twelve years of <em>building</em>, all in one place.</h2>
        </div>
        <a href="/blog/all" class="pg__view-all">
          View all posts
          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
        </a>
      </div>

      <div class="pg__masonry">
        <a href="/blog/1" class="post post--tall">
          <div class="post__thumb"><div class="post__img post__img--1"></div></div>
          <span class="post__cat">Strategy</span>
          <h3 class="post__h">The quarterly <em>review</em> I do every season.</h3>
          <p class="post__meta"><span>Apr 14, 2026</span><span>7 min</span></p>
        </a>

        <a href="/blog/2" class="post post--square">
          <div class="post__thumb"><div class="post__img post__img--6"></div></div>
          <span class="post__cat">Motherhood</span>
          <h3 class="post__h">Raising boys while building a business.</h3>
          <p class="post__meta"><span>Apr 9, 2026</span><span>5 min</span></p>
        </a>

        <a href="/blog/3" class="post post--wide">
          <div class="post__thumb"><div class="post__img post__img--3"></div></div>
          <span class="post__cat">Launches</span>
          <h3 class="post__h">The 300/100/10 <em>workshop math</em> that pays off.</h3>
          <p class="post__meta"><span>Apr 2, 2026</span><span>6 min</span></p>
        </a>

        <a href="/blog/4" class="post post--tall">
          <div class="post__thumb"><div class="post__img post__img--2"></div></div>
          <span class="post__cat">Messaging</span>
          <h3 class="post__h">Writing like <em>you</em>, not like everyone else.</h3>
          <p class="post__meta"><span>Mar 26, 2026</span><span>4 min</span></p>
        </a>

        <a href="/blog/5" class="post post--wide">
          <div class="post__thumb"><div class="post__img post__img--5"></div></div>
          <span class="post__cat">Leadership</span>
          <h3 class="post__h">What I learned from my <em>first</em> six-figure year.</h3>
          <p class="post__meta"><span>Mar 19, 2026</span><span>8 min</span></p>
        </a>

        <a href="/blog/6" class="post post--square">
          <div class="post__thumb"><div class="post__img post__img--4"></div></div>
          <span class="post__cat">Community</span>
          <h3 class="post__h">Why I stopped chasing followers.</h3>
          <p class="post__meta"><span>Mar 12, 2026</span><span>5 min</span></p>
        </a>
      </div>

    </div>
  </section>
```

---

## pricing · 7 variants

### Shared CSS · `components/pricing/pricing.css`

```css
/* Pricing, offer stack for FFB and FFM product pages */

.pricing {
  background: var(--surface-canvas);
  padding: var(--sp-9) var(--sp-7);
}

.pricing--elevated {
  background: var(--surface-elevated);
}

.pricing__inner {
  max-width: 1100px;
  margin: 0 auto;
}

.pricing__header {
  text-align: center;
  margin: 0 0 var(--sp-8) 0;
}

.pricing__eyebrow {
  font-family: var(--f-sans);
  font-size: 11px;
  font-weight: var(--w-medium);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin: 0 0 var(--sp-3) 0;
}

.pricing__title {
  font-family: var(--f-serif-display);
  font-weight: var(--w-regular);
  font-size: clamp(36px, 4.5vw, 56px);
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--ink-heading);
  margin: 0 0 var(--sp-4) 0;
}

.pricing__title em { font-family: var(--f-serif-italic); font-style: italic; }

.pricing__sub {
  font-family: var(--f-sans);
  font-size: 16px;
  line-height: 1.65;
  color: var(--ink-body);
  margin: 0 auto;
  max-width: 52ch;
}

/* ============================================================ */
/* VARIANT: SIDE-BY-SIDE, two payment options                   */
/* ============================================================ */

.pricing__options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-5);
  max-width: 820px;
  margin: 0 auto;
}

@media (max-width: 700px) { .pricing__options { grid-template-columns: 1fr; } }

.pricing__card {
  background: var(--p-white);
  border: 1px solid rgba(16,16,16,0.06);
  border-radius: var(--r-lg);
  padding: var(--sp-7) var(--sp-6);
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
  box-shadow: 0 2px 12px rgba(16,16,16,0.04);
  position: relative;
}

.pricing__card--featured {
  border-color: var(--accent);
  box-shadow: 0 8px 32px rgba(16,16,16,0.08);
}

.pricing__badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--f-sans);
  font-size: 10px;
  font-weight: var(--w-semibold);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  background: var(--accent);
  color: var(--accent-on);
  padding: 5px 16px;
  border-radius: var(--r-pill);
  white-space: nowrap;
}

.pricing__plan-name {
  font-family: var(--f-sans);
  font-size: 13px;
  font-weight: var(--w-medium);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin: 0;
}

.pricing__amount {
  font-family: var(--f-serif-display);
  font-weight: var(--w-regular);
  font-size: clamp(36px, 4vw, 48px);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--ink-heading);
  margin: 0;
}

.pricing__amount-detail {
  font-family: var(--f-sans);
  font-size: 14px;
  color: var(--ink-mute);
  margin: 0;
}

.pricing__divider {
  border: none;
  border-top: 1px solid var(--border-hairline);
  margin: 0;
}

.pricing__features {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  flex: 1;
}

.pricing__features li {
  font-family: var(--f-sans);
  font-size: 14px;
  line-height: 1.5;
  color: var(--ink-body);
  padding-left: 24px;
  position: relative;
}

.pricing__features li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 6px;
  width: 12px;
  height: 6px;
  border-left: 1.5px solid var(--accent);
  border-bottom: 1.5px solid var(--accent);
  transform: rotate(-45deg);
}

.pricing__cta {
  display: block;
  text-align: center;
  font-family: var(--f-sans);
  font-size: 13px;
  font-weight: var(--w-semibold);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 16px 24px;
  border-radius: var(--r-md);
  transition: all 0.2s;
  margin-top: auto;
}

.pricing__cta--primary {
  background: var(--accent);
  color: var(--accent-on);
}

.pricing__cta--primary:hover { opacity: 0.9; transform: translateY(-1px); }

.pricing__cta--secondary {
  background: transparent;
  color: var(--accent);
  border: 1px solid var(--border-hairline);
}

.pricing__cta--secondary:hover { border-color: var(--accent); }

/* ============================================================ */
/* VARIANT: SINGLE, one card with all options listed            */
/* ============================================================ */

.pricing__single {
  max-width: 580px;
  margin: 0 auto;
}

.pricing__single .pricing__card {
  text-align: center;
  align-items: center;
}

.pricing__single .pricing__features {
  text-align: left;
  align-self: stretch;
}

.pricing__payment-options {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  width: 100%;
}

.pricing__payment-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: var(--sp-3) 0;
  border-bottom: 1px solid var(--border-hairline);
}

.pricing__payment-row:last-child { border-bottom: none; }

.pricing__payment-label {
  font-family: var(--f-sans);
  font-size: 14px;
  color: var(--ink-body);
}

.pricing__payment-value {
  font-family: var(--f-sans);
  font-size: 14px;
  font-weight: var(--w-semibold);
  color: var(--ink-heading);
}

.pricing__payment-save {
  font-size: 11px;
  font-weight: var(--w-medium);
  color: var(--accent);
  margin-left: 8px;
}

/* ============================================================ */
/* VARIANT: DARK, for FFM premium positioning                   */
/* ============================================================ */

.pricing--dark {
  background: var(--surface-inverse);
}

.pricing--dark .pricing__eyebrow { color: rgba(255,255,255,0.5); }
.pricing--dark .pricing__title { color: var(--p-white); }
.pricing--dark .pricing__sub { color: rgba(255,255,255,0.7); }

.pricing--dark .pricing__card {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.1);
  box-shadow: none;
}

.pricing--dark .pricing__plan-name { color: rgba(255,255,255,0.5); }
.pricing--dark .pricing__amount { color: var(--p-white); }
.pricing--dark .pricing__amount-detail { color: rgba(255,255,255,0.5); }
.pricing--dark .pricing__divider { border-color: rgba(255,255,255,0.1); }
.pricing--dark .pricing__features li { color: rgba(255,255,255,0.8); }
.pricing--dark .pricing__features li::before { border-color: var(--p-gold-mid); }
.pricing--dark .pricing__payment-label { color: rgba(255,255,255,0.7); }
.pricing--dark .pricing__payment-value { color: var(--p-white); }

.pricing--dark .pricing__cta--primary {
  background: var(--p-gold-mid);
  color: var(--p-charcoal);
}

.pricing--dark .pricing__cta--secondary {
  color: var(--p-white);
  border-color: rgba(255,255,255,0.2);
}

.pricing--dark .pricing__badge {
  background: var(--p-gold-mid);
  color: var(--p-charcoal);
}
```

### pricing.compact-single-polished

Wrapper context: `<body data-brand="tracy">`

```css
:root { --ease-out-craft: cubic-bezier(0.23, 1, 0.32, 1); }
    body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

    .pricing { position: relative; overflow: hidden; isolation: isolate; }
    .pricing::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 55% 45% at 50% 40%,
        rgba(110, 142, 119, 0.08) 0%,
        rgba(110, 142, 119, 0.0) 70%);
      pointer-events: none;
      z-index: 0;
    }
    .pricing__inner { position: relative; z-index: 1; }

    .pricing__eyebrow,
    .pricing__title {
      opacity: 0;
      transform: translateY(12px);
      animation: prcRise 900ms var(--ease-out-craft) forwards;
    }
    .pricing__eyebrow { animation-delay: 140ms; }
    .pricing__title   { animation-delay: 280ms; }

    .pricing__card {
      opacity: 0;
      transform: translateY(18px);
      animation: prcCard 1000ms var(--ease-out-craft) 460ms forwards;
      transition:
        transform 320ms var(--ease-out-craft),
        box-shadow 320ms var(--ease-out-craft);
    }
    @media (hover: hover) and (pointer: fine) {
      .pricing__card:hover {
        transform: translateY(-3px);
        box-shadow: 0 24px 48px -20px rgba(30, 55, 53, 0.25);
      }
    }

    @keyframes prcRise {
      from { opacity: 0; transform: translateY(12px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }
    @keyframes prcCard {
      from { opacity: 0; transform: translateY(18px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .pricing__title { text-wrap: balance; }

    .pricing__cta {
      transition:
        background-color 200ms var(--ease-out-craft),
        box-shadow 220ms var(--ease-out-craft),
        transform 120ms var(--ease-out-craft);
    }
    .pricing__cta--primary {
      box-shadow: 0 2px 10px -6px rgba(30, 55, 53, 0.35);
    }
    .pricing__cta--primary:hover {
      box-shadow: 0 4px 14px -6px rgba(30, 55, 53, 0.45);
    }
    .pricing__cta--primary:active { transform: scale(0.99); }
    .pricing__cta--primary:focus-visible {
      outline: 2px solid var(--p-aztek);
      outline-offset: 3px;
    }

    @media (prefers-reduced-motion: reduce) {
      .pricing__eyebrow,
      .pricing__title,
      .pricing__card {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
    }
```

```html
<section class="pricing" data-brand="tracy" aria-label="Choose your path">
    <div class="pricing__inner">
      <header class="pricing__header">
        <p class="pricing__eyebrow">Start building</p>
        <h2 class="pricing__title">Choose your <em>path</em>.</h2>
      </header>

      <div class="pricing__single">
        <div class="pricing__card">
          <p class="pricing__plan-name">Freedom Filled® Business</p>
          <p class="pricing__amount">$6,000</p>
          <p class="pricing__amount-detail">AUD pay in full, or from $550/mo</p>
          <hr class="pricing__divider" />
          <ul class="pricing__features">
            <li>Full 12-month curriculum</li>
            <li>Group coaching calls</li>
            <li>Private community</li>
            <li>Tracy's proven frameworks</li>
          </ul>
          <a href="/ffb/apply" class="pricing__cta pricing__cta--primary">Apply to FFB</a>
        </div>
      </div>
    </div>
  </section>
```

### pricing.compact-single

Wrapper context: `<body data-brand="tracy">`

```html
<section class="pricing" data-brand="tracy">
    <div class="pricing__inner">
      <header class="pricing__header">
        <p class="pricing__eyebrow">Start building</p>
        <h2 class="pricing__title">Choose your <em>path</em>.</h2>
      </header>

      <div class="pricing__single">
        <div class="pricing__card">
          <p class="pricing__plan-name">Freedom Filled® Business</p>
          <p class="pricing__amount">$6,000</p>
          <p class="pricing__amount-detail">AUD pay in full, or from $550/mo</p>
          <hr class="pricing__divider" />
          <ul class="pricing__features">
            <li>Full 12-month curriculum</li>
            <li>Group coaching calls</li>
            <li>Private community</li>
            <li>Tracy's proven frameworks</li>
          </ul>
          <a href="/ffb/apply" class="pricing__cta pricing__cta--primary">Apply to FFB</a>
        </div>
      </div>
    </div>
  </section>
```

### pricing.ffb-side-by-side-polished

Wrapper context: `<body data-brand="ffb">`

```css
:root { --ease-out-craft: cubic-bezier(0.23, 1, 0.32, 1); }
    body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

    .pricing { position: relative; overflow: hidden; isolation: isolate; }
    .pricing::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 60% 40% at 50% 30%,
        rgba(110, 142, 119, 0.08) 0%,
        rgba(110, 142, 119, 0.0) 70%);
      pointer-events: none;
      z-index: 0;
    }
    .pricing__inner { position: relative; z-index: 1; }

    .pricing__eyebrow,
    .pricing__title,
    .pricing__sub {
      opacity: 0;
      transform: translateY(12px);
      animation: prRise 900ms var(--ease-out-craft) forwards;
    }
    .pricing__eyebrow { animation-delay: 140ms; }
    .pricing__title   { animation-delay: 280ms; }
    .pricing__sub     { animation-delay: 420ms; }

    .pricing__card {
      opacity: 0;
      transform: translateY(18px);
      animation: prCardRise 1000ms var(--ease-out-craft) forwards;
      transition:
        transform 320ms var(--ease-out-craft),
        box-shadow 320ms var(--ease-out-craft),
        border-color 320ms var(--ease-out-craft);
    }
    .pricing__options .pricing__card:nth-child(1) { animation-delay: 560ms; }
    .pricing__options .pricing__card:nth-child(2) { animation-delay: 700ms; }

    @media (hover: hover) and (pointer: fine) {
      .pricing__card:hover {
        transform: translateY(-3px);
        box-shadow: 0 24px 48px -20px rgba(30, 55, 53, 0.25);
      }
      .pricing__card--featured:hover {
        box-shadow: 0 28px 56px -16px rgba(30, 55, 53, 0.3);
      }
    }

    @keyframes prRise {
      from { opacity: 0; transform: translateY(12px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }
    @keyframes prCardRise {
      from { opacity: 0; transform: translateY(18px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .pricing__title { text-wrap: balance; }
    .pricing__sub   { text-wrap: pretty; }

    .pricing__cta {
      transition:
        background-color 200ms var(--ease-out-craft),
        color 200ms var(--ease-out-craft),
        box-shadow 220ms var(--ease-out-craft),
        border-color 200ms var(--ease-out-craft),
        transform 120ms var(--ease-out-craft);
    }
    .pricing__cta--primary {
      box-shadow: 0 3px 12px -6px rgba(30, 55, 53, 0.35);
    }
    .pricing__cta--primary:hover {
      box-shadow: 0 5px 16px -6px rgba(30, 55, 53, 0.45);
    }
    .pricing__cta--primary:active { transform: scale(0.99); }
    .pricing__cta--primary:focus-visible {
      outline: 2px solid var(--p-aztek);
      outline-offset: 3px;
    }
    .pricing__cta--secondary:active { transform: scale(0.99); }
    .pricing__cta--secondary:focus-visible {
      outline: 1px solid var(--p-aztek);
      outline-offset: 3px;
    }

    @media (prefers-reduced-motion: reduce) {
      .pricing__eyebrow,
      .pricing__title,
      .pricing__sub,
      .pricing__card {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
    }
```

```html
<section class="pricing pricing--elevated" data-brand="ffb" aria-label="FFB pricing">
    <div class="pricing__inner">
      <header class="pricing__header">
        <p class="pricing__eyebrow">Your investment</p>
        <h2 class="pricing__title">Freedom Filled® <em>Business</em></h2>
        <p class="pricing__sub">12 months of mentorship, frameworks, and a community of right-fit women. Choose the option that works for you.</p>
      </header>

      <div class="pricing__options">

        <div class="pricing__card pricing__card--featured">
          <span class="pricing__badge">Best value</span>
          <p class="pricing__plan-name">Pay in full</p>
          <p class="pricing__amount">$6,000</p>
          <p class="pricing__amount-detail">AUD, one payment</p>
          <hr class="pricing__divider" />
          <ul class="pricing__features">
            <li>Full 12-month curriculum</li>
            <li>Group coaching calls with Tracy</li>
            <li>Private community access</li>
            <li>Million Dollar Message™ framework</li>
            <li>Signature Model™ + Freedom Filled® Offers</li>
            <li>Ongoing support for 12 months</li>
          </ul>
          <a href="/ffb/apply" class="pricing__cta pricing__cta--primary">Apply Now</a>
        </div>

        <div class="pricing__card">
          <p class="pricing__plan-name">Monthly</p>
          <p class="pricing__amount">$550</p>
          <p class="pricing__amount-detail">AUD/month for 12 months</p>
          <hr class="pricing__divider" />
          <ul class="pricing__features">
            <li>Full 12-month curriculum</li>
            <li>Group coaching calls with Tracy</li>
            <li>Private community access</li>
            <li>Million Dollar Message™ framework</li>
            <li>Signature Model™ + Freedom Filled® Offers</li>
            <li>Ongoing support for 12 months</li>
          </ul>
          <a href="/ffb/apply" class="pricing__cta pricing__cta--secondary">Apply Now</a>
        </div>

      </div>
    </div>
  </section>
```

### pricing.ffb-side-by-side

Wrapper context: `<body data-brand="ffb">`

```html
<section class="pricing pricing--elevated" data-brand="ffb">
    <div class="pricing__inner">
      <header class="pricing__header">
        <p class="pricing__eyebrow">Your investment</p>
        <h2 class="pricing__title">Freedom Filled® <em>Business</em></h2>
        <p class="pricing__sub">12 months of mentorship, frameworks, and a community of right-fit women. Choose the option that works for you.</p>
      </header>

      <div class="pricing__options">

        <div class="pricing__card pricing__card--featured">
          <span class="pricing__badge">Best value</span>
          <p class="pricing__plan-name">Pay in full</p>
          <p class="pricing__amount">$6,000</p>
          <p class="pricing__amount-detail">AUD, one payment</p>
          <hr class="pricing__divider" />
          <ul class="pricing__features">
            <li>Full 12-month curriculum</li>
            <li>Group coaching calls with Tracy</li>
            <li>Private community access</li>
            <li>Million Dollar Message™ framework</li>
            <li>Signature Model™ + Freedom Filled® Offers</li>
            <li>Ongoing support for 12 months</li>
          </ul>
          <a href="/ffb/apply" class="pricing__cta pricing__cta--primary">Apply Now</a>
        </div>

        <div class="pricing__card">
          <p class="pricing__plan-name">Monthly</p>
          <p class="pricing__amount">$550</p>
          <p class="pricing__amount-detail">AUD/month for 12 months</p>
          <hr class="pricing__divider" />
          <ul class="pricing__features">
            <li>Full 12-month curriculum</li>
            <li>Group coaching calls with Tracy</li>
            <li>Private community access</li>
            <li>Million Dollar Message™ framework</li>
            <li>Signature Model™ + Freedom Filled® Offers</li>
            <li>Ongoing support for 12 months</li>
          </ul>
          <a href="/ffb/apply" class="pricing__cta pricing__cta--secondary">Apply Now</a>
        </div>

      </div>
    </div>
  </section>
```

### pricing.ffm-dark-premium-polished

Wrapper context: `<body data-brand="ffm">`

```css
:root { --ease-out-craft: cubic-bezier(0.23, 1, 0.32, 1); }
    body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; background: var(--p-charcoal); }

    .pricing { position: relative; overflow: hidden; isolation: isolate; }
    .pricing::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 60% 50% at 50% 30%,
        rgba(201, 164, 108, 0.16) 0%,
        rgba(201, 164, 108, 0.0) 70%);
      pointer-events: none;
      z-index: 0;
    }
    .pricing__inner { position: relative; z-index: 1; }

    .pricing__eyebrow,
    .pricing__title,
    .pricing__sub {
      opacity: 0;
      transform: translateY(12px);
      animation: prmRise 900ms var(--ease-out-craft) forwards;
    }
    .pricing__eyebrow { animation-delay: 140ms; }
    .pricing__title   { animation-delay: 280ms; }
    .pricing__sub     { animation-delay: 420ms; }

    .pricing__card {
      opacity: 0;
      transform: translateY(18px);
      animation: prmCardRise 1000ms var(--ease-out-craft) 580ms forwards;
      transition:
        transform 320ms var(--ease-out-craft),
        box-shadow 320ms var(--ease-out-craft);
    }

    @media (hover: hover) and (pointer: fine) {
      .pricing__card--featured:hover {
        transform: translateY(-3px);
        box-shadow: 0 32px 64px -20px rgba(201, 164, 108, 0.3);
      }
    }

    @keyframes prmRise {
      from { opacity: 0; transform: translateY(12px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }
    @keyframes prmCardRise {
      from { opacity: 0; transform: translateY(18px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .pricing__title { text-wrap: balance; }
    .pricing__sub   { text-wrap: pretty; }

    .pricing__cta {
      transition:
        background 220ms var(--ease-out-craft),
        box-shadow 240ms var(--ease-out-craft),
        transform 120ms var(--ease-out-craft);
    }
    .pricing__cta--primary {
      box-shadow: 0 3px 12px -6px rgba(201, 164, 108, 0.4);
    }
    .pricing__cta--primary:hover {
      box-shadow: 0 6px 20px -6px rgba(201, 164, 108, 0.55);
    }
    .pricing__cta--primary:active { transform: scale(0.99); }
    .pricing__cta--primary:focus-visible {
      outline: 2px solid var(--p-gold-mid);
      outline-offset: 3px;
    }

    @media (prefers-reduced-motion: reduce) {
      .pricing__eyebrow,
      .pricing__title,
      .pricing__sub,
      .pricing__card {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
    }
```

```html
<section class="pricing pricing--dark" data-brand="ffm" aria-label="FFM pricing">
    <div class="pricing__inner">
      <header class="pricing__header">
        <p class="pricing__eyebrow">The investment</p>
        <h2 class="pricing__title">Freedom Filled® <em>Mastermind</em></h2>
        <p class="pricing__sub">Application-only. Maximum 20 women per cohort. Retreats, hot seats, and direct access to Tracy.</p>
      </header>

      <div class="pricing__single">
        <div class="pricing__card pricing__card--featured">
          <span class="pricing__badge">Application only</span>
          <p class="pricing__plan-name">Your investment</p>

          <div class="pricing__payment-options">
            <div class="pricing__payment-row">
              <span class="pricing__payment-label">Pay in full</span>
              <span class="pricing__payment-value">$31,000 AUD <span class="pricing__payment-save">Save $2,000</span></span>
            </div>
            <div class="pricing__payment-row">
              <span class="pricing__payment-label">Monthly</span>
              <span class="pricing__payment-value">$2,750/mo x 12</span>
            </div>
            <div class="pricing__payment-row">
              <span class="pricing__payment-label">Discovery call fee</span>
              <span class="pricing__payment-value">$1,000 (refundable)</span>
            </div>
          </div>

          <hr class="pricing__divider" />

          <ul class="pricing__features">
            <li>Maximum 20 women per cohort</li>
            <li>In-person retreats (Bali, Australia)</li>
            <li>1:1 hot seats with Tracy</li>
            <li>Direct access to Tracy</li>
            <li>12 months of FFB included</li>
            <li>The Social Method® Society included</li>
          </ul>

          <a href="/ffm/apply" class="pricing__cta pricing__cta--primary">Book a Discovery Call</a>
        </div>
      </div>
    </div>
  </section>
```

### pricing.ffm-dark-premium

Wrapper context: `<body data-brand="ffm">`

```html
<section class="pricing pricing--dark" data-brand="ffm">
    <div class="pricing__inner">
      <header class="pricing__header">
        <p class="pricing__eyebrow">The investment</p>
        <h2 class="pricing__title">Freedom Filled® <em>Mastermind</em></h2>
        <p class="pricing__sub">Application-only. Maximum 20 women per cohort. Retreats, hot seats, and direct access to Tracy.</p>
      </header>

      <div class="pricing__single">
        <div class="pricing__card pricing__card--featured">
          <span class="pricing__badge">Application only</span>
          <p class="pricing__plan-name">Your investment</p>

          <div class="pricing__payment-options">
            <div class="pricing__payment-row">
              <span class="pricing__payment-label">Pay in full</span>
              <span class="pricing__payment-value">$31,000 AUD <span class="pricing__payment-save">Save $2,000</span></span>
            </div>
            <div class="pricing__payment-row">
              <span class="pricing__payment-label">Monthly</span>
              <span class="pricing__payment-value">$2,750/mo x 12</span>
            </div>
            <div class="pricing__payment-row">
              <span class="pricing__payment-label">Discovery call fee</span>
              <span class="pricing__payment-value">$1,000 (refundable)</span>
            </div>
          </div>

          <hr class="pricing__divider" />

          <ul class="pricing__features">
            <li>Maximum 20 women per cohort</li>
            <li>In-person retreats (Bali, Australia)</li>
            <li>1:1 hot seats with Tracy</li>
            <li>Direct access to Tracy</li>
            <li>12 months of FFB included</li>
            <li>The Social Method® Society included</li>
          </ul>

          <a href="/ffm/apply" class="pricing__cta pricing__cta--primary">Book a Discovery Call</a>
        </div>
      </div>
    </div>
  </section>
```

### pricing.showcase

```css
body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; }
    .brand-label {
      position: sticky; top: 0; z-index: 10;
      background: var(--p-charcoal); color: var(--p-oatmeal);
      font-family: var(--f-sans); font-size: 11px; font-weight: 500;
      letter-spacing: 0.2em; text-transform: uppercase;
      padding: 10px 24px;
      display: flex; justify-content: space-between;
    }
```

```html
<!-- FFB: SIDE-BY-SIDE -->
  <div class="brand-label" id="ffb-side"><span>SIDE-BY-SIDE, FFB payment options</span><code>class="pricing__options"</code></div>
  <section id="ffb-side-section" class="pricing pricing--elevated" data-brand="ffb">
    <div class="pricing__inner">
      <header class="pricing__header">
        <p class="pricing__eyebrow">Your investment</p>
        <h2 class="pricing__title">Freedom Filled® <em>Business</em></h2>
        <p class="pricing__sub">12 months of mentorship, frameworks, and a community of right-fit women. Choose the option that works for you.</p>
      </header>

      <div class="pricing__options">

        <div class="pricing__card pricing__card--featured">
          <span class="pricing__badge">Best value</span>
          <p class="pricing__plan-name">Pay in full</p>
          <p class="pricing__amount">$6,000</p>
          <p class="pricing__amount-detail">AUD, one payment</p>
          <hr class="pricing__divider" />
          <ul class="pricing__features">
            <li>Full 12-month curriculum</li>
            <li>Group coaching calls with Tracy</li>
            <li>Private community access</li>
            <li>Million Dollar Message™ framework</li>
            <li>Signature Model™ + Freedom Filled® Offers</li>
            <li>Ongoing support for 12 months</li>
          </ul>
          <a href="/ffb/apply" class="pricing__cta pricing__cta--primary">Apply Now</a>
        </div>

        <div class="pricing__card">
          <p class="pricing__plan-name">Monthly</p>
          <p class="pricing__amount">$550</p>
          <p class="pricing__amount-detail">AUD/month for 12 months</p>
          <hr class="pricing__divider" />
          <ul class="pricing__features">
            <li>Full 12-month curriculum</li>
            <li>Group coaching calls with Tracy</li>
            <li>Private community access</li>
            <li>Million Dollar Message™ framework</li>
            <li>Signature Model™ + Freedom Filled® Offers</li>
            <li>Ongoing support for 12 months</li>
          </ul>
          <a href="/ffb/apply" class="pricing__cta pricing__cta--secondary">Apply Now</a>
        </div>

      </div>
    </div>
  </section>

  <!-- FFM: SINGLE CARD, DARK -->
  <div class="brand-label" id="ffm-dark"><span>SINGLE DARK, FFM premium positioning</span><code>class="pricing--dark pricing__single"</code></div>
  <section id="ffm-dark-section" class="pricing pricing--dark" data-brand="ffm">
    <div class="pricing__inner">
      <header class="pricing__header">
        <p class="pricing__eyebrow">The investment</p>
        <h2 class="pricing__title">Freedom Filled® <em>Mastermind</em></h2>
        <p class="pricing__sub">Application-only. Maximum 20 women per cohort. Retreats, hot seats, and direct access to Tracy.</p>
      </header>

      <div class="pricing__single">
        <div class="pricing__card pricing__card--featured">
          <span class="pricing__badge">Application only</span>
          <p class="pricing__plan-name">Your investment</p>

          <div class="pricing__payment-options">
            <div class="pricing__payment-row">
              <span class="pricing__payment-label">Pay in full</span>
              <span class="pricing__payment-value">$31,000 AUD <span class="pricing__payment-save">Save $2,000</span></span>
            </div>
            <div class="pricing__payment-row">
              <span class="pricing__payment-label">Monthly</span>
              <span class="pricing__payment-value">$2,750/mo x 12</span>
            </div>
            <div class="pricing__payment-row">
              <span class="pricing__payment-label">Discovery call fee</span>
              <span class="pricing__payment-value">$1,000 (refundable)</span>
            </div>
          </div>

          <hr class="pricing__divider" />

          <ul class="pricing__features">
            <li>Maximum 20 women per cohort</li>
            <li>In-person retreats (Bali, Australia)</li>
            <li>1:1 hot seats with Tracy</li>
            <li>Direct access to Tracy</li>
            <li>12 months of FFB included</li>
            <li>The Social Method® Society included</li>
          </ul>

          <a href="/ffm/apply" class="pricing__cta pricing__cta--primary">Book a Discovery Call</a>
        </div>
      </div>
    </div>
  </section>

  <!-- FFB: SINGLE CARD, LIGHT -->
  <div class="brand-label" id="compact-single"><span>SINGLE LIGHT, compact pricing card</span><code>class="pricing__single"</code></div>
  <section id="compact-single-section" class="pricing" data-brand="tracy">
    <div class="pricing__inner">
      <header class="pricing__header">
        <p class="pricing__eyebrow">Start building</p>
        <h2 class="pricing__title">Choose your <em>path</em>.</h2>
      </header>

      <div class="pricing__single">
        <div class="pricing__card">
          <p class="pricing__plan-name">Freedom Filled® Business</p>
          <p class="pricing__amount">$6,000</p>
          <p class="pricing__amount-detail">AUD pay in full, or from $550/mo</p>
          <hr class="pricing__divider" />
          <ul class="pricing__features">
            <li>Full 12-month curriculum</li>
            <li>Group coaching calls</li>
            <li>Private community</li>
            <li>Tracy's proven frameworks</li>
          </ul>
          <a href="/ffb/apply" class="pricing__cta pricing__cta--primary">Apply to FFB</a>
        </div>
      </div>
    </div>
  </section>
```

---

## product-callout · 9 variants

### product-callout.bento-elite-polished

Wrapper context: `<body data-brand="tracy">`

```css
:root {
      --ease-out-craft:    cubic-bezier(0.23, 1, 0.32, 1);
      --ease-in-out-craft: cubic-bezier(0.77, 0, 0.175, 1);
      --ease-drawer:       cubic-bezier(0.32, 0.72, 0, 1);
    }

    *, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-charcoal);
      color: var(--p-oatmeal);
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    .wrap {
      max-width: 1280px;
      margin: 0 auto;
      padding: clamp(32px, 5vw, 72px) clamp(20px, 4vw, 48px);
    }
    .pc {
      display: grid;
      grid-template-columns: 1fr 1.4fr;
      grid-template-rows: auto auto;
      gap: 20px;
      color: var(--p-oatmeal);
    }
    .pc__brand,
    .pc__headline,
    .pc__copy,
    .pc__video {
      opacity: 0;
      transform: translateY(16px);
      animation: pcRise 1000ms var(--ease-out-craft) forwards;
      will-change: transform, opacity;
    }
    .pc__brand    { animation-delay: 180ms; }
    .pc__headline { animation-delay: 320ms; }
    .pc__copy     { animation-delay: 460ms; }
    .pc__video    { animation-delay: 600ms; }
    @keyframes pcRise {
      from { opacity: 0; transform: translateY(16px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .pc__brand {
      grid-column: 1; grid-row: 1;
      background: linear-gradient(135deg, #7b623c 0%, #c9a46c 70%, #ddc18f 100%);
      color: #1a1a1a;
      border-radius: 28px;
      padding: 36px 32px;
      display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
      gap: 12px; min-height: 200px; position: relative; overflow: hidden;
      transition: transform 300ms var(--ease-out-craft), box-shadow 300ms var(--ease-out-craft);
      box-shadow: 0 18px 40px -24px rgba(201, 164, 108, 0.5);
    }
    .pc__brand::after {
      content: ""; position: absolute; inset: auto -40% -60% auto;
      width: 240px; height: 240px;
      background: radial-gradient(circle, rgba(16,16,16,0.15) 0%, transparent 70%);
      pointer-events: none;
    }
    @media (hover: hover) and (pointer: fine) {
      .pc__brand:hover { transform: translateY(-3px); box-shadow: 0 28px 60px -18px rgba(201, 164, 108, 0.65); }
    }
    .pc__brand-eyebrow { font-family: var(--f-sans); font-size: 11px; font-weight: 600; letter-spacing: 0.28em; text-transform: uppercase; color: #1a1a1a; opacity: 0.85; margin: 0; }
    .pc__brand-title { font-family: var(--f-serif-display); font-weight: 400; font-size: clamp(40px, 4.5vw, 64px); line-height: 0.92; letter-spacing: -0.01em; margin: 0; color: #1a1a1a; text-wrap: balance; }
    .pc__brand-title em { font-family: var(--f-serif-italic); font-style: italic; }
    .pc__brand-trademark { font-family: var(--f-sans); font-size: 10px; font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; margin: 6px 0 0; opacity: 0.65; color: #1a1a1a; }

    .pc__headline { grid-column: 2; grid-row: 1; display: flex; align-items: center; padding: 0 12px; }
    .pc__headline h2 { font-family: var(--f-serif-display); font-weight: 400; font-size: clamp(30px, 3.6vw, 52px); line-height: 1.08; letter-spacing: -0.01em; color: var(--p-oatmeal); margin: 0; text-wrap: balance; }
    .pc__headline em { font-family: var(--f-serif-italic); font-style: italic; }

    .pc__copy {
      grid-column: 1; grid-row: 2;
      background: #1a1a1a;
      border-radius: 28px;
      padding: 36px 32px;
      display: flex; flex-direction: column; gap: 20px;
      transition: transform 300ms var(--ease-out-craft), box-shadow 300ms var(--ease-out-craft);
    }
    @media (hover: hover) and (pointer: fine) {
      .pc__copy:hover { transform: translateY(-3px); box-shadow: 0 24px 56px -28px rgba(201, 164, 108, 0.22); }
    }
    .pc__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 28px; }
    .pc__stat-value { font-family: var(--f-serif-display); font-weight: 400; font-size: clamp(32px, 3.2vw, 44px); line-height: 1; color: var(--p-oatmeal); }
    .pc__stat-label { font-family: var(--f-sans); font-size: 12px; line-height: 1.35; color: var(--p-oatmeal); opacity: 0.72; margin-top: 6px; }
    .pc__desc { font-family: var(--f-sans); font-size: 14px; line-height: 1.6; color: var(--p-oatmeal); opacity: 0.82; margin: 0; text-wrap: pretty; }
    .pc__desc em { font-family: var(--f-serif-italic); font-style: italic; opacity: 1; }
    .pc__ctas { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
    .pc__cta {
      padding: 14px 22px;
      display: inline-flex; align-items: center; justify-content: center;
      border-radius: var(--r-pill);
      background: #2a2a2a;
      color: var(--p-oatmeal);
      text-decoration: none;
      text-align: center;
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 500;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      border: 1px solid rgba(246,244,241,0.08);
      transition:
        background 250ms var(--ease-out-craft),
        border-color 250ms var(--ease-out-craft),
        box-shadow 220ms var(--ease-out-craft),
        transform 120ms var(--ease-out-craft);
    }
    .pc__cta:hover { background: #353535; border-color: rgba(246,244,241,0.22); }
    .pc__cta:active { transform: scale(0.99); }
    .pc__cta:focus-visible { outline: 2px solid var(--p-gold-mid); outline-offset: 3px; }
    .pc__cta--primary { background: var(--p-oatmeal); color: var(--p-charcoal); border-color: var(--p-oatmeal); box-shadow: 0 3px 12px -6px rgba(201, 164, 108, 0.4); }
    .pc__cta--primary:hover { background: #fff; box-shadow: 0 5px 16px -6px rgba(201, 164, 108, 0.55); }

    .pc__video {
      grid-column: 2; grid-row: 2;
      position: relative;
      border-radius: 28px;
      overflow: hidden;
      background: #111;
      min-height: 360px;
      cursor: pointer;
      isolation: isolate;
      transition: transform 300ms var(--ease-out-craft), box-shadow 300ms var(--ease-out-craft);
    }
    .pc__video-img {
      position: absolute; inset: 0;
      background: url("https://cdn.jsdelivr.net/gh/purepurposekh/tracy-harris-brand-kit@main/assets/photos/tracy-outfit8-49.jpg") center 25% / cover;
      filter: saturate(0.95) contrast(1.02);
      transform: scale(1.06);
      transition: transform 900ms var(--ease-in-out-craft);
    }
    @media (hover: hover) and (pointer: fine) {
      .pc__video:hover { transform: translateY(-3px); box-shadow: 0 28px 56px -20px rgba(0, 0, 0, 0.5); }
      .pc__video:hover .pc__video-img { transform: scale(1.02); }
    }
    .pc__video::before {
      content: "";
      position: absolute; inset: 0;
      background: linear-gradient(180deg, rgba(16,16,16,0.0) 0%, rgba(16,16,16,0.0) 50%, rgba(16,16,16,0.35) 100%);
      z-index: 1;
    }
    .pc__video-play {
      position: absolute; left: 50%; top: 50%;
      transform: translate(-50%, -50%);
      z-index: 2;
      display: inline-flex; align-items: center; gap: 10px;
      padding: 12px 22px 12px 18px;
      background: rgba(246,244,241,0.92);
      color: var(--p-charcoal);
      border-radius: var(--r-pill);
      font-family: var(--f-sans);
      font-size: 12px; font-weight: 600;
      letter-spacing: 0.18em; text-transform: uppercase;
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
      transition: background 200ms var(--ease-out-craft), transform 200ms var(--ease-out-craft);
    }
    .pc__video:hover .pc__video-play { background: #fff; transform: translate(-50%, -50%) scale(1.05); }
    .pc__video:focus-visible { outline: 2px solid var(--p-gold-mid); outline-offset: 3px; }
    .pc__video-caption {
      position: absolute; left: 24px; bottom: 22px;
      z-index: 2;
      color: var(--p-oatmeal);
      font-family: var(--f-sans);
      font-size: 11px; font-weight: 500;
      letter-spacing: 0.22em; text-transform: uppercase;
      opacity: 0.85;
    }

    @media (max-width: 820px) {
      .pc { grid-template-columns: 1fr; grid-template-rows: auto auto auto auto; gap: 14px; }
      .pc__brand { grid-column: 1; grid-row: 1; min-height: 160px; padding: 28px; border-radius: 22px; }
      .pc__brand-title { font-size: clamp(36px, 10vw, 56px); }
      .pc__headline { grid-column: 1; grid-row: 2; padding: 10px 4px; }
      .pc__headline h2 { font-size: clamp(26px, 7.5vw, 38px); }
      .pc__copy { grid-column: 1; grid-row: 3; padding: 28px 24px; border-radius: 22px; }
      .pc__stats { gap: 16px 20px; }
      .pc__stat-value { font-size: 30px; }
      .pc__video { grid-column: 1; grid-row: 4; min-height: 240px; border-radius: 22px; }
    }
    @media (max-width: 480px) { .pc__ctas { flex-direction: column; } }

    @media (prefers-reduced-motion: reduce) {
      .pc__brand,
      .pc__headline,
      .pc__copy,
      .pc__video,
      .pc__video-img {
        animation: none !important;
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
      .pc__video-img { transform: scale(1.02); }
    }
```

```html
<div class="wrap">
    <section class="pc pc--elite" aria-labelledby="pc-elite-title">
      <div class="pc__brand">
        <p class="pc__brand-eyebrow">Tracy Harris · Private</p>
        <h3 class="pc__brand-title" id="pc-elite-title">Elite <em>Coaching</em></h3>
        <p class="pc__brand-trademark">One-to-one · by invitation</p>
      </div>

      <div class="pc__headline">
        <h2>Private strategy for women ready for <em>quietly</em> extraordinary growth.</h2>
      </div>

      <div class="pc__copy">
        <div class="pc__stats">
          <div>
            <div class="pc__stat-value">1:1</div>
            <div class="pc__stat-label">direct access, not a container</div>
          </div>
          <div>
            <div class="pc__stat-value">Select</div>
            <div class="pc__stat-label">a handful of women at any time</div>
          </div>
        </div>
        <p class="pc__desc">
          For Mastermind alumnae and aligned leaders: a private coaching track with Tracy for the seasons that ask for <em>deep, bespoke thinking</em>: pricing decisions, big launches, brand pivots, succession.
        </p>
        <div class="pc__ctas">
          <a class="pc__cta pc__cta--primary" href="/elite/enquire">Request the details</a>
          <a class="pc__cta" href="/ffm">Explore the Mastermind</a>
        </div>
      </div>

      <a class="pc__video" href="/elite/enquire" aria-label="Watch an Elite Coaching introduction">
        <div class="pc__video-img" role="img" aria-label="Tracy at a retreat"></div>
        <span class="pc__video-play">
          <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><polygon points="6,4 20,12 6,20"/></svg>
          A word from Tracy
        </span>
        <span class="pc__video-caption">2 minutes · private</span>
      </a>
    </section>
  </div>
```

### product-callout.bento-elite

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-charcoal);
      color: var(--p-oatmeal);
      -webkit-font-smoothing: antialiased;
    }
    .wrap {
      max-width: 1280px;
      margin: 0 auto;
      padding: clamp(32px, 5vw, 72px) clamp(20px, 4vw, 48px);
    }
    .pc {
      display: grid;
      grid-template-columns: 1fr 1.4fr;
      grid-template-rows: auto auto;
      gap: 20px;
      color: var(--p-oatmeal);
    }
    .pc__brand {
      grid-column: 1; grid-row: 1;
      background: linear-gradient(135deg, #7b623c 0%, #c9a46c 70%, #ddc18f 100%);
      color: #1a1a1a;
      border-radius: 28px;
      padding: 36px 32px;
      display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
      gap: 12px; min-height: 200px; position: relative; overflow: hidden;
    }
    .pc__brand::after {
      content: ""; position: absolute; inset: auto -40% -60% auto;
      width: 240px; height: 240px;
      background: radial-gradient(circle, rgba(16,16,16,0.15) 0%, transparent 70%);
      pointer-events: none;
    }
    .pc__brand-eyebrow { font-family: var(--f-sans); font-size: 11px; font-weight: 600; letter-spacing: 0.28em; text-transform: uppercase; color: #1a1a1a; opacity: 0.85; margin: 0; }
    .pc__brand-title { font-family: var(--f-serif-display); font-weight: 400; font-size: clamp(40px, 4.5vw, 64px); line-height: 0.92; letter-spacing: -0.01em; margin: 0; color: #1a1a1a; }
    .pc__brand-title em { font-family: var(--f-serif-italic); font-style: italic; }
    .pc__brand-trademark { font-family: var(--f-sans); font-size: 10px; font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; margin: 6px 0 0; opacity: 0.65; color: #1a1a1a; }

    .pc__headline { grid-column: 2; grid-row: 1; display: flex; align-items: center; padding: 0 12px; }
    .pc__headline h2 { font-family: var(--f-serif-display); font-weight: 400; font-size: clamp(30px, 3.6vw, 52px); line-height: 1.08; letter-spacing: -0.01em; color: var(--p-oatmeal); margin: 0; }
    .pc__headline em { font-family: var(--f-serif-italic); font-style: italic; }

    .pc__copy { grid-column: 1; grid-row: 2; background: #1a1a1a; border-radius: 28px; padding: 36px 32px; display: flex; flex-direction: column; gap: 20px; }
    .pc__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 28px; }
    .pc__stat-value { font-family: var(--f-serif-display); font-weight: 400; font-size: clamp(32px, 3.2vw, 44px); line-height: 1; color: var(--p-oatmeal); }
    .pc__stat-label { font-family: var(--f-sans); font-size: 12px; line-height: 1.35; color: var(--p-oatmeal); opacity: 0.72; margin-top: 6px; }
    .pc__desc { font-family: var(--f-sans); font-size: 14px; line-height: 1.6; color: var(--p-oatmeal); opacity: 0.82; margin: 0; }
    .pc__desc em { font-family: var(--f-serif-italic); font-style: italic; opacity: 1; }
    .pc__ctas { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
    .pc__cta { padding: 14px 22px; border-radius: var(--r-pill); background: #2a2a2a; color: var(--p-oatmeal); text-decoration: none; text-align: center; font-family: var(--f-sans); font-size: 12px; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; border: 1px solid rgba(246,244,241,0.08); transition: background .25s ease, border-color .25s ease, transform .2s ease; }
    .pc__cta:hover { background: #353535; border-color: rgba(246,244,241,0.22); transform: translateY(-1px); }
    .pc__cta--primary { background: var(--p-oatmeal); color: var(--p-charcoal); border-color: var(--p-oatmeal); }
    .pc__cta--primary:hover { background: #fff; }

    .pc__video { grid-column: 2; grid-row: 2; position: relative; border-radius: 28px; overflow: hidden; background: #111; min-height: 360px; cursor: pointer; isolation: isolate; }
    .pc__video-img { position: absolute; inset: 0; background: url("../../../assets/photos/tracy-outfit8-49.jpg") center 25% / cover; filter: saturate(0.95) contrast(1.02); transition: transform .6s ease; }
    .pc__video:hover .pc__video-img { transform: scale(1.03); }
    .pc__video::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(16,16,16,0.0) 0%, rgba(16,16,16,0.0) 50%, rgba(16,16,16,0.35) 100%); z-index: 1; }
    .pc__video-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 2; display: inline-flex; align-items: center; gap: 10px; padding: 12px 22px 12px 18px; background: rgba(246,244,241,0.92); color: var(--p-charcoal); border-radius: var(--r-pill); font-family: var(--f-sans); font-size: 12px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); transition: background .2s ease, transform .2s ease; }
    .pc__video:hover .pc__video-play { background: #fff; transform: translate(-50%, -50%) scale(1.05); }
    .pc__video-caption { position: absolute; left: 24px; bottom: 22px; z-index: 2; color: var(--p-oatmeal); font-family: var(--f-sans); font-size: 11px; font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; opacity: 0.85; }

    @media (max-width: 820px) {
      .pc { grid-template-columns: 1fr; grid-template-rows: auto auto auto auto; gap: 14px; }
      .pc__brand { grid-column: 1; grid-row: 1; min-height: 160px; padding: 28px; border-radius: 22px; }
      .pc__brand-title { font-size: clamp(36px, 10vw, 56px); }
      .pc__headline { grid-column: 1; grid-row: 2; padding: 10px 4px; }
      .pc__headline h2 { font-size: clamp(26px, 7.5vw, 38px); }
      .pc__copy { grid-column: 1; grid-row: 3; padding: 28px 24px; border-radius: 22px; }
      .pc__stats { gap: 16px 20px; }
      .pc__stat-value { font-size: 30px; }
      .pc__video { grid-column: 1; grid-row: 4; min-height: 240px; border-radius: 22px; }
    }
    @media (max-width: 480px) { .pc__ctas { flex-direction: column; } }
```

```html
<div class="wrap">
    <section class="pc pc--elite" aria-labelledby="pc-elite-title">
      <div class="pc__brand">
        <p class="pc__brand-eyebrow">Tracy Harris · Private</p>
        <h3 class="pc__brand-title" id="pc-elite-title">Elite <em>Coaching</em></h3>
        <p class="pc__brand-trademark">One-to-one · by invitation</p>
      </div>

      <div class="pc__headline">
        <h2>Private strategy for women ready for <em>quietly</em> extraordinary growth.</h2>
      </div>

      <div class="pc__copy">
        <div class="pc__stats">
          <div>
            <div class="pc__stat-value">1:1</div>
            <div class="pc__stat-label">direct access, not a container</div>
          </div>
          <div>
            <div class="pc__stat-value">Select</div>
            <div class="pc__stat-label">a handful of women at any time</div>
          </div>
        </div>
        <p class="pc__desc">
          For Mastermind alumnae and aligned leaders: a private coaching track with Tracy for the seasons that ask for <em>deep, bespoke thinking</em>: pricing decisions, big launches, brand pivots, succession.
        </p>
        <div class="pc__ctas">
          <a class="pc__cta pc__cta--primary" href="/elite/enquire">Request the details</a>
          <a class="pc__cta" href="/ffm">Explore the Mastermind</a>
        </div>
      </div>

      <a class="pc__video" href="/elite/enquire" aria-label="Watch an Elite Coaching introduction">
        <div class="pc__video-img" role="img" aria-label="Tracy at a retreat"></div>
        <span class="pc__video-play">
          <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><polygon points="6,4 20,12 6,20"/></svg>
          A word from Tracy
        </span>
        <span class="pc__video-caption">2 minutes · private</span>
      </a>
    </section>
  </div>
```

### product-callout.bento-ffb-polished

Wrapper context: `<body data-brand="tracy">`

```css
:root {
      --ease-out-craft:    cubic-bezier(0.23, 1, 0.32, 1);
      --ease-in-out-craft: cubic-bezier(0.77, 0, 0.175, 1);
    }
    *, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-charcoal);
      color: var(--p-oatmeal);
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    .wrap {
      max-width: 1280px;
      margin: 0 auto;
      padding: clamp(32px, 5vw, 72px) clamp(20px, 4vw, 48px);
    }

    .pc {
      display: grid;
      grid-template-columns: 1fr 1.4fr;
      grid-template-rows: auto auto;
      gap: 20px;
      color: var(--p-oatmeal);
    }

    .pc__brand,
    .pc__headline,
    .pc__copy,
    .pc__video {
      opacity: 0;
      transform: translateY(16px);
      animation: pcbRise 1000ms var(--ease-out-craft) forwards;
      will-change: transform, opacity;
    }
    .pc__brand    { animation-delay: 180ms; }
    .pc__headline { animation-delay: 320ms; }
    .pc__copy     { animation-delay: 460ms; }
    .pc__video    { animation-delay: 600ms; }
    @keyframes pcbRise {
      from { opacity: 0; transform: translateY(16px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .pc__brand {
      grid-column: 1; grid-row: 1;
      background: var(--p-ffb-dark);
      color: var(--p-oatmeal);
      border-radius: 28px;
      padding: 36px 32px;
      display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
      gap: 12px;
      min-height: 200px;
      position: relative;
      overflow: hidden;
      transition: transform 300ms var(--ease-out-craft), box-shadow 300ms var(--ease-out-craft);
      box-shadow: 0 18px 40px -24px rgba(30, 55, 53, 0.55);
    }
    .pc__brand::after {
      content: "";
      position: absolute;
      inset: auto -40% -60% auto;
      width: 240px; height: 240px;
      background: radial-gradient(circle, rgba(201,164,108,0.2) 0%, transparent 70%);
      pointer-events: none;
    }
    @media (hover: hover) and (pointer: fine) {
      .pc__brand:hover {
        transform: translateY(-3px);
        box-shadow: 0 28px 60px -18px rgba(30, 55, 53, 0.7);
      }
    }
    .pc__brand-eyebrow {
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--p-oatmeal);
      opacity: 0.85;
      margin: 0;
    }
    .pc__brand-title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(40px, 4.5vw, 64px);
      line-height: 0.92;
      letter-spacing: -0.01em;
      margin: 0;
      color: var(--p-oatmeal);
      text-wrap: balance;
    }
    .pc__brand-title em { font-family: var(--f-serif-italic); font-style: italic; }
    .pc__brand-trademark {
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      margin: 6px 0 0;
      opacity: 0.65;
    }

    .pc__headline {
      grid-column: 2; grid-row: 1;
      display: flex;
      align-items: center;
      padding: 0 12px;
    }
    .pc__headline h2 {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(30px, 3.6vw, 52px);
      line-height: 1.08;
      letter-spacing: -0.01em;
      color: var(--p-oatmeal);
      margin: 0;
      text-wrap: balance;
    }
    .pc__headline em { font-family: var(--f-serif-italic); font-style: italic; }

    .pc__copy {
      grid-column: 1; grid-row: 2;
      background: #1a1a1a;
      border-radius: 28px;
      padding: 36px 32px;
      display: flex;
      flex-direction: column;
      gap: 20px;
      transition: transform 300ms var(--ease-out-craft), box-shadow 300ms var(--ease-out-craft);
    }
    @media (hover: hover) and (pointer: fine) {
      .pc__copy:hover {
        transform: translateY(-3px);
        box-shadow: 0 24px 56px -28px rgba(30, 55, 53, 0.35);
      }
    }
    .pc__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 28px; }
    .pc__stat-value {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(32px, 3.2vw, 44px);
      line-height: 1;
      color: var(--p-oatmeal);
    }
    .pc__stat-label {
      font-family: var(--f-sans);
      font-size: 12px;
      line-height: 1.35;
      color: var(--p-oatmeal);
      opacity: 0.72;
      margin-top: 6px;
    }
    .pc__desc {
      font-family: var(--f-sans);
      font-size: 14px;
      line-height: 1.6;
      color: var(--p-oatmeal);
      opacity: 0.82;
      margin: 0;
      text-wrap: pretty;
    }
    .pc__desc em { font-family: var(--f-serif-italic); font-style: italic; opacity: 1; }
    .pc__ctas { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
    .pc__cta {
      padding: 14px 22px;
      display: inline-flex; align-items: center; justify-content: center;
      border-radius: var(--r-pill);
      background: #2a2a2a;
      color: var(--p-oatmeal);
      text-decoration: none;
      text-align: center;
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 500;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      border: 1px solid rgba(246,244,241,0.08);
      transition:
        background 250ms var(--ease-out-craft),
        border-color 250ms var(--ease-out-craft),
        box-shadow 220ms var(--ease-out-craft),
        transform 120ms var(--ease-out-craft);
    }
    .pc__cta:hover {
      background: #353535;
      border-color: rgba(246,244,241,0.22);
    }
    .pc__cta:active { transform: scale(0.99); }
    .pc__cta:focus-visible { outline: 2px solid var(--p-sage); outline-offset: 3px; }
    .pc__cta--primary {
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      border-color: var(--p-oatmeal);
      box-shadow: 0 3px 12px -6px rgba(30, 55, 53, 0.4);
    }
    .pc__cta--primary:hover {
      background: #fff;
      box-shadow: 0 5px 16px -6px rgba(30, 55, 53, 0.5);
    }

    .pc__video {
      grid-column: 2; grid-row: 2;
      position: relative;
      border-radius: 28px;
      overflow: hidden;
      background: #111;
      min-height: 360px;
      cursor: pointer;
      isolation: isolate;
      transition: transform 300ms var(--ease-out-craft), box-shadow 300ms var(--ease-out-craft);
    }
    .pc__video-img {
      position: absolute; inset: 0;
      background: url("https://cdn.jsdelivr.net/gh/purepurposekh/tracy-harris-brand-kit@main/assets/photos/tracy-outfit8-49.jpg") center 25% / cover;
      filter: saturate(0.95) contrast(1.02);
      transform: scale(1.06);
      transition: transform 900ms var(--ease-in-out-craft);
    }
    @media (hover: hover) and (pointer: fine) {
      .pc__video:hover { transform: translateY(-3px); box-shadow: 0 28px 56px -20px rgba(0, 0, 0, 0.5); }
      .pc__video:hover .pc__video-img { transform: scale(1.02); }
    }
    .pc__video::before {
      content: "";
      position: absolute; inset: 0;
      background: linear-gradient(180deg,
        rgba(16,16,16,0.0) 0%,
        rgba(16,16,16,0.0) 50%,
        rgba(16,16,16,0.35) 100%);
      z-index: 1;
    }
    .pc__video-play {
      position: absolute;
      left: 50%; top: 50%;
      transform: translate(-50%, -50%);
      z-index: 2;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 12px 22px 12px 18px;
      background: rgba(246,244,241,0.92);
      color: var(--p-charcoal);
      border-radius: var(--r-pill);
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
      transition: background 200ms var(--ease-out-craft), transform 200ms var(--ease-out-craft);
    }
    .pc__video:hover .pc__video-play {
      background: #fff;
      transform: translate(-50%, -50%) scale(1.05);
    }
    .pc__video:focus-visible { outline: 2px solid var(--p-sage); outline-offset: 3px; }
    .pc__video-caption {
      position: absolute;
      left: 24px; bottom: 22px;
      z-index: 2;
      color: var(--p-oatmeal);
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      opacity: 0.85;
    }

    @media (max-width: 820px) {
      .pc {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto auto;
        gap: 14px;
      }
      .pc__brand { grid-column: 1; grid-row: 1; min-height: 160px; padding: 28px; border-radius: 22px; }
      .pc__brand-title { font-size: clamp(36px, 10vw, 56px); }
      .pc__headline { grid-column: 1; grid-row: 2; padding: 10px 4px; }
      .pc__headline h2 { font-size: clamp(26px, 7.5vw, 38px); }
      .pc__copy { grid-column: 1; grid-row: 3; padding: 28px 24px; border-radius: 22px; }
      .pc__stats { gap: 16px 20px; }
      .pc__stat-value { font-size: 30px; }
      .pc__video { grid-column: 1; grid-row: 4; min-height: 240px; border-radius: 22px; }
    }
    @media (max-width: 480px) {
      .pc__ctas { flex-direction: column; }
    }

    @media (prefers-reduced-motion: reduce) {
      .pc__brand,
      .pc__headline,
      .pc__copy,
      .pc__video,
      .pc__video-img {
        animation: none !important;
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
      .pc__video-img { transform: scale(1.02); }
    }
```

```html
<div class="wrap">
    <section class="pc" aria-labelledby="pc-ffb-title">
      <div class="pc__brand">
        <p class="pc__brand-eyebrow">Freedom Filled® Business</p>
        <h3 class="pc__brand-title" id="pc-ffb-title">Mentorship</h3>
        <p class="pc__brand-trademark">12-month · application only</p>
      </div>

      <div class="pc__headline">
        <h2>Mentorship for women building <em>by design</em>, not by default.</h2>
      </div>

      <div class="pc__copy">
        <div class="pc__stats">
          <div>
            <div class="pc__stat-value">7+ yrs</div>
            <div class="pc__stat-label">running, refined with every cohort</div>
          </div>
          <div>
            <div class="pc__stat-value">~10%</div>
            <div class="pc__stat-label">Tracy's free-event to enrol conversion</div>
          </div>
        </div>
        <p class="pc__desc">
          A twelve-month container to <em>build, price and sell</em> your signature offer, with one-to-one coaching calls, live hot seats, and Tracy in your corner every step. Grounded in story, strategy, and spaciousness.
        </p>
        <div class="pc__ctas">
          <a class="pc__cta pc__cta--primary" href="/ffb/apply">Apply for FFB</a>
          <a class="pc__cta" href="/ffb">See the curriculum</a>
        </div>
      </div>

      <a class="pc__video" href="/ffb/walkthrough" aria-label="Watch the FFB walkthrough video">
        <div class="pc__video-img" role="img" aria-label="Tracy in her home office"></div>
        <span class="pc__video-play">
          <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><polygon points="6,4 20,12 6,20"/></svg>
          Watch walkthrough
        </span>
        <span class="pc__video-caption">90 seconds · with Tracy</span>
      </a>
    </section>
  </div>
```

### product-callout.bento-ffb

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-charcoal);
      color: var(--p-oatmeal);
      -webkit-font-smoothing: antialiased;
    }

    .wrap {
      max-width: 1280px;
      margin: 0 auto;
      padding: clamp(32px, 5vw, 72px) clamp(20px, 4vw, 48px);
    }

    .pc {
      display: grid;
      grid-template-columns: 1fr 1.4fr;
      grid-template-rows: auto auto;
      gap: 20px;
      color: var(--p-oatmeal);
    }
    .pc__brand {
      grid-column: 1;
      grid-row: 1;
      background: var(--p-ffb-dark);
      color: var(--p-oatmeal);
      border-radius: 28px;
      padding: 36px 32px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
      gap: 12px;
      min-height: 200px;
      position: relative;
      overflow: hidden;
    }
    .pc__brand::after {
      content: "";
      position: absolute;
      inset: auto -40% -60% auto;
      width: 240px; height: 240px;
      background: radial-gradient(circle, rgba(201,164,108,0.18) 0%, transparent 70%);
      pointer-events: none;
    }
    .pc__brand-eyebrow {
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--p-oatmeal);
      opacity: 0.85;
      margin: 0;
    }
    .pc__brand-title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(40px, 4.5vw, 64px);
      line-height: 0.92;
      letter-spacing: -0.01em;
      margin: 0;
      color: var(--p-oatmeal);
    }
    .pc__brand-title em { font-family: var(--f-serif-italic); font-style: italic; }
    .pc__brand-trademark {
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      margin: 6px 0 0;
      opacity: 0.65;
    }

    .pc__headline {
      grid-column: 2;
      grid-row: 1;
      display: flex;
      align-items: center;
      padding: 0 12px;
    }
    .pc__headline h2 {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(30px, 3.6vw, 52px);
      line-height: 1.08;
      letter-spacing: -0.01em;
      color: var(--p-oatmeal);
      margin: 0;
    }
    .pc__headline em { font-family: var(--f-serif-italic); font-style: italic; }

    .pc__copy {
      grid-column: 1;
      grid-row: 2;
      background: #1a1a1a;
      border-radius: 28px;
      padding: 36px 32px;
      display: flex;
      flex-direction: column;
      gap: 20px;
    }
    .pc__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 28px; }
    .pc__stat-value {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(32px, 3.2vw, 44px);
      line-height: 1;
      color: var(--p-oatmeal);
    }
    .pc__stat-label {
      font-family: var(--f-sans);
      font-size: 12px;
      line-height: 1.35;
      color: var(--p-oatmeal);
      opacity: 0.72;
      margin-top: 6px;
    }
    .pc__desc {
      font-family: var(--f-sans);
      font-size: 14px;
      line-height: 1.6;
      color: var(--p-oatmeal);
      opacity: 0.82;
      margin: 0;
    }
    .pc__desc em { font-family: var(--f-serif-italic); font-style: italic; opacity: 1; }
    .pc__ctas { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
    .pc__cta {
      padding: 14px 22px;
      border-radius: var(--r-pill);
      background: #2a2a2a;
      color: var(--p-oatmeal);
      text-decoration: none;
      text-align: center;
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 500;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      border: 1px solid rgba(246,244,241,0.08);
      transition: background .25s ease, border-color .25s ease, transform .2s ease;
    }
    .pc__cta:hover {
      background: #353535;
      border-color: rgba(246,244,241,0.22);
      transform: translateY(-1px);
    }
    .pc__cta--primary {
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      border-color: var(--p-oatmeal);
    }
    .pc__cta--primary:hover { background: #fff; }

    .pc__video {
      grid-column: 2;
      grid-row: 2;
      position: relative;
      border-radius: 28px;
      overflow: hidden;
      background: #111;
      min-height: 360px;
      cursor: pointer;
      isolation: isolate;
    }
    .pc__video-img {
      position: absolute; inset: 0;
      background: url("../../../assets/photos/tracy-outfit8-49.jpg") center 25% / cover;
      filter: saturate(0.95) contrast(1.02);
      transition: transform .6s ease;
    }
    .pc__video:hover .pc__video-img { transform: scale(1.03); }
    .pc__video::before {
      content: "";
      position: absolute; inset: 0;
      background: linear-gradient(180deg,
        rgba(16,16,16,0.0) 0%,
        rgba(16,16,16,0.0) 50%,
        rgba(16,16,16,0.35) 100%);
      z-index: 1;
    }
    .pc__video-play {
      position: absolute;
      left: 50%; top: 50%;
      transform: translate(-50%, -50%);
      z-index: 2;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 12px 22px 12px 18px;
      background: rgba(246,244,241,0.92);
      color: var(--p-charcoal);
      border-radius: var(--r-pill);
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
      transition: background .2s ease, transform .2s ease;
    }
    .pc__video:hover .pc__video-play { background: #fff; transform: translate(-50%, -50%) scale(1.05); }
    .pc__video-caption {
      position: absolute;
      left: 24px; bottom: 22px;
      z-index: 2;
      color: var(--p-oatmeal);
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      opacity: 0.85;
    }

    @media (max-width: 820px) {
      .pc {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto auto;
        gap: 14px;
      }
      .pc__brand { grid-column: 1; grid-row: 1; min-height: 160px; padding: 28px; border-radius: 22px; }
      .pc__brand-title { font-size: clamp(36px, 10vw, 56px); }
      .pc__headline { grid-column: 1; grid-row: 2; padding: 10px 4px; }
      .pc__headline h2 { font-size: clamp(26px, 7.5vw, 38px); }
      .pc__copy { grid-column: 1; grid-row: 3; padding: 28px 24px; border-radius: 22px; }
      .pc__stats { gap: 16px 20px; }
      .pc__stat-value { font-size: 30px; }
      .pc__video { grid-column: 1; grid-row: 4; min-height: 240px; border-radius: 22px; }
    }
    @media (max-width: 480px) {
      .pc__ctas { flex-direction: column; }
    }
```

```html
<div class="wrap">
    <section class="pc" aria-labelledby="pc-ffb-title">
      <div class="pc__brand">
        <p class="pc__brand-eyebrow">Freedom Filled® Business</p>
        <h3 class="pc__brand-title" id="pc-ffb-title">Mentorship</h3>
        <p class="pc__brand-trademark">12-month · application only</p>
      </div>

      <div class="pc__headline">
        <h2>Mentorship for women building <em>by design</em>, not by default.</h2>
      </div>

      <div class="pc__copy">
        <div class="pc__stats">
          <div>
            <div class="pc__stat-value">7+ yrs</div>
            <div class="pc__stat-label">running, refined with every cohort</div>
          </div>
          <div>
            <div class="pc__stat-value">~10%</div>
            <div class="pc__stat-label">Tracy's free-event to enrol conversion</div>
          </div>
        </div>
        <p class="pc__desc">
          A twelve-month container to <em>build, price and sell</em> your signature offer, with one-to-one coaching calls, live hot seats, and Tracy in your corner every step. Grounded in story, strategy, and spaciousness.
        </p>
        <div class="pc__ctas">
          <a class="pc__cta pc__cta--primary" href="/ffb/apply">Apply for FFB</a>
          <a class="pc__cta" href="/ffb">See the curriculum</a>
        </div>
      </div>

      <a class="pc__video" href="/ffb/walkthrough" aria-label="Watch the FFB walkthrough video">
        <div class="pc__video-img" role="img" aria-label="Tracy in her home office"></div>
        <span class="pc__video-play">
          <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><polygon points="6,4 20,12 6,20"/></svg>
          Watch walkthrough
        </span>
        <span class="pc__video-caption">90 seconds · with Tracy</span>
      </a>
    </section>
  </div>
```

### product-callout.clearer-polished

Wrapper context: `<body data-brand="tracy">`

```css
:root {
      --ease-out-craft:    cubic-bezier(0.23, 1, 0.32, 1);
      --ease-in-out-craft: cubic-bezier(0.77, 0, 0.175, 1);
    }
    *, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-cream);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }
    .wrap--clear {
      background: var(--p-cream);
      color: var(--p-charcoal);
      padding: clamp(56px, 8vw, 120px) clamp(20px, 4vw, 48px);
      position: relative;
      overflow: hidden;
      isolation: isolate;
    }
    .wrap--clear::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 50% 40% at 30% 30%,
        rgba(110, 142, 119, 0.08) 0%,
        rgba(110, 142, 119, 0.0) 70%);
      pointer-events: none;
      z-index: 0;
    }

    .pcc {
      max-width: 1200px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1.35fr;
      grid-template-rows: auto auto;
      gap: 24px;
      color: var(--p-charcoal);
      position: relative;
      z-index: 1;
    }

    .pcc__brand,
    .pcc__headline,
    .pcc__copy,
    .pcc__video {
      opacity: 0;
      transform: translateY(16px);
      animation: pccRise 1000ms var(--ease-out-craft) forwards;
      will-change: transform, opacity;
    }
    .pcc__brand    { animation-delay: 180ms; }
    .pcc__headline { animation-delay: 320ms; }
    .pcc__copy     { animation-delay: 460ms; }
    .pcc__video    { animation-delay: 600ms; }
    @keyframes pccRise {
      from { opacity: 0; transform: translateY(16px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .pcc__brand {
      grid-column: 1; grid-row: 1;
      background: var(--p-ffb-dark);
      color: var(--p-oatmeal);
      border-radius: 24px;
      padding: 40px 36px;
      display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
      gap: 12px;
      min-height: 220px;
      position: relative;
      overflow: hidden;
      transition: transform 300ms var(--ease-out-craft), box-shadow 300ms var(--ease-out-craft);
      box-shadow: 0 20px 40px -20px rgba(30, 55, 53, 0.4);
    }
    @media (hover: hover) and (pointer: fine) {
      .pcc__brand:hover {
        transform: translateY(-3px);
        box-shadow: 0 28px 56px -18px rgba(30, 55, 53, 0.55);
      }
    }
    .pcc__brand::after {
      content: "";
      position: absolute;
      inset: auto -30% -50% auto;
      width: 260px; height: 260px;
      background: radial-gradient(circle, rgba(201,164,108,0.22) 0%, transparent 70%);
      pointer-events: none;
    }
    .pcc__brand-eyebrow {
      font-family: var(--f-sans);
      font-size: 11px; font-weight: 600;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--p-oatmeal);
      opacity: 0.85;
      margin: 0;
    }
    .pcc__brand-title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(44px, 5vw, 70px);
      line-height: 0.94;
      margin: 0;
      text-wrap: balance;
    }
    .pcc__brand-title em { font-family: var(--f-serif-italic); font-style: italic; }
    .pcc__brand-qualifier {
      font-family: var(--f-sans);
      font-size: 10px; font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      margin: 6px 0 0;
      opacity: 0.65;
    }

    .pcc__headline { grid-column: 2; grid-row: 1; display: flex; align-items: center; padding: 0 16px; }
    .pcc__headline h2 {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(32px, 3.8vw, 54px);
      line-height: 1.06;
      letter-spacing: -0.01em;
      color: var(--p-charcoal);
      margin: 0;
      text-wrap: balance;
    }
    .pcc__headline em { font-family: var(--f-serif-italic); font-style: italic; }

    .pcc__copy {
      grid-column: 1; grid-row: 2;
      background: var(--p-white);
      border-radius: 24px;
      padding: 36px 32px;
      display: flex;
      flex-direction: column;
      gap: 22px;
      box-shadow: 0 10px 32px rgba(16,16,16,0.08);
      border: 1px solid rgba(16,16,16,0.05);
      transition: transform 300ms var(--ease-out-craft), box-shadow 300ms var(--ease-out-craft);
    }
    @media (hover: hover) and (pointer: fine) {
      .pcc__copy:hover {
        transform: translateY(-3px);
        box-shadow: 0 16px 42px rgba(16,16,16,0.12);
      }
    }
    .pcc__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 28px; }
    .pcc__stat-value {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(30px, 3vw, 42px);
      line-height: 1;
      color: var(--p-ffb-dark);
    }
    .pcc__stat-value em { font-family: var(--f-serif-italic); font-style: italic; }
    .pcc__stat-label {
      font-family: var(--f-sans);
      font-size: 12px;
      line-height: 1.35;
      color: var(--p-charcoal);
      opacity: 0.7;
      margin-top: 6px;
    }
    .pcc__desc {
      font-family: var(--f-sans);
      font-size: 14px;
      line-height: 1.65;
      color: var(--p-charcoal);
      opacity: 0.86;
      margin: 0;
      text-wrap: pretty;
    }
    .pcc__desc em { font-family: var(--f-serif-italic); font-style: italic; opacity: 1; }
    .pcc__ctas { display: flex; flex-direction: column; gap: 10px; }
    .pcc__cta {
      padding: 14px 22px;
      display: inline-flex; align-items: center; justify-content: center;
      border-radius: var(--r-pill);
      text-decoration: none;
      text-align: center;
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      border: 1px solid rgba(16,16,16,0.12);
      background: var(--p-white);
      color: var(--p-charcoal);
      transition:
        background 250ms var(--ease-out-craft),
        color 250ms var(--ease-out-craft),
        border-color 250ms var(--ease-out-craft),
        box-shadow 220ms var(--ease-out-craft),
        transform 120ms var(--ease-out-craft);
    }
    .pcc__cta:hover {
      border-color: var(--p-ffb-dark);
      color: var(--p-ffb-dark);
    }
    .pcc__cta:active { transform: scale(0.99); }
    .pcc__cta:focus-visible { outline: 2px solid var(--p-aztek); outline-offset: 3px; }
    .pcc__cta--primary {
      background: var(--p-ffb-dark);
      color: var(--p-oatmeal);
      border-color: var(--p-ffb-dark);
      box-shadow: 0 3px 12px -6px rgba(30, 55, 53, 0.4);
    }
    .pcc__cta--primary:hover {
      background: #122624;
      color: var(--p-oatmeal);
      border-color: #122624;
      box-shadow: 0 5px 16px -6px rgba(30, 55, 53, 0.5);
    }

    .pcc__video {
      grid-column: 2; grid-row: 2;
      position: relative;
      border-radius: 24px;
      overflow: hidden;
      background: #111;
      min-height: 420px;
      cursor: pointer;
      isolation: isolate;
      box-shadow: 0 20px 48px -20px rgba(16,16,16,0.28);
      text-decoration: none;
      display: block;
      transition: transform 300ms var(--ease-out-craft), box-shadow 300ms var(--ease-out-craft);
    }
    .pcc__video-img {
      position: absolute; inset: 0;
      background: url("https://cdn.jsdelivr.net/gh/purepurposekh/tracy-harris-brand-kit@main/assets/photos/tracy-outfit8-49.jpg") center 18% / cover;
      filter: saturate(1) contrast(1.04);
      transform: scale(1.06);
      transition: transform 900ms var(--ease-in-out-craft);
    }
    @media (hover: hover) and (pointer: fine) {
      .pcc__video:hover {
        transform: translateY(-4px);
        box-shadow: 0 28px 60px -18px rgba(16,16,16,0.4);
      }
      .pcc__video:hover .pcc__video-img { transform: scale(1.025); }
    }
    .pcc__video::before {
      content: "";
      position: absolute; inset: 0;
      background:
        radial-gradient(ellipse 75% 60% at 50% 55%, rgba(0,0,0,0.18) 0%, rgba(0,0,0,0) 60%),
        linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,0.55) 100%);
      z-index: 1;
    }
    .pcc__video-play {
      position: absolute;
      left: 50%; top: 50%;
      transform: translate(-50%, -50%);
      z-index: 2;
      width: 64px; height: 64px;
      border-radius: 50%;
      background: rgba(246,244,241,0.96);
      color: var(--p-charcoal);
      display: inline-flex; align-items: center; justify-content: center;
      transition: transform .25s var(--ease-out-craft), background .25s var(--ease-out-craft);
      border: 0;
      cursor: pointer;
      box-shadow: 0 8px 22px rgba(0,0,0,0.22);
    }
    .pcc__video:hover .pcc__video-play {
      transform: translate(-50%, -50%) scale(1.04);
      background: #fff;
    }
    .pcc__video:focus-visible { outline: 2px solid var(--p-aztek); outline-offset: 3px; }
    .pcc__video-name {
      position: absolute; left: 18px; top: 18px; z-index: 2;
      padding: 6px 12px; border-radius: var(--r-pill);
      background: rgba(16,16,16,0.45);
      backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
      font-family: var(--f-sans);
      font-size: 10px; font-weight: 500;
      letter-spacing: 0.24em; text-transform: uppercase;
      color: var(--p-oatmeal);
    }
    .pcc__video-caption {
      position: absolute; left: 20px; right: 20px; bottom: 18px; z-index: 2;
      color: var(--p-oatmeal);
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
      gap: 16px;
    }
    .pcc__video-caption-title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(16px, 1.6vw, 20px);
      line-height: 1.2;
      margin: 0;
      text-shadow: 0 1px 10px rgba(0,0,0,0.35);
    }
    .pcc__video-caption-title em { font-family: var(--f-serif-italic); font-style: italic; }
    .pcc__video-caption-meta {
      font-family: var(--f-sans);
      font-size: 10px; font-weight: 500;
      letter-spacing: 0.24em; text-transform: uppercase;
      opacity: 0.82;
      margin: 0;
      white-space: nowrap;
      flex-shrink: 0;
    }

    @media (max-width: 820px) {
      .pcc { display: flex; flex-direction: column; gap: 14px; }
      .pcc__brand    { order: 1; min-height: 160px; padding: 28px 26px; border-radius: 20px; }
      .pcc__brand-title { font-size: clamp(34px, 9vw, 52px); }
      .pcc__headline { order: 2; padding: 4px 2px; }
      .pcc__headline h2 { font-size: clamp(26px, 7vw, 36px); }
      .pcc__video    { order: 3; min-height: 260px; border-radius: 20px; }
      .pcc__video-play { width: 58px; height: 58px; }
      .pcc__video-name { left: 14px; top: 14px; font-size: 9px; letter-spacing: 0.2em; }
      .pcc__video-caption { left: 16px; right: 16px; bottom: 14px; flex-direction: column; align-items: flex-start; gap: 4px; }
      .pcc__video-caption-title { font-size: 15px; }
      .pcc__copy     { order: 4; padding: 26px 22px; border-radius: 20px; }
      .pcc__stats    { gap: 14px 18px; }
      .pcc__stat-value { font-size: 26px; }
      .pcc__stat-label { font-size: 11px; }
    }
    @media (max-width: 400px) {
      .pcc__stats { grid-template-columns: 1fr; gap: 12px; }
      .pcc__video { min-height: 220px; }
      .pcc__video-play { width: 52px; height: 52px; }
    }

    @media (prefers-reduced-motion: reduce) {
      .pcc__brand,
      .pcc__headline,
      .pcc__copy,
      .pcc__video,
      .pcc__video-img {
        animation: none !important;
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
      .pcc__video-img { transform: scale(1.02); }
    }
```

```html
<div class="wrap--clear">
    <section class="pcc" aria-labelledby="pcc-ffb-title">
      <div class="pcc__brand">
        <p class="pcc__brand-eyebrow">Freedom Filled® Business</p>
        <h3 class="pcc__brand-title" id="pcc-ffb-title">Mentorship</h3>
        <p class="pcc__brand-qualifier">12-month · application only</p>
      </div>

      <div class="pcc__headline">
        <h2>Mentorship for women building <em>by design</em>.</h2>
      </div>

      <div class="pcc__copy">
        <div class="pcc__stats">
          <div>
            <div class="pcc__stat-value"><em>7+</em> yrs</div>
            <div class="pcc__stat-label">running, refined with every cohort</div>
          </div>
          <div>
            <div class="pcc__stat-value"><em>~10%</em></div>
            <div class="pcc__stat-label">Tracy's free-event to enrol rate</div>
          </div>
        </div>
        <p class="pcc__desc">
          A twelve-month container to <em>build, price and sell</em> your signature offer, with Tracy walking alongside you every season. Grounded in story, strategy, and spaciousness.
        </p>
        <div class="pcc__ctas">
          <a class="pcc__cta pcc__cta--primary" href="/ffb/apply">Apply for FFB</a>
          <a class="pcc__cta" href="/ffb">See the curriculum</a>
        </div>
      </div>

      <a class="pcc__video" href="/ffb/walkthrough" aria-label="Watch the FFB walkthrough video with Tracy">
        <div class="pcc__video-img" role="img" aria-label="Tracy Harris on camera"></div>
        <span class="pcc__video-name">With Tracy</span>
        <span class="pcc__video-play" aria-hidden="true">
          <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><polygon points="7,4 20,12 7,20"/></svg>
        </span>
        <div class="pcc__video-caption">
          <h4 class="pcc__video-caption-title">A <em>90-second</em> walkthrough</h4>
          <p class="pcc__video-caption-meta">1:28</p>
        </div>
      </a>
    </section>
  </div>
```

### product-callout.clearer

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-cream);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }
    .wrap--clear {
      background: var(--p-cream);
      color: var(--p-charcoal);
      padding: clamp(56px, 8vw, 120px) clamp(20px, 4vw, 48px);
    }

    .pcc {
      max-width: 1200px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1.35fr;
      grid-template-rows: auto auto;
      gap: 24px;
      color: var(--p-charcoal);
    }
    .pcc__brand {
      grid-column: 1; grid-row: 1;
      background: var(--p-ffb-dark); color: var(--p-oatmeal);
      border-radius: 24px; padding: 40px 36px;
      display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
      gap: 12px; min-height: 220px; position: relative; overflow: hidden;
      box-shadow: 0 20px 40px rgba(30,55,53,0.2);
    }
    .pcc__brand::after {
      content: ""; position: absolute; inset: auto -30% -50% auto;
      width: 260px; height: 260px;
      background: radial-gradient(circle, rgba(201,164,108,0.22) 0%, transparent 70%);
      pointer-events: none;
    }
    .pcc__brand-eyebrow { font-family: var(--f-sans); font-size: 11px; font-weight: 600; letter-spacing: 0.28em; text-transform: uppercase; color: var(--p-oatmeal); opacity: 0.85; margin: 0; }
    .pcc__brand-title { font-family: var(--f-serif-display); font-weight: 400; font-size: clamp(44px, 5vw, 70px); line-height: 0.94; margin: 0; }
    .pcc__brand-title em { font-family: var(--f-serif-italic); font-style: italic; }
    .pcc__brand-qualifier { font-family: var(--f-sans); font-size: 10px; font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; margin: 6px 0 0; opacity: 0.65; }

    .pcc__headline { grid-column: 2; grid-row: 1; display: flex; align-items: center; padding: 0 16px; }
    .pcc__headline h2 { font-family: var(--f-serif-display); font-weight: 400; font-size: clamp(32px, 3.8vw, 54px); line-height: 1.06; letter-spacing: -0.01em; color: var(--p-charcoal); margin: 0; }
    .pcc__headline em { font-family: var(--f-serif-italic); font-style: italic; }

    .pcc__copy {
      grid-column: 1; grid-row: 2;
      background: var(--p-white); border-radius: 24px; padding: 36px 32px;
      display: flex; flex-direction: column; gap: 22px;
      box-shadow: 0 10px 32px rgba(16,16,16,0.08);
      border: 1px solid rgba(16,16,16,0.05);
    }
    .pcc__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 28px; }
    .pcc__stat-value { font-family: var(--f-serif-display); font-weight: 400; font-size: clamp(30px, 3vw, 42px); line-height: 1; color: var(--p-ffb-dark); }
    .pcc__stat-value em { font-family: var(--f-serif-italic); font-style: italic; }
    .pcc__stat-label { font-family: var(--f-sans); font-size: 12px; line-height: 1.35; color: var(--p-charcoal); opacity: 0.7; margin-top: 6px; }
    .pcc__desc { font-family: var(--f-sans); font-size: 14px; line-height: 1.65; color: var(--p-charcoal); opacity: 0.86; margin: 0; }
    .pcc__desc em { font-family: var(--f-serif-italic); font-style: italic; opacity: 1; }
    .pcc__ctas { display: flex; flex-direction: column; gap: 10px; }
    .pcc__cta {
      padding: 14px 22px; border-radius: var(--r-pill); text-decoration: none; text-align: center;
      font-family: var(--f-sans); font-size: 12px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase;
      border: 1px solid rgba(16,16,16,0.12); background: var(--p-white); color: var(--p-charcoal);
      transition: background .25s ease, color .25s ease, border-color .25s ease, transform .2s ease;
    }
    .pcc__cta:hover { border-color: var(--p-ffb-dark); color: var(--p-ffb-dark); transform: translateY(-1px); }
    .pcc__cta--primary { background: var(--p-ffb-dark); color: var(--p-oatmeal); border-color: var(--p-ffb-dark); }
    .pcc__cta--primary:hover { background: #122624; color: var(--p-oatmeal); border-color: #122624; }

    .pcc__video {
      grid-column: 2; grid-row: 2; position: relative;
      border-radius: 24px; overflow: hidden; background: #111;
      min-height: 420px; cursor: pointer; isolation: isolate;
      box-shadow: 0 20px 48px rgba(16,16,16,0.18);
      text-decoration: none; display: block;
    }
    .pcc__video-img { position: absolute; inset: 0; background: url("../../../assets/photos/tracy-outfit8-49.jpg") center 18% / cover; filter: saturate(1) contrast(1.04); transition: transform .7s ease; }
    .pcc__video:hover .pcc__video-img { transform: scale(1.04); }
    .pcc__video::before {
      content: ""; position: absolute; inset: 0;
      background: radial-gradient(ellipse 75% 60% at 50% 55%, rgba(0,0,0,0.18) 0%, rgba(0,0,0,0) 60%), linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,0.55) 100%);
      z-index: 1;
    }
    .pcc__video-play {
      position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 2;
      width: 64px; height: 64px; border-radius: 50%;
      background: rgba(246,244,241,0.96); color: var(--p-charcoal);
      display: inline-flex; align-items: center; justify-content: center;
      transition: transform .25s ease, background .25s ease;
      border: 0; cursor: pointer;
      box-shadow: 0 8px 22px rgba(0,0,0,0.22);
    }
    .pcc__video:hover .pcc__video-play { transform: translate(-50%, -50%) scale(1.04); background: #fff; }
    .pcc__video-name {
      position: absolute; left: 18px; top: 18px; z-index: 2;
      padding: 6px 12px; border-radius: var(--r-pill);
      background: rgba(16,16,16,0.45);
      backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
      font-family: var(--f-sans); font-size: 10px; font-weight: 500;
      letter-spacing: 0.24em; text-transform: uppercase; color: var(--p-oatmeal);
    }
    .pcc__video-caption {
      position: absolute; left: 20px; right: 20px; bottom: 18px; z-index: 2;
      color: var(--p-oatmeal);
      display: flex; justify-content: space-between; align-items: flex-end; gap: 16px;
    }
    .pcc__video-caption-title {
      font-family: var(--f-serif-display); font-weight: 400;
      font-size: clamp(16px, 1.6vw, 20px); line-height: 1.2;
      margin: 0; text-shadow: 0 1px 10px rgba(0,0,0,0.35);
    }
    .pcc__video-caption-title em { font-family: var(--f-serif-italic); font-style: italic; }
    .pcc__video-caption-meta {
      font-family: var(--f-sans); font-size: 10px; font-weight: 500;
      letter-spacing: 0.24em; text-transform: uppercase;
      opacity: 0.82; margin: 0; white-space: nowrap; flex-shrink: 0;
    }

    @media (max-width: 820px) {
      .pcc { display: flex; flex-direction: column; gap: 14px; }
      .pcc__brand    { order: 1; min-height: 160px; padding: 28px 26px; border-radius: 20px; }
      .pcc__brand-title { font-size: clamp(34px, 9vw, 52px); }
      .pcc__headline { order: 2; padding: 4px 2px; }
      .pcc__headline h2 { font-size: clamp(26px, 7vw, 36px); }
      .pcc__video    { order: 3; min-height: 260px; border-radius: 20px; }
      .pcc__video-play { width: 58px; height: 58px; }
      .pcc__video-name { left: 14px; top: 14px; font-size: 9px; letter-spacing: 0.2em; }
      .pcc__video-caption { left: 16px; right: 16px; bottom: 14px; flex-direction: column; align-items: flex-start; gap: 4px; }
      .pcc__video-caption-title { font-size: 15px; }
      .pcc__copy     { order: 4; padding: 26px 22px; border-radius: 20px; }
      .pcc__stats    { gap: 14px 18px; }
      .pcc__stat-value { font-size: 26px; }
      .pcc__stat-label { font-size: 11px; }
    }
    @media (max-width: 400px) {
      .pcc__stats { grid-template-columns: 1fr; gap: 12px; }
      .pcc__video { min-height: 220px; }
      .pcc__video-play { width: 52px; height: 52px; }
    }
```

```html
<div class="wrap--clear">
    <section class="pcc" aria-labelledby="pcc-ffb-title">
      <div class="pcc__brand">
        <p class="pcc__brand-eyebrow">Freedom Filled® Business</p>
        <h3 class="pcc__brand-title" id="pcc-ffb-title">Mentorship</h3>
        <p class="pcc__brand-qualifier">12-month · application only</p>
      </div>

      <div class="pcc__headline">
        <h2>Mentorship for women building <em>by design</em>.</h2>
      </div>

      <div class="pcc__copy">
        <div class="pcc__stats">
          <div>
            <div class="pcc__stat-value"><em>7+</em> yrs</div>
            <div class="pcc__stat-label">running, refined with every cohort</div>
          </div>
          <div>
            <div class="pcc__stat-value"><em>~10%</em></div>
            <div class="pcc__stat-label">Tracy's free-event to enrol rate</div>
          </div>
        </div>
        <p class="pcc__desc">
          A twelve-month container to <em>build, price and sell</em> your signature offer, with Tracy walking alongside you every season. Grounded in story, strategy, and spaciousness.
        </p>
        <div class="pcc__ctas">
          <a class="pcc__cta pcc__cta--primary" href="/ffb/apply">Apply for FFB</a>
          <a class="pcc__cta" href="/ffb">See the curriculum</a>
        </div>
      </div>

      <a class="pcc__video" href="/ffb/walkthrough" aria-label="Watch the FFB walkthrough video with Tracy">
        <div class="pcc__video-img" role="img" aria-label="Tracy Harris on camera"></div>
        <span class="pcc__video-name">With Tracy</span>
        <span class="pcc__video-play" aria-hidden="true">
          <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><polygon points="7,4 20,12 7,20"/></svg>
        </span>
        <div class="pcc__video-caption">
          <h4 class="pcc__video-caption-title">A <em>90-second</em> walkthrough</h4>
          <p class="pcc__video-caption-meta">1:28</p>
        </div>
      </a>
    </section>
  </div>
```

### product-callout.editorial-polished

Wrapper context: `<body data-brand="tracy">`

```css
:root {
      --ease-out-craft:    cubic-bezier(0.23, 1, 0.32, 1);
      --ease-in-out-craft: cubic-bezier(0.77, 0, 0.175, 1);
      --ease-drawer:       cubic-bezier(0.32, 0.72, 0, 1);
    }
    *, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }
    .wrap--editorial {
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      padding: clamp(56px, 8vw, 120px) clamp(20px, 4vw, 48px);
      position: relative;
      overflow: hidden;
      isolation: isolate;
    }
    .wrap--editorial::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 60% 50% at 70% 30%,
        rgba(110, 142, 119, 0.08) 0%,
        rgba(110, 142, 119, 0.0) 70%);
      pointer-events: none;
      z-index: 0;
    }

    .pce {
      max-width: 1180px;
      margin: 0 auto;
      color: var(--p-charcoal);
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: clamp(40px, 6vw, 80px);
      align-items: center;
      position: relative;
      z-index: 1;
    }

    .pce__media {
      position: relative;
      border-radius: 4px;
      overflow: hidden;
      aspect-ratio: 4 / 5;
      cursor: pointer;
      text-decoration: none;
      opacity: 0;
      transform: translateY(18px) scale(0.98);
      animation: pceMediaReveal 1100ms var(--ease-drawer) 200ms forwards;
      transition: transform 400ms var(--ease-out-craft), box-shadow 400ms var(--ease-out-craft);
      box-shadow: 0 24px 48px -24px rgba(30, 55, 53, 0.35);
    }
    @keyframes pceMediaReveal {
      from { opacity: 0; transform: translateY(18px) scale(0.98); }
      to   { opacity: 1; transform: translateY(0) scale(1); }
    }
    .pce__media img {
      width: 100%; height: 100%;
      object-fit: cover;
      object-position: center 25%;
      display: block;
      filter: saturate(0.95) contrast(1.02);
      transition: transform 900ms var(--ease-in-out-craft), filter 300ms var(--ease-out-craft);
      transform: scale(1.06);
    }
    @media (hover: hover) and (pointer: fine) {
      .pce:hover .pce__media {
        transform: translateY(-4px);
        box-shadow: 0 32px 56px -20px rgba(30, 55, 53, 0.42);
      }
      .pce:hover .pce__media img { transform: scale(1.025); filter: saturate(1) contrast(1.04); }
    }
    .pce__media::after {
      content: ""; position: absolute; inset: 0;
      background:
        radial-gradient(ellipse 45% 35% at 50% 50%, rgba(16,16,16,0.28) 0%, rgba(16,16,16,0.08) 60%, rgba(16,16,16,0.0) 85%),
        linear-gradient(180deg, rgba(16,16,16,0) 55%, rgba(16,16,16,0.35) 100%);
      pointer-events: none;
      transition: opacity .3s ease;
      opacity: 0.9;
    }
    .pce__media:hover::after { opacity: 1; }
    .pce__media:focus-visible { outline: 2px solid var(--p-aztek); outline-offset: 4px; }
    .pce__media-badge {
      position: absolute; left: 20px; top: 20px; z-index: 2;
      font-family: var(--f-script);
      font-weight: 400;
      font-size: clamp(28px, 3vw, 40px);
      color: var(--p-oatmeal);
      line-height: 1;
      opacity: 0.95;
      text-shadow: 0 2px 12px rgba(16,16,16,0.4);
    }
    .pce__play {
      position: absolute;
      left: 50%; top: 50%;
      transform: translate(-50%, -50%);
      z-index: 2;
      width: 72px; height: 72px;
      border-radius: 50%;
      background: rgba(246,244,241,0.96);
      color: var(--p-charcoal);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 0;
      cursor: pointer;
      box-shadow: 0 10px 28px rgba(16,16,16,0.28);
      transition: transform .25s var(--ease-out-craft), background .25s var(--ease-out-craft);
      padding: 0;
    }
    .pce__play svg { margin-left: 3px; }
    .pce:hover .pce__play { transform: translate(-50%, -50%) scale(1.06); background: #fff; }
    .pce__duration {
      position: absolute; right: 14px; top: 14px; z-index: 2;
      padding: 5px 10px; border-radius: var(--r-pill);
      background: rgba(16,16,16,0.55);
      backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
      color: var(--p-oatmeal);
      font-family: var(--f-sans);
      font-size: 10px; font-weight: 600;
      letter-spacing: 0.22em;
      text-transform: uppercase;
    }
    .pce__watch {
      position: absolute; left: 14px; bottom: 14px; right: 14px; z-index: 2;
      display: flex; align-items: center; justify-content: space-between;
      gap: 8px;
      padding: 12px 16px;
      border-radius: var(--r-pill);
      background: rgba(246,244,241,0.96);
      color: var(--p-charcoal);
      font-family: var(--f-sans);
      font-size: 11px; font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      text-decoration: none;
      transition: background .2s var(--ease-out-craft);
    }
    .pce__watch:hover { background: #fff; }
    .pce__watch-arrow { display: inline-flex; align-items: center; gap: 6px; opacity: 0.7; }

    .pce__copy { padding: 8px 0; }

    .pce__eyebrow,
    .pce__title,
    .pce__script,
    .pce__desc,
    .pce__meta,
    .pce__ctas,
    .pce__signature {
      opacity: 0;
      transform: translateY(14px);
      animation: pceRise 900ms var(--ease-out-craft) forwards;
      will-change: transform, opacity;
    }
    .pce__eyebrow   { animation-delay: 260ms; }
    .pce__title     { animation-delay: 400ms; }
    .pce__script    { animation-delay: 520ms; }
    .pce__desc      { animation-delay: 640ms; }
    .pce__meta      { animation-delay: 760ms; }
    .pce__ctas      { animation-delay: 880ms; }
    .pce__signature { animation-delay: 1000ms; }
    @keyframes pceRise {
      from { opacity: 0; transform: translateY(14px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .pce__eyebrow {
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: var(--p-ffb-dark);
      margin: 0 0 16px;
    }
    .pce__eyebrow::after {
      content: "";
      display: block;
      width: 40px;
      height: 1px;
      background: var(--p-ffb-dark);
      margin-top: 10px;
      opacity: 0.35;
    }
    .pce__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(34px, 4.2vw, 60px);
      line-height: 1.05;
      letter-spacing: -0.01em;
      color: var(--p-charcoal);
      margin: 0 0 18px;
      text-wrap: balance;
    }
    .pce__title em { font-family: var(--f-serif-italic); font-style: italic; }
    .pce__script {
      font-family: var(--f-script);
      font-weight: 400;
      font-size: clamp(22px, 2.4vw, 30px);
      color: var(--p-ffb-dark);
      margin: -6px 0 18px;
      line-height: 1.1;
    }
    .pce__desc {
      font-family: var(--f-sans);
      font-size: 15px;
      line-height: 1.72;
      color: var(--p-charcoal);
      opacity: 0.86;
      margin: 0 0 24px;
      max-width: 48ch;
      text-wrap: pretty;
    }
    .pce__desc em { font-family: var(--f-serif-italic); font-style: italic; opacity: 1; }
    .pce__meta {
      display: grid;
      grid-template-columns: repeat(3, auto);
      gap: 24px 40px;
      margin: 0 0 28px;
      padding: 18px 0;
      border-top: 1px solid rgba(16,16,16,0.12);
      border-bottom: 1px solid rgba(16,16,16,0.12);
    }
    .pce__meta-value {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(22px, 2.4vw, 28px);
      line-height: 1;
      color: var(--p-charcoal);
    }
    .pce__meta-value em { font-family: var(--f-serif-italic); font-style: italic; }
    .pce__meta-label {
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--p-charcoal);
      opacity: 0.65;
      margin-top: 6px;
    }
    .pce__ctas { display: flex; flex-wrap: wrap; gap: 12px; }
    .pce__cta {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 14px 26px;
      min-height: 48px;
      border-radius: var(--r-pill);
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      text-decoration: none;
      transition:
        background 200ms var(--ease-out-craft),
        color 200ms var(--ease-out-craft),
        border-color 200ms var(--ease-out-craft),
        transform 180ms var(--ease-out-craft),
        box-shadow 220ms var(--ease-out-craft);
    }
    .pce__cta--primary {
      background: var(--p-ffb-dark);
      color: var(--p-oatmeal);
      border: 1px solid var(--p-ffb-dark);
      box-shadow: 0 8px 24px -12px rgba(30, 55, 53, 0.55);
    }
    .pce__cta--primary:hover {
      background: #122624;
      border-color: #122624;
      transform: translateY(-2px);
      box-shadow: 0 12px 32px -10px rgba(30, 55, 53, 0.65);
    }
    .pce__cta--primary:active { transform: translateY(0) scale(0.98); }
    .pce__cta--primary:focus-visible { outline: 2px solid var(--p-aztek); outline-offset: 3px; }
    .pce__cta--ghost {
      background: transparent;
      color: var(--p-charcoal);
      border: 1px solid rgba(16,16,16,0.3);
    }
    .pce__cta--ghost:hover { border-color: var(--p-charcoal); transform: translateY(-2px); }
    .pce__cta--ghost:active { transform: translateY(0) scale(0.98); }
    .pce__cta--ghost:focus-visible { outline: 1px solid var(--p-charcoal); outline-offset: 4px; }

    .pce__signature {
      font-family: var(--f-script);
      font-weight: 400;
      font-size: 22px;
      color: var(--p-ffb-dark);
      margin: 20px 0 0;
      opacity: 0.8;
    }

    @media (max-width: 820px) {
      .pce { grid-template-columns: 1fr; gap: 28px; }
      .pce__media { aspect-ratio: 4 / 4.2; }
      .pce__title { font-size: clamp(30px, 9vw, 44px); }
      .pce__meta { gap: 16px 24px; }
      .pce__meta-value { font-size: 22px; }
    }
    @media (max-width: 480px) {
      .pce__ctas { flex-direction: column; }
      .pce__cta { justify-content: center; }
      .pce__meta { grid-template-columns: 1fr; gap: 12px 0; padding: 14px 0; }
      .pce__meta-value { font-size: 20px; }
      .pce__meta-label { margin-top: 4px; }
    }

    @media (prefers-reduced-motion: reduce) {
      .pce__media,
      .pce__media img,
      .pce__eyebrow,
      .pce__title,
      .pce__script,
      .pce__desc,
      .pce__meta,
      .pce__ctas,
      .pce__signature {
        animation: none !important;
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
      .pce__media img { transform: scale(1.02); }
    }
```

```html
<div class="wrap--editorial">
    <section class="pce" aria-labelledby="pce-ffb-title">
      <a href="/ffb/walkthrough" class="pce__media" aria-label="Watch the FFB walkthrough video">
        <img src="https://cdn.jsdelivr.net/gh/purepurposekh/tracy-harris-brand-kit@main/assets/photos/tracy-outfit8-49.jpg" alt="Tracy Harris at the FFB mentorship" />
        <p class="pce__media-badge">Freedom Filled<span style="font-size:0.5em; vertical-align:super;">®</span></p>
        <span class="pce__duration">1:28</span>
        <button class="pce__play" type="button" aria-label="Play walkthrough preview">
          <svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><polygon points="7,4 20,12 7,20"/></svg>
        </button>
        <span class="pce__watch">
          <span>Watch walkthrough with Tracy</span>
          <span class="pce__watch-arrow">
            <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
          </span>
        </span>
      </a>

      <div class="pce__copy">
        <p class="pce__eyebrow">Freedom Filled® Business Mentorship</p>
        <h2 class="pce__title" id="pce-ffb-title">Mentorship for women building <em>by design</em>, not by default.</h2>
        <p class="pce__script">Peace, Profit, Presence.</p>
        <p class="pce__desc">
          A twelve-month container to <em>build, price and sell</em> your signature offer, with one-to-one coaching calls, live hot seats, and Tracy walking alongside you every season. Grounded in <em>story, strategy, spaciousness</em>.
        </p>
        <div class="pce__meta">
          <div>
            <div class="pce__meta-value"><em>12</em> months</div>
            <div class="pce__meta-label">container</div>
          </div>
          <div>
            <div class="pce__meta-value"><em>7+</em> years</div>
            <div class="pce__meta-label">refined with every cohort</div>
          </div>
          <div>
            <div class="pce__meta-value"><em>By</em> application</div>
            <div class="pce__meta-label">right-fit women only</div>
          </div>
        </div>
        <div class="pce__ctas">
          <a href="/ffb/apply" class="pce__cta pce__cta--primary">Apply for FFB</a>
          <a href="/ffb" class="pce__cta pce__cta--ghost">See the curriculum</a>
        </div>
        <p class="pce__signature">Xx Tracy</p>
      </div>
    </section>
  </div>
```

### product-callout.editorial

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }
    .wrap--editorial {
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      padding: clamp(56px, 8vw, 120px) clamp(20px, 4vw, 48px);
    }

    .pce {
      max-width: 1180px;
      margin: 0 auto;
      color: var(--p-charcoal);
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: clamp(40px, 6vw, 80px);
      align-items: center;
    }
    .pce__media {
      position: relative;
      border-radius: 4px;
      overflow: hidden;
      aspect-ratio: 4 / 5;
      cursor: pointer;
      text-decoration: none;
    }
    .pce__media img {
      width: 100%; height: 100%; object-fit: cover; object-position: center 25%;
      display: block; filter: saturate(0.95) contrast(1.02);
      transition: transform .8s ease, filter .3s ease;
    }
    .pce:hover .pce__media img { transform: scale(1.025); filter: saturate(1) contrast(1.04); }
    .pce__media::after {
      content: ""; position: absolute; inset: 0;
      background:
        radial-gradient(ellipse 45% 35% at 50% 50%, rgba(16,16,16,0.28) 0%, rgba(16,16,16,0.08) 60%, rgba(16,16,16,0.0) 85%),
        linear-gradient(180deg, rgba(16,16,16,0) 55%, rgba(16,16,16,0.35) 100%);
      pointer-events: none; transition: opacity .3s ease; opacity: 0.9;
    }
    .pce__media:hover::after { opacity: 1; }
    .pce__media-badge {
      position: absolute; left: 20px; top: 20px; z-index: 2;
      font-family: 'Jhon Halend', cursive; font-weight: 400;
      font-size: clamp(28px, 3vw, 40px); color: var(--p-oatmeal);
      line-height: 1; opacity: 0.95; text-shadow: 0 2px 12px rgba(16,16,16,0.4);
    }
    .pce__play {
      position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 2;
      width: 72px; height: 72px; border-radius: 50%;
      background: rgba(246,244,241,0.96); color: var(--p-charcoal);
      display: inline-flex; align-items: center; justify-content: center;
      border: 0; cursor: pointer;
      box-shadow: 0 10px 28px rgba(16,16,16,0.28);
      transition: transform .25s ease, background .25s ease;
      padding: 0;
    }
    .pce__play svg { margin-left: 3px; }
    .pce:hover .pce__play { transform: translate(-50%, -50%) scale(1.06); background: #fff; }
    .pce__duration {
      position: absolute; right: 14px; top: 14px; z-index: 2;
      padding: 5px 10px; border-radius: var(--r-pill);
      background: rgba(16,16,16,0.55);
      backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
      color: var(--p-oatmeal); font-family: var(--f-sans);
      font-size: 10px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase;
    }
    .pce__watch {
      position: absolute; left: 14px; bottom: 14px; right: 14px; z-index: 2;
      display: flex; align-items: center; justify-content: space-between; gap: 8px;
      padding: 12px 16px; border-radius: var(--r-pill);
      background: rgba(246,244,241,0.96); color: var(--p-charcoal);
      font-family: var(--f-sans); font-size: 11px; font-weight: 600;
      letter-spacing: 0.2em; text-transform: uppercase; text-decoration: none;
      transition: background .2s ease;
    }
    .pce__watch:hover { background: #fff; }
    .pce__watch-arrow { display: inline-flex; align-items: center; gap: 6px; opacity: 0.7; }

    .pce__copy { padding: 8px 0; }
    .pce__eyebrow {
      font-family: var(--f-sans); font-size: 11px; font-weight: 600;
      letter-spacing: 0.3em; text-transform: uppercase;
      color: var(--p-ffb-dark); margin: 0 0 16px;
    }
    .pce__eyebrow::after {
      content: ""; display: block; width: 40px; height: 1px;
      background: var(--p-ffb-dark); margin-top: 10px; opacity: 0.35;
    }
    .pce__title {
      font-family: var(--f-serif-display); font-weight: 400;
      font-size: clamp(34px, 4.2vw, 60px); line-height: 1.05;
      letter-spacing: -0.01em; color: var(--p-charcoal); margin: 0 0 18px;
    }
    .pce__title em { font-family: var(--f-serif-italic); font-style: italic; }
    .pce__script {
      font-family: 'Jhon Halend', cursive; font-weight: 400;
      font-size: clamp(22px, 2.4vw, 30px); color: var(--p-ffb-dark);
      margin: -6px 0 18px; line-height: 1.1;
    }
    .pce__desc {
      font-family: var(--f-sans); font-size: 15px; line-height: 1.72;
      color: var(--p-charcoal); opacity: 0.86; margin: 0 0 24px; max-width: 48ch;
    }
    .pce__desc em { font-family: var(--f-serif-italic); font-style: italic; opacity: 1; }
    .pce__meta {
      display: grid; grid-template-columns: repeat(3, auto);
      gap: 24px 40px; margin: 0 0 28px; padding: 18px 0;
      border-top: 1px solid rgba(16,16,16,0.12);
      border-bottom: 1px solid rgba(16,16,16,0.12);
    }
    .pce__meta-value { font-family: var(--f-serif-display); font-weight: 400; font-size: clamp(22px, 2.4vw, 28px); line-height: 1; color: var(--p-charcoal); }
    .pce__meta-value em { font-family: var(--f-serif-italic); font-style: italic; }
    .pce__meta-label { font-family: var(--f-sans); font-size: 10px; font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; color: var(--p-charcoal); opacity: 0.65; margin-top: 6px; }
    .pce__ctas { display: flex; flex-wrap: wrap; gap: 12px; }
    .pce__cta { display: inline-flex; align-items: center; gap: 10px; padding: 14px 26px; border-radius: var(--r-pill); font-family: var(--f-sans); font-size: 12px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; text-decoration: none; transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
    .pce__cta--primary { background: var(--p-ffb-dark); color: var(--p-oatmeal); border: 1px solid var(--p-ffb-dark); }
    .pce__cta--primary:hover { background: #122624; border-color: #122624; transform: translateY(-1px); }
    .pce__cta--ghost { background: transparent; color: var(--p-charcoal); border: 1px solid rgba(16,16,16,0.3); }
    .pce__cta--ghost:hover { border-color: var(--p-charcoal); }
    .pce__signature { font-family: 'Jhon Halend', cursive; font-weight: 400; font-size: 22px; color: var(--p-ffb-dark); margin: 20px 0 0; opacity: 0.8; }

    @media (max-width: 820px) {
      .pce { grid-template-columns: 1fr; gap: 28px; }
      .pce__media { aspect-ratio: 4 / 4.2; }
      .pce__title { font-size: clamp(30px, 9vw, 44px); }
      .pce__meta { gap: 16px 24px; }
      .pce__meta-value { font-size: 22px; }
    }
    @media (max-width: 480px) {
      .pce__ctas { flex-direction: column; }
      .pce__cta { justify-content: center; }
      .pce__meta { grid-template-columns: 1fr; gap: 12px 0; padding: 14px 0; }
      .pce__meta-value { font-size: 20px; }
      .pce__meta-label { margin-top: 4px; }
    }
```

```html
<div class="wrap--editorial">
    <section class="pce" aria-labelledby="pce-ffb-title">
      <a href="/ffb/walkthrough" class="pce__media" aria-label="Watch the FFB walkthrough video">
        <img src="../../../assets/photos/tracy-outfit8-49.jpg" alt="Tracy Harris at the FFB mentorship" />
        <p class="pce__media-badge">Freedom Filled<span style="font-size:0.5em; vertical-align:super;">®</span></p>
        <span class="pce__duration">1:28</span>
        <button class="pce__play" type="button" aria-label="Play walkthrough preview">
          <svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><polygon points="7,4 20,12 7,20"/></svg>
        </button>
        <span class="pce__watch">
          <span>Watch walkthrough with Tracy</span>
          <span class="pce__watch-arrow">
            <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
          </span>
        </span>
      </a>

      <div class="pce__copy">
        <p class="pce__eyebrow">Freedom Filled® Business Mentorship</p>
        <h2 class="pce__title" id="pce-ffb-title">Mentorship for women building <em>by design</em>, not by default.</h2>
        <p class="pce__script">Peace, Profit, Presence.</p>
        <p class="pce__desc">
          A twelve-month container to <em>build, price and sell</em> your signature offer, with one-to-one coaching calls, live hot seats, and Tracy walking alongside you every season. Grounded in <em>story, strategy, spaciousness</em>.
        </p>
        <div class="pce__meta">
          <div>
            <div class="pce__meta-value"><em>12</em> months</div>
            <div class="pce__meta-label">container</div>
          </div>
          <div>
            <div class="pce__meta-value"><em>7+</em> years</div>
            <div class="pce__meta-label">refined with every cohort</div>
          </div>
          <div>
            <div class="pce__meta-value"><em>By</em> application</div>
            <div class="pce__meta-label">right-fit women only</div>
          </div>
        </div>
        <div class="pce__ctas">
          <a href="/ffb/apply" class="pce__cta pce__cta--primary">Apply for FFB</a>
          <a href="/ffb" class="pce__cta pce__cta--ghost">See the curriculum</a>
        </div>
        <p class="pce__signature">Xx Tracy</p>
      </div>
    </section>
  </div>
```

### product-callout.showcase

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-charcoal);
      color: var(--p-oatmeal);
      -webkit-font-smoothing: antialiased;
    }

    .wrap {
      max-width: 1280px;
      margin: 0 auto;
      padding: clamp(32px, 5vw, 72px) clamp(20px, 4vw, 48px);
    }
    .page-h {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(28px, 3.2vw, 40px);
      line-height: 1.1;
      margin: 0 0 8px;
      color: var(--p-oatmeal);
    }
    .page-h em { font-family: var(--f-serif-italic); font-style: italic; }
    .page-p {
      font-size: 15px; line-height: 1.65; max-width: 62ch;
      margin: 0 0 40px; color: var(--p-oatmeal); opacity: 0.78;
    }

    /* -------- CALLOUT BENTO -------- */
    .pc {
      display: grid;
      grid-template-columns: 1fr 1.4fr;
      grid-template-rows: auto auto;
      gap: 20px;
      color: var(--p-oatmeal);
    }

    /* Top-left: brand card (replaces TR orange). */
    .pc__brand {
      grid-column: 1;
      grid-row: 1;
      background: var(--p-ffb-dark);
      color: var(--p-oatmeal);
      border-radius: 28px;
      padding: 36px 32px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
      gap: 12px;
      min-height: 200px;
      position: relative;
      overflow: hidden;
    }
    .pc__brand::after {
      content: "";
      position: absolute;
      inset: auto -40% -60% auto;
      width: 240px; height: 240px;
      background: radial-gradient(circle, rgba(201,164,108,0.18) 0%, transparent 70%);
      pointer-events: none;
    }
    .pc__brand-eyebrow {
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--p-oatmeal);
      opacity: 0.85;
      margin: 0;
    }
    .pc__brand-title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(40px, 4.5vw, 64px);
      line-height: 0.92;
      letter-spacing: -0.01em;
      margin: 0;
      color: var(--p-oatmeal);
    }
    .pc__brand-title em {
      font-family: var(--f-serif-italic);
      font-style: italic;
    }
    .pc__brand-trademark {
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      margin: 6px 0 0;
      opacity: 0.65;
    }

    /* Top-right: headline */
    .pc__headline {
      grid-column: 2;
      grid-row: 1;
      display: flex;
      align-items: center;
      padding: 0 12px;
    }
    .pc__headline h2 {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(30px, 3.6vw, 52px);
      line-height: 1.08;
      letter-spacing: -0.01em;
      color: var(--p-oatmeal);
      margin: 0;
    }
    .pc__headline em {
      font-family: var(--f-serif-italic);
      font-style: italic;
    }

    /* Bottom-left: stats + description + ctas */
    .pc__copy {
      grid-column: 1;
      grid-row: 2;
      background: #1a1a1a;
      border-radius: 28px;
      padding: 36px 32px;
      display: flex;
      flex-direction: column;
      gap: 20px;
    }
    .pc__stats {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px 28px;
    }
    .pc__stat-value {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(32px, 3.2vw, 44px);
      line-height: 1;
      color: var(--p-oatmeal);
    }
    .pc__stat-label {
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 400;
      line-height: 1.35;
      color: var(--p-oatmeal);
      opacity: 0.72;
      margin-top: 6px;
    }
    .pc__desc {
      font-family: var(--f-sans);
      font-size: 14px;
      line-height: 1.6;
      color: var(--p-oatmeal);
      opacity: 0.82;
      margin: 0;
    }
    .pc__desc em { font-family: var(--f-serif-italic); font-style: italic; opacity: 1; }
    .pc__ctas {
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin-top: 4px;
    }
    .pc__cta {
      padding: 14px 22px;
      border-radius: var(--r-pill);
      background: #2a2a2a;
      color: var(--p-oatmeal);
      text-decoration: none;
      text-align: center;
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 500;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      border: 1px solid rgba(246,244,241,0.08);
      transition: background .25s ease, border-color .25s ease, transform .2s ease;
    }
    .pc__cta:hover {
      background: #353535;
      border-color: rgba(246,244,241,0.22);
      transform: translateY(-1px);
    }
    .pc__cta--primary {
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      border-color: var(--p-oatmeal);
    }
    .pc__cta--primary:hover { background: #fff; }

    /* Bottom-right: video thumbnail */
    .pc__video {
      grid-column: 2;
      grid-row: 2;
      position: relative;
      border-radius: 28px;
      overflow: hidden;
      background: #111;
      min-height: 360px;
      cursor: pointer;
      isolation: isolate;
    }
    .pc__video-img {
      position: absolute; inset: 0;
      background: url("../../../assets/photos/tracy-outfit8-49.jpg") center 25% / cover;
      filter: saturate(0.95) contrast(1.02);
      transition: transform .6s ease;
    }
    .pc__video:hover .pc__video-img { transform: scale(1.03); }
    .pc__video::before {
      content: "";
      position: absolute; inset: 0;
      background: linear-gradient(180deg,
        rgba(16,16,16,0.0) 0%,
        rgba(16,16,16,0.0) 50%,
        rgba(16,16,16,0.35) 100%);
      z-index: 1;
    }
    .pc__video-play {
      position: absolute;
      left: 50%; top: 50%;
      transform: translate(-50%, -50%);
      z-index: 2;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 12px 22px 12px 18px;
      background: rgba(246,244,241,0.92);
      color: var(--p-charcoal);
      border-radius: var(--r-pill);
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
      transition: background .2s ease, transform .2s ease;
    }
    .pc__video:hover .pc__video-play { background: #fff; transform: translate(-50%, -50%) scale(1.05); }
    .pc__video-caption {
      position: absolute;
      left: 24px; bottom: 22px;
      z-index: 2;
      color: var(--p-oatmeal);
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      opacity: 0.85;
    }

    /* -------- VARIANT B (Elite Coaching, gold) -------- */
    .pc.pc--elite .pc__brand {
      background: linear-gradient(135deg, #7b623c 0%, #c9a46c 70%, #ddc18f 100%);
      color: #1a1a1a;
    }
    .pc.pc--elite .pc__brand-eyebrow,
    .pc.pc--elite .pc__brand-title,
    .pc.pc--elite .pc__brand-trademark { color: #1a1a1a; }
    .pc.pc--elite .pc__brand::after {
      background: radial-gradient(circle, rgba(16,16,16,0.15) 0%, transparent 70%);
    }

    /* -------- SECTION DIVIDER -------- */
    .divider {
      height: 1px;
      background: rgba(246,244,241,0.1);
      margin: 80px 0 40px;
    }

    /* ==================================================================== */
    /*  VARIANT C, EDITORIAL (on-brand Tracy Harris, cream canvas)          */
    /* ==================================================================== */
    .wrap--editorial {
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      padding: clamp(56px, 8vw, 120px) clamp(20px, 4vw, 48px);
      margin-top: 0;
    }
    .wrap--editorial .page-h { color: var(--p-charcoal); }
    .wrap--editorial .page-p { color: var(--p-charcoal); opacity: 0.72; }

    .pce {
      max-width: 1180px;
      margin: 0 auto;
      color: var(--p-charcoal);
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: clamp(40px, 6vw, 80px);
      align-items: center;
    }
    .pce__media {
      position: relative;
      border-radius: 4px;
      overflow: hidden;
      aspect-ratio: 4 / 5;
      cursor: pointer;
    }
    .pce__media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 25%;
      display: block;
      filter: saturate(0.95) contrast(1.02);
      transition: transform .8s ease, filter .3s ease;
    }
    .pce:hover .pce__media img { transform: scale(1.025); filter: saturate(1) contrast(1.04); }
    /* Subtle radial vignette behind the play button, lifts it without ruining the editorial feel */
    .pce__media::after {
      content: "";
      position: absolute; inset: 0;
      background:
        radial-gradient(ellipse 45% 35% at 50% 50%,
          rgba(16,16,16,0.28) 0%,
          rgba(16,16,16,0.08) 60%,
          rgba(16,16,16,0.0) 85%),
        linear-gradient(180deg,
          rgba(16,16,16,0) 55%,
          rgba(16,16,16,0.35) 100%);
      pointer-events: none;
      transition: opacity .3s ease;
      opacity: 0.9;
    }
    .pce__media:hover::after { opacity: 1; }

    .pce__media-badge {
      position: absolute;
      left: 20px; top: 20px;
      z-index: 2;
      font-family: 'Jhon Halend', cursive;
      font-weight: 400;
      font-size: clamp(28px, 3vw, 40px);
      color: var(--p-oatmeal);
      line-height: 1;
      opacity: 0.95;
      text-shadow: 0 2px 12px rgba(16,16,16,0.4);
    }

    /* Central play button, obvious video signal, still quiet */
    .pce__play {
      position: absolute;
      left: 50%; top: 50%;
      transform: translate(-50%, -50%);
      z-index: 2;
      width: 72px; height: 72px;
      border-radius: 50%;
      background: rgba(246,244,241,0.96);
      color: var(--p-charcoal);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 0;
      cursor: pointer;
      box-shadow: 0 10px 28px rgba(16,16,16,0.28);
      transition: transform .25s ease, background .25s ease;
      padding: 0;
    }
    .pce__play svg { margin-left: 3px; }
    .pce:hover .pce__play { transform: translate(-50%, -50%) scale(1.06); background: #fff; }

    /* Duration chip, top-right, small, editorial */
    .pce__duration {
      position: absolute;
      right: 14px; top: 14px;
      z-index: 2;
      padding: 5px 10px;
      border-radius: var(--r-pill);
      background: rgba(16,16,16,0.55);
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
      color: var(--p-oatmeal);
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.22em;
      text-transform: uppercase;
    }

    .pce__watch {
      position: absolute;
      left: 14px; bottom: 14px;
      right: 14px;
      z-index: 2;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      padding: 12px 16px;
      border-radius: var(--r-pill);
      background: rgba(246,244,241,0.96);
      color: var(--p-charcoal);
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      text-decoration: none;
      transition: background .2s ease;
    }
    .pce__watch:hover { background: #fff; }
    .pce__watch-arrow {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      opacity: 0.7;
    }

    .pce__copy {
      padding: 8px 0;
    }
    .pce__eyebrow {
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: var(--p-ffb-dark);
      margin: 0 0 16px;
    }
    .pce__eyebrow::after {
      content: "";
      display: block;
      width: 40px;
      height: 1px;
      background: var(--p-ffb-dark);
      margin-top: 10px;
      opacity: 0.35;
    }
    .pce__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(34px, 4.2vw, 60px);
      line-height: 1.05;
      letter-spacing: -0.01em;
      color: var(--p-charcoal);
      margin: 0 0 18px;
    }
    .pce__title em {
      font-family: var(--f-serif-italic);
      font-style: italic;
    }
    .pce__script {
      font-family: 'Jhon Halend', cursive;
      font-weight: 400;
      font-size: clamp(22px, 2.4vw, 30px);
      color: var(--p-ffb-dark);
      margin: -6px 0 18px;
      line-height: 1.1;
    }
    .pce__desc {
      font-family: var(--f-sans);
      font-size: 15px;
      line-height: 1.72;
      color: var(--p-charcoal);
      opacity: 0.86;
      margin: 0 0 24px;
      max-width: 48ch;
    }
    .pce__desc em { font-family: var(--f-serif-italic); font-style: italic; opacity: 1; }
    .pce__meta {
      display: grid;
      grid-template-columns: repeat(3, auto);
      gap: 24px 40px;
      margin: 0 0 28px;
      padding: 18px 0;
      border-top: 1px solid rgba(16,16,16,0.12);
      border-bottom: 1px solid rgba(16,16,16,0.12);
    }
    .pce__meta-value {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(22px, 2.4vw, 28px);
      line-height: 1;
      color: var(--p-charcoal);
    }
    .pce__meta-value em { font-family: var(--f-serif-italic); font-style: italic; }
    .pce__meta-label {
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--p-charcoal);
      opacity: 0.65;
      margin-top: 6px;
    }
    .pce__ctas {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
    }
    .pce__cta {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 14px 26px;
      border-radius: var(--r-pill);
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      text-decoration: none;
      transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
    }
    .pce__cta--primary {
      background: var(--p-ffb-dark);
      color: var(--p-oatmeal);
      border: 1px solid var(--p-ffb-dark);
    }
    .pce__cta--primary:hover { background: #122624; border-color: #122624; transform: translateY(-1px); }
    .pce__cta--ghost {
      background: transparent;
      color: var(--p-charcoal);
      border: 1px solid rgba(16,16,16,0.3);
    }
    .pce__cta--ghost:hover { border-color: var(--p-charcoal); }

    /* Signature mark */
    .pce__signature {
      font-family: 'Jhon Halend', cursive;
      font-weight: 400;
      font-size: 22px;
      color: var(--p-ffb-dark);
      margin: 20px 0 0;
      opacity: 0.8;
    }

    /* ==================================================================== */
    /*  VARIANT D, BENTO, CLEARER (cream canvas, tactile cards, big video) */
    /* ==================================================================== */
    .wrap--clear {
      background: var(--p-cream);
      color: var(--p-charcoal);
      padding: clamp(56px, 8vw, 120px) clamp(20px, 4vw, 48px);
    }
    .wrap--clear .page-h { color: var(--p-charcoal); }
    .wrap--clear .page-p { color: var(--p-charcoal); opacity: 0.72; }

    .pcc {
      max-width: 1200px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1.35fr;
      grid-template-rows: auto auto;
      gap: 24px;
      color: var(--p-charcoal);
    }
    /* Brand card top-left */
    .pcc__brand {
      grid-column: 1;
      grid-row: 1;
      background: var(--p-ffb-dark);
      color: var(--p-oatmeal);
      border-radius: 24px;
      padding: 40px 36px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
      gap: 12px;
      min-height: 220px;
      position: relative;
      overflow: hidden;
      box-shadow: 0 20px 40px rgba(30,55,53,0.2);
    }
    .pcc__brand::after {
      content: "";
      position: absolute;
      inset: auto -30% -50% auto;
      width: 260px; height: 260px;
      background: radial-gradient(circle, rgba(201,164,108,0.22) 0%, transparent 70%);
      pointer-events: none;
    }
    .pcc__brand-eyebrow {
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--p-oatmeal);
      opacity: 0.85;
      margin: 0;
    }
    .pcc__brand-title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(44px, 5vw, 70px);
      line-height: 0.94;
      margin: 0;
    }
    .pcc__brand-title em { font-family: var(--f-serif-italic); font-style: italic; }
    .pcc__brand-qualifier {
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      margin: 6px 0 0;
      opacity: 0.65;
    }

    /* Headline top-right */
    .pcc__headline {
      grid-column: 2;
      grid-row: 1;
      display: flex;
      align-items: center;
      padding: 0 16px;
    }
    .pcc__headline h2 {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(32px, 3.8vw, 54px);
      line-height: 1.06;
      letter-spacing: -0.01em;
      color: var(--p-charcoal);
      margin: 0;
    }
    .pcc__headline em { font-family: var(--f-serif-italic); font-style: italic; }

    /* Copy card bottom-left, WHITE on cream for clear contrast */
    .pcc__copy {
      grid-column: 1;
      grid-row: 2;
      background: var(--p-white);
      border-radius: 24px;
      padding: 36px 32px;
      display: flex;
      flex-direction: column;
      gap: 22px;
      box-shadow: 0 10px 32px rgba(16,16,16,0.08);
      border: 1px solid rgba(16,16,16,0.05);
    }
    .pcc__stats {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px 28px;
    }
    .pcc__stat-value {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(30px, 3vw, 42px);
      line-height: 1;
      color: var(--p-ffb-dark);
    }
    .pcc__stat-value em { font-family: var(--f-serif-italic); font-style: italic; }
    .pcc__stat-label {
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 400;
      line-height: 1.35;
      color: var(--p-charcoal);
      opacity: 0.7;
      margin-top: 6px;
    }
    .pcc__desc {
      font-family: var(--f-sans);
      font-size: 14px;
      line-height: 1.65;
      color: var(--p-charcoal);
      opacity: 0.86;
      margin: 0;
    }
    .pcc__desc em { font-family: var(--f-serif-italic); font-style: italic; opacity: 1; }
    .pcc__ctas {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .pcc__cta {
      padding: 14px 22px;
      border-radius: var(--r-pill);
      text-decoration: none;
      text-align: center;
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      border: 1px solid rgba(16,16,16,0.12);
      background: var(--p-white);
      color: var(--p-charcoal);
      transition: background .25s ease, color .25s ease, border-color .25s ease, transform .2s ease;
    }
    .pcc__cta:hover {
      border-color: var(--p-ffb-dark);
      color: var(--p-ffb-dark);
      transform: translateY(-1px);
    }
    .pcc__cta--primary {
      background: var(--p-ffb-dark);
      color: var(--p-oatmeal);
      border-color: var(--p-ffb-dark);
    }
    .pcc__cta--primary:hover {
      background: #122624;
      color: var(--p-oatmeal);
      border-color: #122624;
    }

    /* VIDEO, big, unmistakable, face-forward */
    .pcc__video {
      grid-column: 2;
      grid-row: 2;
      position: relative;
      border-radius: 24px;
      overflow: hidden;
      background: #111;
      min-height: 420px;
      cursor: pointer;
      isolation: isolate;
      box-shadow: 0 20px 48px rgba(16,16,16,0.18);
      text-decoration: none;
      display: block;
    }
    .pcc__video-img {
      position: absolute; inset: 0;
      background: url("../../../assets/photos/tracy-outfit8-49.jpg") center 18% / cover;
      filter: saturate(1) contrast(1.04);
      transition: transform .7s ease;
    }
    .pcc__video:hover .pcc__video-img { transform: scale(1.04); }
    .pcc__video::before {
      content: "";
      position: absolute; inset: 0;
      background:
        radial-gradient(ellipse 75% 60% at 50% 55%,
          rgba(0,0,0,0.18) 0%,
          rgba(0,0,0,0) 60%),
        linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,0.55) 100%);
      z-index: 1;
    }
    /* Restrained central play button, no pulsing halo, just confident */
    .pcc__video-play {
      position: absolute;
      left: 50%; top: 50%;
      transform: translate(-50%, -50%);
      z-index: 2;
      width: 64px; height: 64px;
      border-radius: 50%;
      background: rgba(246,244,241,0.96);
      color: var(--p-charcoal);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      transition: transform .25s ease, background .25s ease;
      border: 0; cursor: pointer;
      box-shadow: 0 8px 22px rgba(0,0,0,0.22);
    }
    .pcc__video:hover .pcc__video-play { transform: translate(-50%, -50%) scale(1.04); background: #fff; }

    /* Quiet "With Tracy" badge, no pulsing dot, just a small editorial tag */
    .pcc__video-name {
      position: absolute;
      left: 18px; top: 18px;
      z-index: 2;
      padding: 6px 12px;
      border-radius: var(--r-pill);
      background: rgba(16,16,16,0.45);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.24em;
      text-transform: uppercase;
      color: var(--p-oatmeal);
    }

    /* Single-line caption: title + duration inline */
    .pcc__video-caption {
      position: absolute;
      left: 20px; right: 20px; bottom: 18px;
      z-index: 2;
      color: var(--p-oatmeal);
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
      gap: 16px;
    }
    .pcc__video-caption-title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(16px, 1.6vw, 20px);
      line-height: 1.2;
      margin: 0;
      text-shadow: 0 1px 10px rgba(0,0,0,0.35);
    }
    .pcc__video-caption-title em { font-family: var(--f-serif-italic); font-style: italic; }
    .pcc__video-caption-meta {
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.24em;
      text-transform: uppercase;
      opacity: 0.82;
      margin: 0;
      white-space: nowrap;
      flex-shrink: 0;
    }

    /* -------- MOBILE, switch to flex column so cards are always full-width -------- */
    @media (max-width: 820px) {
      .pcc {
        display: flex;
        flex-direction: column;
        gap: 14px;
      }
      .pcc__brand    { order: 1; min-height: 160px; padding: 28px 26px; border-radius: 20px; }
      .pcc__brand-title { font-size: clamp(34px, 9vw, 52px); }
      .pcc__headline { order: 2; padding: 4px 2px; }
      .pcc__headline h2 { font-size: clamp(26px, 7vw, 36px); }
      .pcc__video    { order: 3; min-height: 260px; border-radius: 20px; }
      .pcc__video-play { width: 58px; height: 58px; }
      .pcc__video-name { left: 14px; top: 14px; font-size: 9px; letter-spacing: 0.2em; }
      .pcc__video-caption { left: 16px; right: 16px; bottom: 14px; flex-direction: column; align-items: flex-start; gap: 4px; }
      .pcc__video-caption-title { font-size: 15px; }
      .pcc__copy     { order: 4; padding: 26px 22px; border-radius: 20px; }
      .pcc__stats    { gap: 14px 18px; }
      .pcc__stat-value { font-size: 26px; }
      .pcc__stat-label { font-size: 11px; }
    }
    @media (max-width: 400px) {
      .pcc__stats { grid-template-columns: 1fr; gap: 12px; }
      .pcc__video { min-height: 220px; }
      .pcc__video-play { width: 52px; height: 52px; }
    }

    /* -------- MOBILE -------- */
    @media (max-width: 820px) {
      .pc {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto auto;
        gap: 14px;
      }
      .pc__brand { grid-column: 1; grid-row: 1; min-height: 160px; padding: 28px; border-radius: 22px; }
      .pc__brand-title { font-size: clamp(36px, 10vw, 56px); }
      .pc__headline { grid-column: 1; grid-row: 2; padding: 10px 4px; }
      .pc__headline h2 { font-size: clamp(26px, 7.5vw, 38px); }
      .pc__copy { grid-column: 1; grid-row: 3; padding: 28px 24px; border-radius: 22px; }
      .pc__stats { gap: 16px 20px; }
      .pc__stat-value { font-size: 30px; }
      .pc__video { grid-column: 1; grid-row: 4; min-height: 240px; border-radius: 22px; }

      /* Editorial variant */
      .pce {
        grid-template-columns: 1fr;
        gap: 28px;
      }
      .pce__media { aspect-ratio: 4 / 4.2; }
      .pce__title { font-size: clamp(30px, 9vw, 44px); }
      .pce__meta { gap: 16px 24px; }
      .pce__meta-value { font-size: 22px; }
    }

    @media (max-width: 480px) {
      .pc__ctas { flex-direction: column; }
      .pce__ctas { flex-direction: column; }
      .pce__cta { justify-content: center; }
      .pce__meta { grid-template-columns: 1fr; gap: 12px 0; padding: 14px 0; }
      .pce__meta-value { font-size: 20px; }
      .pce__meta-label { margin-top: 4px; }
    }
```

```html
<div class="wrap">
    <h1 class="page-h">Product <em>callout</em>, bento section</h1>
    <p class="page-p">Highlights a single featured program (FFB) or Tracy's quieter Elite Coaching track. Four-zone bento: brand card, headline, stats + CTAs, and a video thumbnail that opens a class replay or discovery session.</p>

    <!-- Variant A: FFB Mentorship -->
    <section class="pc" aria-labelledby="pc-ffb-title">
      <div class="pc__brand">
        <p class="pc__brand-eyebrow">Freedom Filled® Business</p>
        <h3 class="pc__brand-title" id="pc-ffb-title">Mentorship</h3>
        <p class="pc__brand-trademark">12-month · application only</p>
      </div>

      <div class="pc__headline">
        <h2>Mentorship for women building <em>by design</em>, not by default.</h2>
      </div>

      <div class="pc__copy">
        <div class="pc__stats">
          <div>
            <div class="pc__stat-value">7+ yrs</div>
            <div class="pc__stat-label">running, refined with every cohort</div>
          </div>
          <div>
            <div class="pc__stat-value">~10%</div>
            <div class="pc__stat-label">Tracy's free-event to enrol conversion</div>
          </div>
        </div>
        <p class="pc__desc">
          A twelve-month container to <em>build, price and sell</em> your signature offer, with one-to-one coaching calls, live hot seats, and Tracy in your corner every step. Grounded in story, strategy, and spaciousness.
        </p>
        <div class="pc__ctas">
          <a class="pc__cta pc__cta--primary" href="/ffb/apply">Apply for FFB</a>
          <a class="pc__cta" href="/ffb">See the curriculum</a>
        </div>
      </div>

      <a class="pc__video" href="/ffb/walkthrough" aria-label="Watch the FFB walkthrough video">
        <div class="pc__video-img" role="img" aria-label="Tracy in her home office"></div>
        <span class="pc__video-play">
          <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><polygon points="6,4 20,12 6,20"/></svg>
          Watch walkthrough
        </span>
        <span class="pc__video-caption">90 seconds · with Tracy</span>
      </a>
    </section>

    <div class="divider" aria-hidden="true"></div>

    <!-- Variant B: Elite / VIP coaching (gold) -->
    <section class="pc pc--elite" aria-labelledby="pc-elite-title">
      <div class="pc__brand">
        <p class="pc__brand-eyebrow">Tracy Harris · Private</p>
        <h3 class="pc__brand-title" id="pc-elite-title">Elite <em>Coaching</em></h3>
        <p class="pc__brand-trademark">One-to-one · by invitation</p>
      </div>

      <div class="pc__headline">
        <h2>Private strategy for women ready for <em>quietly</em> extraordinary growth.</h2>
      </div>

      <div class="pc__copy">
        <div class="pc__stats">
          <div>
            <div class="pc__stat-value">1:1</div>
            <div class="pc__stat-label">direct access, not a container</div>
          </div>
          <div>
            <div class="pc__stat-value">Select</div>
            <div class="pc__stat-label">a handful of women at any time</div>
          </div>
        </div>
        <p class="pc__desc">
          For Mastermind alumnae and aligned leaders: a private coaching track with Tracy for the seasons that ask for <em>deep, bespoke thinking</em>, pricing decisions, big launches, brand pivots, succession.
        </p>
        <div class="pc__ctas">
          <a class="pc__cta pc__cta--primary" href="/elite/enquire">Request the details</a>
          <a class="pc__cta" href="/ffm">Explore the Mastermind</a>
        </div>
      </div>

      <a class="pc__video" href="/elite/enquire" aria-label="Watch an Elite Coaching introduction">
        <div class="pc__video-img" role="img" aria-label="Tracy at a retreat"></div>
        <span class="pc__video-play">
          <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><polygon points="6,4 20,12 6,20"/></svg>
          A word from Tracy
        </span>
        <span class="pc__video-caption">2 minutes · private</span>
      </a>
    </section>
  </div>

  <!-- ================================================================ -->
  <!--  VARIANT C, EDITORIAL (on-brand Tracy Harris, cream canvas)      -->
  <!-- ================================================================ -->
  <div class="wrap wrap--editorial">
    <h1 class="page-h">Editorial <em>variant</em>, on-brand</h1>
    <p class="page-p">Same intent, highlight a flagship program, rendered in the Tracy Harris editorial style: cream canvas, aztek-green accents, Jhon Halend script callouts, serif display type, generous air. Two side-by-side halves: portrait + copy.</p>

    <section class="pce" aria-labelledby="pce-ffb-title">
      <a href="/ffb/walkthrough" class="pce__media" aria-label="Watch the FFB walkthrough video">
        <img src="../../../assets/photos/tracy-outfit8-49.jpg" alt="Tracy Harris at the FFB mentorship" />
        <p class="pce__media-badge">Freedom Filled<span style="font-size:0.5em; vertical-align:super;">®</span></p>
        <span class="pce__duration">1:28</span>
        <button class="pce__play" type="button" aria-label="Play walkthrough preview">
          <svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><polygon points="7,4 20,12 7,20"/></svg>
        </button>
        <span class="pce__watch">
          <span>Watch walkthrough with Tracy</span>
          <span class="pce__watch-arrow">
            <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
          </span>
        </span>
      </a>

      <div class="pce__copy">
        <p class="pce__eyebrow">Freedom Filled® Business Mentorship</p>
        <h2 class="pce__title" id="pce-ffb-title">Mentorship for women building <em>by design</em>, not by default.</h2>
        <p class="pce__script">Peace, Profit, Presence.</p>
        <p class="pce__desc">
          A twelve-month container to <em>build, price and sell</em> your signature offer, with one-to-one coaching calls, live hot seats, and Tracy walking alongside you every season. Grounded in <em>story, strategy, spaciousness</em>.
        </p>
        <div class="pce__meta">
          <div>
            <div class="pce__meta-value"><em>12</em> months</div>
            <div class="pce__meta-label">container</div>
          </div>
          <div>
            <div class="pce__meta-value"><em>7+</em> years</div>
            <div class="pce__meta-label">refined with every cohort</div>
          </div>
          <div>
            <div class="pce__meta-value"><em>By</em> application</div>
            <div class="pce__meta-label">right-fit women only</div>
          </div>
        </div>
        <div class="pce__ctas">
          <a href="/ffb/apply" class="pce__cta pce__cta--primary">Apply for FFB</a>
          <a href="/ffb" class="pce__cta pce__cta--ghost">See the curriculum</a>
        </div>
        <p class="pce__signature">Xx Tracy</p>
      </div>
    </section>
  </div>

  <!-- ================================================================ -->
  <!--  VARIANT D, BENTO, CLEARER (cream canvas, white cards, big video) -->
  <!-- ================================================================ -->
  <div class="wrap wrap--clear">
    <h1 class="page-h">Bento <em>variant</em>, clearer</h1>
    <p class="page-p">Cream canvas + white cards with soft shadow so the boxes actually read as cards. Video takes up most of the right side with a pulsing 82px play button, a "Tracy Harris · Live" pill top-left, and the video title captioned inside the card, so there's no mistaking it's a video of Tracy you can watch.</p>

    <section class="pcc" aria-labelledby="pcc-ffb-title">
      <div class="pcc__brand">
        <p class="pcc__brand-eyebrow">Freedom Filled® Business</p>
        <h3 class="pcc__brand-title" id="pcc-ffb-title">Mentorship</h3>
        <p class="pcc__brand-qualifier">12-month · application only</p>
      </div>

      <div class="pcc__headline">
        <h2>Mentorship for women building <em>by design</em>.</h2>
      </div>

      <div class="pcc__copy">
        <div class="pcc__stats">
          <div>
            <div class="pcc__stat-value"><em>7+</em> yrs</div>
            <div class="pcc__stat-label">running, refined with every cohort</div>
          </div>
          <div>
            <div class="pcc__stat-value"><em>~10%</em></div>
            <div class="pcc__stat-label">Tracy's free-event to enrol rate</div>
          </div>
        </div>
        <p class="pcc__desc">
          A twelve-month container to <em>build, price and sell</em> your signature offer, with Tracy walking alongside you every season. Grounded in story, strategy, and spaciousness.
        </p>
        <div class="pcc__ctas">
          <a class="pcc__cta pcc__cta--primary" href="/ffb/apply">Apply for FFB</a>
          <a class="pcc__cta" href="/ffb">See the curriculum</a>
        </div>
      </div>

      <a class="pcc__video" href="/ffb/walkthrough" aria-label="Watch the FFB walkthrough video with Tracy">
        <div class="pcc__video-img" role="img" aria-label="Tracy Harris on camera"></div>
        <span class="pcc__video-name">With Tracy</span>
        <span class="pcc__video-play" aria-hidden="true">
          <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><polygon points="7,4 20,12 7,20"/></svg>
        </span>
        <div class="pcc__video-caption">
          <h4 class="pcc__video-caption-title">A <em>90-second</em> walkthrough</h4>
          <p class="pcc__video-caption-meta">1:28</p>
        </div>
      </a>
    </section>
  </div>
```

---

## programs-grid · 3 variants

### Shared CSS · `components/programs-grid/programs-grid.css`

```css
/* Programs grid component, 3 cards by default, responsive to 1 on mobile */

.programs {
  background: var(--surface-canvas);
  padding: var(--sp-9) var(--sp-7);
}

.programs__inner {
  width: 100%;
}

.programs__header {
  max-width: 640px;
  margin: 0 0 var(--sp-8) 0;
}

.programs__eyebrow {
  font-family: var(--f-sans);
  font-size: 11px;
  font-weight: var(--w-medium);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin: 0 0 var(--sp-3) 0;
}

.programs__title {
  font-family: var(--f-serif-display);
  font-weight: var(--w-regular);
  font-size: clamp(40px, 5vw, 64px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--ink-heading);
  margin: 0 0 var(--sp-5) 0;
}

.programs__title em {
  font-family: var(--f-serif-italic);
  font-style: italic;
}

.programs__sub {
  font-family: var(--f-sans);
  font-size: 17px;
  line-height: 1.6;
  color: var(--ink-body);
  margin: 0;
  max-width: 56ch;
}

.programs__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-6);
}

.programs__grid--two { grid-template-columns: repeat(2, 1fr); }
.programs__grid--four { grid-template-columns: repeat(4, 1fr); gap: var(--sp-5); }

/* --- Card --- */
.program-card {
  display: flex;
  flex-direction: column;
  background: var(--surface-elevated);
  padding: var(--sp-7) var(--sp-6) var(--sp-6);
  border: 1px solid var(--border-hairline);
  border-top-width: 3px;
  border-top-color: var(--accent);
  border-radius: 0;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.program-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(16, 16, 16, 0.06);
}

.program-card[data-accent="sage"] { border-top-color: var(--p-sage); }
.program-card[data-accent="gold"] { border-top-color: var(--p-gold-dark); }
.program-card[data-accent="green"] { border-top-color: var(--p-aztek); }
.program-card[data-accent="navy"] { border-top-color: var(--p-fresh-navy); }
.program-card[data-accent="orange"] { border-top-color: var(--p-fresh-orange); }

/* Logo slot, sits above the title, small branded wordmark */
.program-card__logo {
  display: flex;
  align-items: center;
  height: 36px;
  margin: 0 0 var(--sp-4) 0;
}

.program-card__logo img,
.program-card__logo svg {
  height: 100%;
  width: auto;
  max-width: 180px;
  display: block;
}

/* Small brand badge (dot + short label) used as a secondary distinguisher */
.program-card__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--f-sans);
  font-size: 10px;
  font-weight: var(--w-medium);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin: 0 0 var(--sp-3) 0;
}
.program-card__badge::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent);
}
.program-card[data-accent="sage"] .program-card__badge::before { background: var(--p-sage); }
.program-card[data-accent="gold"] .program-card__badge::before {
  background: linear-gradient(135deg, var(--p-gold-dark), var(--p-gold-mid));
}
.program-card[data-accent="green"] .program-card__badge::before { background: var(--p-aztek); }
.program-card[data-accent="orange"] .program-card__badge::before { background: var(--p-fresh-orange); }

/* Gold gradient accent for FFM, subtle top bar replacement for solid border */
.program-card[data-accent="gold"] {
  border-top: 3px solid transparent;
  border-image: linear-gradient(90deg, var(--p-gold-dark), var(--p-gold-mid)) 1;
  border-image-slice: 1;
}

/* Whole-card warm wash per brand, barely-there left edge tint */
.program-card {
  position: relative;
  background-image: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 100%);
}

.program-card__title {
  font-family: var(--f-serif-display);
  font-weight: var(--w-regular);
  font-size: 28px;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--ink-heading);
  margin: 0 0 var(--sp-2) 0;
}

.program-card__title em {
  font-family: var(--f-serif-italic);
  font-style: italic;
}

.program-card__tagline {
  font-family: var(--f-serif-italic);
  font-style: italic;
  font-size: 17px;
  color: var(--ink-mute);
  margin: 0 0 var(--sp-5) 0;
  line-height: 1.3;
}

.program-card__desc {
  font-family: var(--f-sans);
  font-size: 14px;
  line-height: 1.65;
  color: var(--ink-body);
  margin: 0 0 var(--sp-6) 0;
  flex: 1;
}

.program-card__facts {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  margin: 0 0 var(--sp-6) 0;
  padding: var(--sp-5) 0 0;
  border-top: 1px solid var(--border-hairline);
}

.program-card__facts > div {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--sp-4);
}

.program-card__facts dt {
  font-family: var(--f-sans);
  font-size: 10px;
  font-weight: var(--w-medium);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin: 0;
}

.program-card__facts dd {
  font-family: var(--f-sans);
  font-size: 14px;
  font-weight: var(--w-medium);
  color: var(--ink-heading);
  margin: 0;
  text-align: right;
}

.program-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--f-sans);
  font-size: 12px;
  font-weight: var(--w-medium);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-heading);
  text-decoration: none;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--ink-heading);
  align-self: flex-start;
  transition: gap 0.2s ease;
}

.program-card__cta:hover {
  gap: 14px;
}

.program-card__cta svg {
  width: 14px;
  height: 14px;
  transition: transform 0.2s ease;
}

.program-card__cta:hover svg {
  transform: translateX(3px);
}

/* CTA row, lets CTA sit beside a tag like "Application-based" */
.program-card__cta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4);
  margin-top: auto;
}

.program-card__tag {
  font-family: var(--f-sans);
  font-size: 10px;
  font-weight: var(--w-medium);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-mute);
  padding: 5px 10px;
  border: 1px solid var(--border-hairline);
  border-radius: var(--r-pill);
}

/* --- Responsive --- */
@media (max-width: 960px) {
  .programs {
    padding: var(--sp-8) var(--sp-5);
  }
  .programs__grid,
  .programs__grid--two,
  .programs__grid--four {
    grid-template-columns: 1fr;
    gap: var(--sp-5);
  }
  .program-card {
    padding: var(--sp-6) var(--sp-5);
  }
}
```

### programs-grid.showcase

```css
body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; }
    .brand-label {
      position: sticky; top: 0; z-index: 10;
      background: var(--p-charcoal); color: var(--p-oatmeal);
      font-family: var(--f-sans); font-size: 11px; font-weight: 500;
      letter-spacing: 0.2em; text-transform: uppercase;
      padding: 10px 24px;
      display: flex; justify-content: space-between;
    }
    /* Arrow icon reusable */
```

```html
<div class="brand-label"><span>TRACY HARRIS CO, homepage programs grid (3-up)</span><code>data-brand="tracy"</code></div>
  <section class="programs" data-brand="tracy">
    <div class="programs__inner">
      <header class="programs__header">
        <p class="programs__eyebrow">The pathway</p>
        <h2 class="programs__title">Three programs. <em>One pathway</em>.</h2>
        <p class="programs__sub">Start where you are, choose the path that fits, and build something that lets you live.</p>
      </header>

      <div class="programs__grid">

        <article class="program-card" data-accent="green">
          <h3 class="program-card__title">The FRESH <em>Framework™</em></h3>
          <p class="program-card__tagline">The foundation.</p>
          <p class="program-card__desc">Tracy's personal operating system. Fitness and Nutrition, Relationships, Environment, Self, Hustle. The foundation beneath every program, and the place many women start.</p>
          <dl class="program-card__facts">
            <div><dt>Format</dt><dd>Self-led + quiz</dd></div>
            <div><dt>Entry point</dt><dd>FRESH Quiz</dd></div>
            <div><dt>Investment</dt><dd>Free</dd></div>
          </dl>
          <a href="/quiz" class="program-card__cta">Take the Quiz
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
          </a>
        </article>

        <article class="program-card" data-accent="sage">
          <h3 class="program-card__title">Freedom Filled® <em>Business</em></h3>
          <p class="program-card__tagline">The flagship mentorship.</p>
          <p class="program-card__desc">A 12-month mentorship for women ready to move beyond content and into the full architecture of a profitable, scalable online business. Strategy meets identity.</p>
          <dl class="program-card__facts">
            <div><dt>Duration</dt><dd>12 months</dd></div>
            <div><dt>Format</dt><dd>Mentorship</dd></div>
            <div><dt>Investment</dt><dd>From $6,000 AUD</dd></div>
          </dl>
          <a href="/ffb" class="program-card__cta">Explore FFB
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
          </a>
        </article>

        <article class="program-card" data-accent="gold">
          <h3 class="program-card__title">Freedom Filled® <em>Mastermind</em></h3>
          <p class="program-card__tagline">The intimate room.</p>
          <p class="program-card__desc">Tracy's most intimate and premium offering. Application-based, intentionally small, for women ready to lead at a higher level. Includes Bali retreats.</p>
          <dl class="program-card__facts">
            <div><dt>Cohort</dt><dd>20 women max</dd></div>
            <div><dt>Format</dt><dd>Application-based</dd></div>
            <div><dt>Investment</dt><dd>From $31,000 AUD</dd></div>
          </dl>
          <a href="/ffm" class="program-card__cta">Apply for FFM
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
          </a>
        </article>

      </div>
    </div>
  </section>

  <div class="brand-label"><span>TWO-UP VARIANT, for product pages showing sister programs</span><code>class="programs__grid--two"</code></div>
  <section class="programs" data-brand="tracy">
    <div class="programs__inner">
      <header class="programs__header">
        <p class="programs__eyebrow">Also by Tracy</p>
        <h2 class="programs__title">Other ways to <em>work with Tracy</em>.</h2>
      </header>
      <div class="programs__grid programs__grid--two">
        <article class="program-card" data-accent="gold">
          <h3 class="program-card__title">Freedom Filled® <em>Mastermind</em></h3>
          <p class="program-card__tagline">The intimate room.</p>
          <p class="program-card__desc">For women ready to lead at a higher level. Application-based, intentionally small, includes Bali retreats.</p>
          <a href="/ffm" class="program-card__cta">Apply for FFM
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
          </a>
        </article>
        <article class="program-card" data-accent="green">
          <h3 class="program-card__title">The FRESH <em>Framework™</em></h3>
          <p class="program-card__tagline">The foundation.</p>
          <p class="program-card__desc">The operating system every program is built on. Not sure where you are? Take the quiz.</p>
          <a href="/quiz" class="program-card__cta">Take the Quiz
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
          </a>
        </article>
      </div>
    </div>
  </section>
```

### programs-grid.three-card

Wrapper context: `<body data-brand="tracy">`

```html
<section class="programs" data-brand="tracy">
    <div class="programs__inner">
      <header class="programs__header">
        <p class="programs__eyebrow">The pathway</p>
        <h2 class="programs__title">Three programs. <em>One pathway</em>.</h2>
        <p class="programs__sub">Start where you are, choose the path that fits, and build something that lets you live.</p>
      </header>

      <div class="programs__grid">

        <article class="program-card" data-accent="green">
          <div class="program-card__logo">
            <img src="../../../assets/logos/fresh/fresh-primary.svg" alt="FRESH Framework logo" />
          </div>
          <p class="program-card__badge">Free · Foundation</p>
          <h3 class="program-card__title">The FRESH <em>Framework™</em></h3>
          <p class="program-card__tagline">The foundation.</p>
          <p class="program-card__desc">Tracy's personal operating system. Fitness and Nutrition, Relationships, Environment, Self, Hustle. The foundation beneath every program, and the place many women start.</p>
          <dl class="program-card__facts">
            <div><dt>Format</dt><dd>Self-led + quiz</dd></div>
            <div><dt>Entry point</dt><dd>FRESH Quiz</dd></div>
            <div><dt>Investment</dt><dd>Free</dd></div>
          </dl>
          <div class="program-card__cta-row">
            <a href="/quiz" class="program-card__cta">Take the Quiz
              <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
            </a>
          </div>
        </article>

        <article class="program-card" data-accent="sage">
          <div class="program-card__logo">
            <img src="../../../assets/logos/ffb/ffb-primary.svg" alt="Freedom Filled Business logo" />
          </div>
          <p class="program-card__badge">Flagship · 12 months</p>
          <h3 class="program-card__title">Freedom Filled® <em>Business</em></h3>
          <p class="program-card__tagline">The flagship mentorship.</p>
          <p class="program-card__desc">A 12-month mentorship for women ready to move beyond content and into the full architecture of a profitable, scalable online business. Strategy meets identity.</p>
          <dl class="program-card__facts">
            <div><dt>Duration</dt><dd>12 months</dd></div>
            <div><dt>Format</dt><dd>Mentorship</dd></div>
            <div><dt>Investment</dt><dd>From $6,000 AUD</dd></div>
          </dl>
          <div class="program-card__cta-row">
            <a href="/ffb" class="program-card__cta">Explore FFB
              <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
            </a>
            <span class="program-card__tag">Open enrolment</span>
          </div>
        </article>

        <article class="program-card" data-accent="gold">
          <div class="program-card__logo">
            <img src="../../../assets/logos/ffm/ffm-primary.svg" alt="Freedom Filled Mastermind logo" />
          </div>
          <p class="program-card__badge">Premium · 20 seats</p>
          <h3 class="program-card__title">Freedom Filled® <em>Mastermind</em></h3>
          <p class="program-card__tagline">The intimate room.</p>
          <p class="program-card__desc">Tracy's most intimate and premium offering. Application-based, intentionally small, for women ready to lead at a higher level. Includes Bali retreats.</p>
          <dl class="program-card__facts">
            <div><dt>Cohort</dt><dd>20 women max</dd></div>
            <div><dt>Format</dt><dd>Application-based</dd></div>
            <div><dt>Investment</dt><dd>From $31,000 AUD</dd></div>
          </dl>
          <div class="program-card__cta-row">
            <a href="/ffm" class="program-card__cta">Apply for FFM
              <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
            </a>
            <span class="program-card__tag">By application</span>
          </div>
        </article>

      </div>
    </div>
  </section>
```

### programs-grid.two-card

Wrapper context: `<body data-brand="tracy">`

```html
<section class="programs" data-brand="tracy">
    <div class="programs__inner">
      <header class="programs__header">
        <p class="programs__eyebrow">Also by Tracy</p>
        <h2 class="programs__title">Other ways to <em>work with Tracy</em>.</h2>
      </header>
      <div class="programs__grid programs__grid--two">
        <article class="program-card" data-accent="gold">
          <div class="program-card__logo">
            <img src="../../../assets/logos/ffm/ffm-primary.svg" alt="Freedom Filled Mastermind logo" />
          </div>
          <p class="program-card__badge">Premium · 20 seats</p>
          <h3 class="program-card__title">Freedom Filled® <em>Mastermind</em></h3>
          <p class="program-card__tagline">The intimate room.</p>
          <p class="program-card__desc">For women ready to lead at a higher level. Application-based, intentionally small, includes Bali retreats and hot seats with Tracy.</p>
          <dl class="program-card__facts">
            <div><dt>Cohort</dt><dd>20 women max</dd></div>
            <div><dt>Investment</dt><dd>From $31,000 AUD</dd></div>
          </dl>
          <div class="program-card__cta-row">
            <a href="/ffm" class="program-card__cta">Apply for FFM
              <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
            </a>
            <span class="program-card__tag">By application</span>
          </div>
        </article>
        <article class="program-card" data-accent="green">
          <div class="program-card__logo">
            <img src="../../../assets/logos/fresh/fresh-primary.svg" alt="FRESH Framework logo" />
          </div>
          <p class="program-card__badge">Free · Foundation</p>
          <h3 class="program-card__title">The FRESH <em>Framework™</em></h3>
          <p class="program-card__tagline">The foundation.</p>
          <p class="program-card__desc">The operating system every program is built on. Not sure where you are? Take the quiz and find out which pillar needs your attention first.</p>
          <dl class="program-card__facts">
            <div><dt>Format</dt><dd>Self-led + quiz</dd></div>
            <div><dt>Investment</dt><dd>Free</dd></div>
          </dl>
          <div class="program-card__cta-row">
            <a href="/quiz" class="program-card__cta">Take the Quiz
              <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
            </a>
          </div>
        </article>
      </div>
    </div>
  </section>
```

---

## soft-upsell · 1 variant

### soft-upsell.showcase

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }
    .page { padding: clamp(32px, 5vw, 72px) clamp(16px, 4vw, 48px); }

    .wrap { max-width: 820px; margin: 0 auto; }

    .eyebrow-row {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 18px;
    }
    .eyebrow-row__text {
      font-family: var(--f-sans);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.26em;
      text-transform: uppercase;
      color: var(--p-mute);
      margin: 0;
    }
    .eyebrow-row__line {
      flex: 1;
      height: 1px;
      background: var(--border-hairline);
    }

    /* -------- CARD -------- */
    .upsell {
      display: grid;
      grid-template-columns: 240px 1fr;
      gap: clamp(20px, 3vw, 32px);
      padding: 24px;
      background: var(--p-oatmeal);
      border: 1px solid var(--border-hairline);
      border-radius: 12px;
      align-items: center;
      text-decoration: none;
      color: inherit;
      transition: border-color .2s, box-shadow .2s, transform .2s;
    }
    .upsell:hover {
      border-color: rgba(30,55,53,0.35);
      box-shadow: 0 12px 28px rgba(16,16,16,0.06);
      transform: translateY(-2px);
    }

    .upsell__img {
      position: relative;
      aspect-ratio: 4 / 5;
      border-radius: 8px;
      overflow: hidden;
      background: url("../../../assets/photos/tracy-outfit8-39.jpg") center 22% / cover;
      background-color: var(--p-cream);
    }
    .upsell__img::after {
      content: "";
      position: absolute; inset: 0;
      background: linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,0.35) 100%);
    }
    .upsell__tag {
      position: absolute;
      left: 12px; bottom: 10px;
      z-index: 2;
      font-family: var(--f-script);
      font-size: 18px;
      color: var(--p-oatmeal);
      line-height: 1;
      text-shadow: 0 1px 8px rgba(0,0,0,0.35);
    }

    .upsell__copy { min-width: 0; }
    .upsell__program {
      font-family: var(--f-sans);
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--p-aztek);
      margin: 0 0 8px;
    }
    .upsell__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(24px, 2.8vw, 34px);
      line-height: 1.12;
      letter-spacing: -0.01em;
      color: var(--p-charcoal);
      margin: 0 0 10px;
    }
    .upsell__title em { font-family: var(--f-serif-italic); font-style: italic; }

    .upsell__value {
      font-family: var(--f-sans);
      font-size: 15px;
      line-height: 1.5;
      color: var(--p-ink);
      margin: 0 0 16px;
      max-width: 44ch;
    }
    .upsell__value em { font-family: var(--f-serif-italic); font-style: italic; }

    .upsell__link {
      font-family: var(--f-sans);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--p-aztek);
      display: inline-flex;
      align-items: center;
      gap: 8px;
      border-bottom: 1px solid var(--p-aztek);
      padding-bottom: 3px;
      transition: gap .2s ease, color .2s ease;
    }
    .upsell:hover .upsell__link { gap: 14px; }
    .upsell__link svg { width: 12px; height: 12px; }

    @media (max-width: 640px) {
      .upsell {
        grid-template-columns: 1fr;
      }
      .upsell__img {
        aspect-ratio: 16 / 10;
        max-height: 200px;
      }
    }
```

```html
<div class="page">
    <div class="wrap">

      <div class="eyebrow-row">
        <span class="eyebrow-row__line"></span>
        <p class="eyebrow-row__text">You might also love this</p>
        <span class="eyebrow-row__line"></span>
      </div>

      <a href="/ffb" class="upsell" aria-label="Learn more about Freedom Filled® Business Mentorship">
        <div class="upsell__img" role="img" aria-label="Tracy Harris portrait">
          <span class="upsell__tag">Xx Tracy</span>
        </div>

        <div class="upsell__copy">
          <p class="upsell__program">Freedom Filled® Business Mentorship</p>
          <h3 class="upsell__title">If you loved the guide, you'll love <em>FFB</em>.</h3>
          <p class="upsell__value">
            Twelve months of mentorship, community and the frameworks I've used to help women build beautiful, <em>Freedom Filled®</em> businesses. Applications open.
          </p>
          <span class="upsell__link">
            Learn more
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
          </span>
        </div>
      </a>

    </div>
  </div>
```

---

## testimonials · 11 variants

### Shared CSS · `components/testimonials/testimonials.css`

```css
/* Testimonials, unified editorial family: wall, featured, single, editorial, real-results, columns-marquee */

.testimonials {
  background: var(--surface-canvas);
  padding: var(--sp-9) var(--sp-7);
}

.testimonials--elevated {
  background: var(--surface-elevated);
}

.testimonials__header {
  max-width: 680px;
  margin: 0 0 var(--sp-8) 0;
}

.testimonials__header--center {
  margin: 0 auto var(--sp-8);
  text-align: center;
}

.testimonials__eyebrow {
  font-family: var(--f-sans);
  font-size: 11px;
  font-weight: var(--w-medium);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin: 0 0 var(--sp-3) 0;
}

.testimonials__title {
  font-family: var(--f-serif-display);
  font-weight: var(--w-regular);
  font-size: clamp(40px, 5vw, 64px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--ink-heading);
  margin: 0 0 var(--sp-4) 0;
}

.testimonials__title em { font-family: var(--f-serif-italic); font-style: italic; }

.testimonials__sub {
  font-family: var(--f-sans);
  font-size: 16px;
  line-height: 1.65;
  color: var(--ink-body);
  margin: 0;
  max-width: 56ch;
}

/* ============================================================ */
/* SHARED CARD LOOK, used across all variants for consistency  */
/* ============================================================ */

.testimonial {
  background: var(--p-white);
  border: 1px solid rgba(16, 16, 16, 0.04);
  border-radius: 6px;
  padding: var(--sp-6);
  display: flex;
  flex-direction: column;
  gap: var(--sp-5);
  box-shadow: 0 2px 12px rgba(16, 16, 16, 0.04);
  box-sizing: border-box;
}

.testimonials--elevated .testimonial {
  background: var(--p-white);
}

.testimonial__mark {
  font-family: var(--f-serif-italic);
  font-style: italic;
  font-size: 64px;
  line-height: 0.6;
  color: var(--accent);
  margin: 0;
  height: 28px;
  opacity: 0.5;
}

.testimonial__quote {
  font-family: var(--f-sans);
  font-weight: var(--w-regular);
  font-size: 17px;
  line-height: 1.55;
  color: var(--ink-heading);
  margin: 0;
  flex: 1;
}

.testimonial__quote em { font-style: italic; }

.testimonial__attribution {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding-top: var(--sp-4);
  border-top: 1px solid var(--border-hairline);
}

.testimonial__avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--surface-elevated);
  flex: 0 0 auto;
}

.testimonial__meta {
  flex: 1;
  min-width: 0;
}

.testimonial__name {
  font-family: var(--f-sans);
  font-size: 14px;
  font-weight: var(--w-medium);
  color: var(--ink-heading);
  margin: 0;
  line-height: 1.25;
}

.testimonial__role {
  font-family: var(--f-sans);
  font-size: 12px;
  color: var(--ink-mute);
  margin: 2px 0 0 0;
  line-height: 1.3;
}

.testimonial__tag {
  font-family: var(--f-sans);
  font-size: 10px;
  font-weight: var(--w-medium);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ink-mute);
  padding: 4px 10px;
  border: 1px solid var(--border-hairline);
  border-radius: var(--r-pill);
  white-space: nowrap;
  flex: 0 0 auto;
}

/* ============================================================ */
/* VARIANT: WALL (masonry, 3 columns), homepage density         */
/* ============================================================ */

.testimonials__wall {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-6);
  align-items: start;
}

.testimonials__wall .testimonial {
  margin: 0;
  width: 100%;
  min-width: 0;
  overflow: hidden;
}

@media (max-width: 1000px) { .testimonials__wall { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .testimonials__wall { grid-template-columns: minmax(0, 1fr); } }

/* ============================================================ */
/* VARIANT: FEATURED (3 equal columns, grid), product pages    */
/* ============================================================ */

.testimonials__featured {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-5);
}

.testimonials__featured .testimonial {
  box-shadow: 0 4px 20px rgba(16, 16, 16, 0.07);
  border: 1px solid rgba(16, 16, 16, 0.06);
}

@media (max-width: 960px) { .testimonials__featured { grid-template-columns: 1fr; } }

/* ============================================================ */
/* VARIANT: SINGLE HERO, portrait left, big quote right         */
/* ============================================================ */

.testimonials__single {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: var(--sp-8);
  align-items: center;
  max-width: 1100px;
}

@media (max-width: 820px) { .testimonials__single { grid-template-columns: 1fr; gap: var(--sp-5); } }

.testimonials__single-portrait {
  aspect-ratio: 3/4;
  background: var(--surface-elevated);
  overflow: hidden;
}

.testimonials__single-portrait img { width: 100%; height: 100%; object-fit: cover; display: block; }

.testimonials__single-content {
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
}

.testimonials__single .testimonial__mark {
  font-size: 96px;
  height: 40px;
  margin-bottom: var(--sp-3);
}

.testimonials__single .testimonial__quote {
  font-family: var(--f-sans);
  font-size: clamp(22px, 2.2vw, 30px);
  line-height: 1.4;
  margin-bottom: var(--sp-5);
}

/* Attribution for single variant: stacked, name at left edge of quote */
.testimonials__single .testimonial__attribution {
  border-top: none;
  padding-top: 0;
  padding-left: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--sp-2);
}

.testimonials__single .testimonial__name {
  font-family: var(--f-sans);
  font-size: 13px;
  font-weight: var(--w-medium);
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.testimonials__single .testimonial__role {
  font-size: 12px;
  letter-spacing: 0.05em;
  margin: 0;
}

.testimonials__single .testimonial__tag {
  margin-top: var(--sp-2);
}

/* ============================================================ */
/* VARIANT: EDITORIAL, centered circle portrait + massive quote */
/* ============================================================ */

.testimonials__editorial {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-5);
}

.testimonials__editorial-portrait {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--accent);
  flex: 0 0 auto;
}

.testimonials__editorial-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.testimonials__editorial .testimonial__quote {
  font-family: var(--f-serif-display);
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--ink-heading);
  margin: 0;
  max-width: 26ch;
}

.testimonials__editorial-body {
  font-family: var(--f-sans);
  font-size: 16px;
  line-height: 1.65;
  color: var(--ink-body);
  margin: 0;
  max-width: 56ch;
}

.testimonials__editorial-name {
  font-family: var(--f-sans);
  font-size: 12px;
  font-weight: var(--w-medium);
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin-top: var(--sp-4);
}

.testimonials__editorial-name::before { content: ", "; }

/* ============================================================ */
/* VARIANT: REAL-RESULTS, portrait left, floating card right   */
/* ============================================================ */

.testimonials__results {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  align-items: center;
  gap: 0;
  max-width: 1100px;
}

.testimonials__results-label {
  position: absolute;
  top: 0;
  right: 0;
  font-family: var(--f-serif-italic);
  font-style: italic;
  font-size: 22px;
  color: var(--ink-heading);
}

.testimonials__results-portrait {
  aspect-ratio: 3/4;
  background: var(--surface-elevated);
  overflow: hidden;
}

.testimonials__results-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; display: block; }

.testimonials__results-card {
  background: var(--surface-canvas);
  padding: var(--sp-7) var(--sp-6);
  margin-left: calc(var(--sp-7) * -1);
  box-shadow: 0 12px 32px rgba(16, 16, 16, 0.08);
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
  z-index: 2;
  position: relative;
}

.testimonials__results-title {
  font-family: var(--f-sans);
  font-size: clamp(22px, 2vw, 32px);
  font-weight: var(--w-semibold);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--ink-heading);
  margin: 0;
  line-height: 1.1;
}

.testimonials__results-quote {
  font-family: var(--f-sans);
  font-size: 14px;
  line-height: 1.65;
  color: var(--ink-body);
  margin: 0;
}

.testimonials__results-next {
  font-family: var(--f-sans);
  font-size: 11px;
  font-weight: var(--w-medium);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--accent);
  text-decoration: none;
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: var(--sp-3);
}

.testimonials__results-next:hover { gap: 14px; }
.testimonials__results-next svg { width: 14px; height: 14px; transition: transform 0.2s; }

@media (max-width: 820px) {
  .testimonials__results { grid-template-columns: 1fr; }
  .testimonials__results-card { margin-left: 0; margin-top: calc(var(--sp-7) * -1); }
}

/* ============================================================ */
/* VARIANT: COLUMNS MARQUEE, 3 vertically scrolling columns    */
/* ============================================================ */

.testimonials__columns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-6);
  height: 680px;
  overflow: hidden;
  position: relative;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 12%, black 88%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, black 12%, black 88%, transparent 100%);
}

.testimonials__columns > .testimonials__column {
  display: flex;
  flex-direction: column;
  gap: var(--sp-6);
  animation: testimonials-scroll 40s linear infinite;
  will-change: transform;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.testimonials__columns > .testimonials__column--fast { animation-duration: 32s; }
.testimonials__columns > .testimonials__column--slow { animation-duration: 52s; }

.testimonials__columns > .testimonials__column:hover {
  animation-play-state: paused;
}

@keyframes testimonials-scroll {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(0, -50%, 0); }
}

/* Cards inside the marquee: more elevated, whiter, rounder for Showit-style feel */
.testimonials__columns .testimonial {
  background: var(--p-white);
  border: 0;
  border-radius: 10px;
  box-shadow: 0 6px 24px rgba(16, 16, 16, 0.06);
  padding: var(--sp-6);
}

@media (max-width: 960px) {
  .testimonials__columns { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
  .testimonials__columns { grid-template-columns: 1fr; }
}
```

### testimonials.columns-marquee

Wrapper context: `<body data-brand="tracy">`

```html
<section class="testimonials testimonials--elevated" data-brand="tracy">
    <header class="testimonials__header testimonials__header--center">
      <p class="testimonials__eyebrow">Member stories</p>
      <h2 class="testimonials__title">Real women. <em>Real results</em>.</h2>
    </header>

    <div class="testimonials__columns">
      <div class="testimonials__column">
        <figure class="testimonial">
          <p class="testimonial__mark">"</p>
          <blockquote class="testimonial__quote">I came in thinking I needed a new funnel. I left with a new <em>identity</em>.</blockquote>
          <figcaption class="testimonial__attribution">
            <div class="testimonial__avatar" aria-hidden="true"></div>
            <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Online course creator</p></div>
          </figcaption>
        </figure>
        <figure class="testimonial">
          <p class="testimonial__mark">"</p>
          <blockquote class="testimonial__quote">The Million Dollar Message™ framework was worth the year on its own. My conversion <em>doubled</em>.</blockquote>
          <figcaption class="testimonial__attribution">
            <div class="testimonial__avatar" aria-hidden="true"></div>
            <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Membership owner</p></div>
          </figcaption>
        </figure>
        <figure class="testimonial">
          <p class="testimonial__mark">"</p>
          <blockquote class="testimonial__quote">I came in thinking I needed a new funnel. I left with a new <em>identity</em>.</blockquote>
          <figcaption class="testimonial__attribution">
            <div class="testimonial__avatar" aria-hidden="true"></div>
            <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Online course creator</p></div>
          </figcaption>
        </figure>
        <figure class="testimonial">
          <p class="testimonial__mark">"</p>
          <blockquote class="testimonial__quote">The Million Dollar Message™ framework was worth the year on its own. My conversion <em>doubled</em>.</blockquote>
          <figcaption class="testimonial__attribution">
            <div class="testimonial__avatar" aria-hidden="true"></div>
            <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Membership owner</p></div>
          </figcaption>
        </figure>
      </div>

      <div class="testimonials__column testimonials__column--fast">
        <figure class="testimonial">
          <p class="testimonial__mark">"</p>
          <blockquote class="testimonial__quote">Year one I tripled revenue. Year two I <em>halved my hours</em>.</blockquote>
          <figcaption class="testimonial__attribution">
            <div class="testimonial__avatar" aria-hidden="true"></div>
            <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Coach and service provider</p></div>
          </figcaption>
        </figure>
        <figure class="testimonial">
          <p class="testimonial__mark">"</p>
          <blockquote class="testimonial__quote">Application-based isn't a gimmick. It's <em>why the room works</em>.</blockquote>
          <figcaption class="testimonial__attribution">
            <div class="testimonial__avatar" aria-hidden="true"></div>
            <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">SaaS founder</p></div>
          </figcaption>
        </figure>
        <figure class="testimonial">
          <p class="testimonial__mark">"</p>
          <blockquote class="testimonial__quote">Year one I tripled revenue. Year two I <em>halved my hours</em>.</blockquote>
          <figcaption class="testimonial__attribution">
            <div class="testimonial__avatar" aria-hidden="true"></div>
            <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Coach and service provider</p></div>
          </figcaption>
        </figure>
        <figure class="testimonial">
          <p class="testimonial__mark">"</p>
          <blockquote class="testimonial__quote">Application-based isn't a gimmick. It's <em>why the room works</em>.</blockquote>
          <figcaption class="testimonial__attribution">
            <div class="testimonial__avatar" aria-hidden="true"></div>
            <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">SaaS founder</p></div>
          </figcaption>
        </figure>
      </div>

      <div class="testimonials__column testimonials__column--slow">
        <figure class="testimonial">
          <p class="testimonial__mark">"</p>
          <blockquote class="testimonial__quote">I homeschool, I run a six-figure business, I take Fridays off. Tracy showed me the <em>third path</em>.</blockquote>
          <figcaption class="testimonial__attribution">
            <div class="testimonial__avatar" aria-hidden="true"></div>
            <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Course creator, mum of three</p></div>
          </figcaption>
        </figure>
        <figure class="testimonial">
          <p class="testimonial__mark">"</p>
          <blockquote class="testimonial__quote">The Bali retreat broke me open. I came home with a plan, a peer group, and permission to want <em>more</em>.</blockquote>
          <figcaption class="testimonial__attribution">
            <div class="testimonial__avatar" aria-hidden="true"></div>
            <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Brand agency founder</p></div>
          </figcaption>
        </figure>
        <figure class="testimonial">
          <p class="testimonial__mark">"</p>
          <blockquote class="testimonial__quote">I homeschool, I run a six-figure business, I take Fridays off. Tracy showed me the <em>third path</em>.</blockquote>
          <figcaption class="testimonial__attribution">
            <div class="testimonial__avatar" aria-hidden="true"></div>
            <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Course creator, mum of three</p></div>
          </figcaption>
        </figure>
        <figure class="testimonial">
          <p class="testimonial__mark">"</p>
          <blockquote class="testimonial__quote">The Bali retreat broke me open. I came home with a plan, a peer group, and permission to want <em>more</em>.</blockquote>
          <figcaption class="testimonial__attribution">
            <div class="testimonial__avatar" aria-hidden="true"></div>
            <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Brand agency founder</p></div>
          </figcaption>
        </figure>
      </div>
    </div>
  </section>
```

### testimonials.editorial-centered-polished

Wrapper context: `<body data-brand="tracy">`

```css
:root {
      --ease-out-craft: cubic-bezier(0.23, 1, 0.32, 1);
      --ease-in-out-craft: cubic-bezier(0.77, 0, 0.175, 1);
      --ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
    }
    body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

    .testimonials { position: relative; overflow: hidden; isolation: isolate; }
    .testimonials::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 60% 40% at 50% 30%,
        rgba(110, 142, 119, 0.08) 0%,
        rgba(110, 142, 119, 0.0) 70%);
      pointer-events: none;
      z-index: 0;
    }
    .testimonials__editorial { position: relative; z-index: 1; }

    .testimonials__editorial-portrait {
      opacity: 0;
      transform: translateY(18px) scale(0.98);
      animation: tseMediaReveal 1100ms var(--ease-drawer) 200ms forwards;
    }
    .testimonials__editorial-portrait img {
      transform: scale(1.06);
      transition: transform 900ms var(--ease-in-out-craft);
    }
    @media (hover: hover) and (pointer: fine) {
      .testimonials__editorial-portrait:hover img { transform: scale(1.02); }
    }

    .testimonials__editorial .testimonial__quote,
    .testimonials__editorial-body,
    .testimonials__editorial-name {
      opacity: 0;
      transform: translateY(14px);
      animation: tseRise 900ms var(--ease-out-craft) forwards;
    }
    .testimonials__editorial .testimonial__quote { animation-delay: 380ms; }
    .testimonials__editorial-body                 { animation-delay: 540ms; }
    .testimonials__editorial-name                 { animation-delay: 700ms; }

    @keyframes tseMediaReveal {
      from { opacity: 0; transform: translateY(18px) scale(0.98); }
      to   { opacity: 1; transform: translateY(0) scale(1); }
    }
    @keyframes tseRise {
      from { opacity: 0; transform: translateY(14px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .testimonials__editorial .testimonial__quote { text-wrap: balance; }
    .testimonials__editorial-body { text-wrap: pretty; }

    @media (prefers-reduced-motion: reduce) {
      .testimonials__editorial-portrait,
      .testimonials__editorial-portrait img,
      .testimonials__editorial .testimonial__quote,
      .testimonials__editorial-body,
      .testimonials__editorial-name {
        animation: none !important;
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
      .testimonials__editorial-portrait img { transform: scale(1.02); }
    }
```

```html
<section class="testimonials testimonials--elevated" data-brand="tracy" aria-label="Member testimonial">
    <div class="testimonials__editorial">
      <div class="testimonials__editorial-portrait">
        <img src="https://static.showit.co/1200/C8lYkDDfclRnqya_MiRFow/173187/062a3960.jpg" alt="Member portrait." />
      </div>
      <blockquote class="testimonial__quote">"This program <em>transformed my business</em> and my life."</blockquote>
      <p class="testimonials__editorial-body">Year one I tripled my revenue. Year two I halved my hours. Three years in, I can say with total certainty that FFB didn't just change my business, it changed what I believed was possible. Tracy shows you what a freedom-filled business actually looks like, then hands you the keys.</p>
      <p class="testimonials__editorial-name">[MEMBER NAME]</p>
    </div>
  </section>
```

### testimonials.editorial-centered

Wrapper context: `<body data-brand="tracy">`

```html
<section class="testimonials testimonials--elevated" data-brand="tracy">
    <div class="testimonials__editorial">
      <div class="testimonials__editorial-portrait">
        <img src="https://static.showit.co/1200/C8lYkDDfclRnqya_MiRFow/173187/062a3960.jpg" alt="Member portrait." />
      </div>
      <blockquote class="testimonial__quote">"This program <em>transformed my business</em> and my life."</blockquote>
      <p class="testimonials__editorial-body">Year one I tripled my revenue. Year two I halved my hours. Three years in, I can say with total certainty that FFB didn't just change my business, it changed what I believed was possible. Tracy shows you what a freedom-filled business actually looks like, then hands you the keys.</p>
      <p class="testimonials__editorial-name">[MEMBER NAME]</p>
    </div>
  </section>
```

### testimonials.featured-trio-polished

Wrapper context: `<body data-brand="tracy">`

```css
:root { --ease-out-craft: cubic-bezier(0.23, 1, 0.32, 1); }
    body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

    .testimonials { position: relative; overflow: hidden; isolation: isolate; }
    .testimonials::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 60% 40% at 50% 25%,
        rgba(110, 142, 119, 0.08) 0%,
        rgba(110, 142, 119, 0.0) 70%);
      pointer-events: none;
      z-index: 0;
    }
    .testimonials__header,
    .testimonials__featured { position: relative; z-index: 1; }

    .testimonials__eyebrow,
    .testimonials__title {
      opacity: 0;
      transform: translateY(12px);
      animation: tsRise 900ms var(--ease-out-craft) forwards;
    }
    .testimonials__eyebrow { animation-delay: 140ms; }
    .testimonials__title   { animation-delay: 280ms; }
    .testimonials__title   { text-wrap: balance; }

    .testimonials__featured .testimonial {
      opacity: 0;
      transform: translateY(18px);
      animation: tsCardRise 1000ms var(--ease-out-craft) forwards;
      transition: transform 320ms var(--ease-out-craft), box-shadow 320ms var(--ease-out-craft);
    }
    .testimonials__featured .testimonial:nth-child(1) { animation-delay: 460ms; }
    .testimonials__featured .testimonial:nth-child(2) { animation-delay: 600ms; }
    .testimonials__featured .testimonial:nth-child(3) { animation-delay: 740ms; }

    @media (hover: hover) and (pointer: fine) {
      .testimonials__featured .testimonial:hover {
        transform: translateY(-3px);
        box-shadow: 0 24px 48px -20px rgba(30, 55, 53, 0.2);
      }
    }

    @keyframes tsRise {
      from { opacity: 0; transform: translateY(12px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }
    @keyframes tsCardRise {
      from { opacity: 0; transform: translateY(18px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    @media (prefers-reduced-motion: reduce) {
      .testimonials__eyebrow,
      .testimonials__title,
      .testimonials__featured .testimonial {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
    }
```

```html
<section class="testimonials testimonials--elevated" data-brand="tracy" aria-label="Member testimonials">
    <header class="testimonials__header">
      <p class="testimonials__eyebrow">From FFB members</p>
      <h2 class="testimonials__title">Year one, <em>reshaped</em>.</h2>
    </header>
    <div class="testimonials__featured">
      <figure class="testimonial">
        <p class="testimonial__mark">"</p>
        <blockquote class="testimonial__quote">I came in thinking I needed a new funnel. I left with a new identity.</blockquote>
        <figcaption class="testimonial__attribution">
          <div class="testimonial__avatar" aria-hidden="true"></div>
          <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Online course creator</p></div>
        </figcaption>
      </figure>
      <figure class="testimonial">
        <p class="testimonial__mark">"</p>
        <blockquote class="testimonial__quote">Year one of FFB I tripled my revenue. Year two I <em>halved my hours</em>.</blockquote>
        <figcaption class="testimonial__attribution">
          <div class="testimonial__avatar" aria-hidden="true"></div>
          <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Coach and service provider</p></div>
        </figcaption>
      </figure>
      <figure class="testimonial">
        <p class="testimonial__mark">"</p>
        <blockquote class="testimonial__quote">My sales calls feel like conversations now. My conversion doubled.</blockquote>
        <figcaption class="testimonial__attribution">
          <div class="testimonial__avatar" aria-hidden="true"></div>
          <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Membership owner</p></div>
        </figcaption>
      </figure>
    </div>
  </section>
```

### testimonials.featured-trio

Wrapper context: `<body data-brand="tracy">`

```html
<section class="testimonials testimonials--elevated" data-brand="tracy">
    <header class="testimonials__header">
      <p class="testimonials__eyebrow">From FFB members</p>
      <h2 class="testimonials__title">Year one, <em>reshaped</em>.</h2>
    </header>
    <div class="testimonials__featured">
      <figure class="testimonial">
        <p class="testimonial__mark">"</p>
        <blockquote class="testimonial__quote">I came in thinking I needed a new funnel. I left with a new identity.</blockquote>
        <figcaption class="testimonial__attribution">
          <div class="testimonial__avatar" aria-hidden="true"></div>
          <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Online course creator</p></div>
        </figcaption>
      </figure>
      <figure class="testimonial">
        <p class="testimonial__mark">"</p>
        <blockquote class="testimonial__quote">Year one of FFB I tripled my revenue. Year two I <em>halved my hours</em>.</blockquote>
        <figcaption class="testimonial__attribution">
          <div class="testimonial__avatar" aria-hidden="true"></div>
          <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Coach and service provider</p></div>
        </figcaption>
      </figure>
      <figure class="testimonial">
        <p class="testimonial__mark">"</p>
        <blockquote class="testimonial__quote">My sales calls feel like conversations now. My conversion doubled.</blockquote>
        <figcaption class="testimonial__attribution">
          <div class="testimonial__avatar" aria-hidden="true"></div>
          <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Membership owner</p></div>
        </figcaption>
      </figure>
    </div>
  </section>
```

### testimonials.real-results-polished

Wrapper context: `<body data-brand="tracy">`

```css
:root {
      --ease-out-craft: cubic-bezier(0.23, 1, 0.32, 1);
      --ease-in-out-craft: cubic-bezier(0.77, 0, 0.175, 1);
      --ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
    }
    body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

    .testimonials { position: relative; overflow: hidden; isolation: isolate; }
    .testimonials::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 55% 45% at 30% 50%,
        rgba(110, 142, 119, 0.08) 0%,
        rgba(110, 142, 119, 0.0) 70%);
      pointer-events: none;
      z-index: 0;
    }
    .testimonials__results { position: relative; z-index: 1; }

    .testimonials__results-portrait {
      opacity: 0;
      transform: translateY(18px) scale(0.98);
      animation: tsrMediaReveal 1100ms var(--ease-drawer) 200ms forwards;
    }
    .testimonials__results-portrait img {
      transform: scale(1.06);
      transition: transform 900ms var(--ease-in-out-craft);
    }
    @media (hover: hover) and (pointer: fine) {
      .testimonials__results-portrait:hover img { transform: scale(1.02); }
    }

    .testimonials__results-card {
      opacity: 0;
      transform: translateY(14px);
      animation: tsrRise 900ms var(--ease-out-craft) 380ms forwards;
      transition: transform 320ms var(--ease-out-craft), box-shadow 320ms var(--ease-out-craft);
    }
    @media (hover: hover) and (pointer: fine) {
      .testimonials__results-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 18px 40px -20px rgba(30, 55, 53, 0.22);
      }
    }

    @keyframes tsrMediaReveal {
      from { opacity: 0; transform: translateY(18px) scale(0.98); }
      to   { opacity: 1; transform: translateY(0) scale(1); }
    }
    @keyframes tsrRise {
      from { opacity: 0; transform: translateY(14px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .testimonials__results-title { text-wrap: balance; }
    .testimonials__results-quote { text-wrap: pretty; }

    .testimonials__results-next {
      transition:
        gap 260ms var(--ease-out-craft),
        color 200ms var(--ease-out-craft),
        letter-spacing 220ms var(--ease-out-craft);
    }
    .testimonials__results-next:hover { gap: 14px; letter-spacing: 0.22em; }
    .testimonials__results-next:focus-visible {
      outline: 2px solid currentColor;
      outline-offset: 4px;
      border-radius: 2px;
    }
    .testimonials__results-next svg {
      transition: transform 260ms var(--ease-out-craft);
    }
    .testimonials__results-next:hover svg { transform: translateX(3px); }

    @media (prefers-reduced-motion: reduce) {
      .testimonials__results-portrait,
      .testimonials__results-portrait img,
      .testimonials__results-card {
        animation: none !important;
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
      .testimonials__results-portrait img { transform: scale(1.02); }
      .testimonials__results-next:hover svg { transform: none; }
    }
```

```html
<section class="testimonials" data-brand="tracy" aria-label="Real results testimonial">
    <div class="testimonials__results">
      <div class="testimonials__results-portrait">
        <img src="https://static.showit.co/1200/MJXzvmfxo5phsGlVN2WYGA/173187/062a4190.jpg" alt="FFB member portrait." />
      </div>
      <div class="testimonials__results-card">
        <p class="testimonials__eyebrow" style="margin:0;">Real results</p>
        <h3 class="testimonials__results-title">[MEMBER NAME] tripled her revenue</h3>
        <p class="testimonials__results-quote">"I came in thinking I needed a new funnel. I left with a new identity. Tracy doesn't just teach strategy, she shows you who you get to be inside the business."</p>
        <a href="#next" class="testimonials__results-next">Next review
          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
        </a>
      </div>
    </div>
  </section>
```

### testimonials.real-results

Wrapper context: `<body data-brand="tracy">`

```html
<section class="testimonials" data-brand="tracy">
    <div class="testimonials__results">
      <div class="testimonials__results-portrait">
        <img src="https://static.showit.co/1200/MJXzvmfxo5phsGlVN2WYGA/173187/062a4190.jpg" alt="FFB member portrait." />
      </div>
      <div class="testimonials__results-card">
        <p class="testimonials__eyebrow" style="margin:0;">Real results</p>
        <h3 class="testimonials__results-title">[MEMBER NAME] tripled her revenue</h3>
        <p class="testimonials__results-quote">"I came in thinking I needed a new funnel. I left with a new identity. Tracy doesn't just teach strategy, she shows you who you get to be inside the business."</p>
        <a href="#next" class="testimonials__results-next">Next review
          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
        </a>
      </div>
    </div>
  </section>
```

### testimonials.showcase

```css
body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; }
    .brand-label {
      position: sticky; top: 0; z-index: 10;
      background: var(--p-charcoal); color: var(--p-oatmeal);
      font-family: var(--f-sans); font-size: 11px; font-weight: 500;
      letter-spacing: 0.2em; text-transform: uppercase;
      padding: 10px 24px;
      display: flex; justify-content: space-between;
    }
```

```html
<!-- WALL -->
  <div class="brand-label" id="wall"><span>WALL, masonry, homepage density</span><code>class="testimonials__wall"</code></div>
  <section id="wall-section" class="testimonials testimonials--elevated" data-brand="tracy">
    <header class="testimonials__header">
      <p class="testimonials__eyebrow">Member stories</p>
      <h2 class="testimonials__title">The women <em>building it</em>.</h2>
      <p class="testimonials__sub">Women across different industries, at different stages, building differently. The common thread: a beautiful business that lets them live.</p>
    </header>

    <div class="testimonials__wall">

      <figure class="testimonial">
        <p class="testimonial__mark">"</p>
        <blockquote class="testimonial__quote">I came in thinking I needed a new funnel. I left with a new <em>identity</em>. Tracy doesn't just teach strategy, she shows you who you get to be inside the business.</blockquote>
        <figcaption class="testimonial__attribution">
          <div class="testimonial__avatar" aria-hidden="true"></div>
          <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Online course creator</p></div>
          <span class="testimonial__tag">FFB</span>
        </figcaption>
      </figure>

      <figure class="testimonial">
        <p class="testimonial__mark">"</p>
        <blockquote class="testimonial__quote">Year one of FFB I tripled my revenue. Year two I <em>halved my hours</em>. That's the part I didn't know was possible until I was in the room.</blockquote>
        <figcaption class="testimonial__attribution">
          <div class="testimonial__avatar" aria-hidden="true"></div>
          <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Coach and service provider</p></div>
          <span class="testimonial__tag">FFB</span>
        </figcaption>
      </figure>

      <figure class="testimonial">
        <p class="testimonial__mark">"</p>
        <blockquote class="testimonial__quote">The Bali retreat broke me open in the best way. I came home with a plan, a peer group who keep me honest, and permission to stop apologising for wanting <em>more</em>.</blockquote>
        <figcaption class="testimonial__attribution">
          <div class="testimonial__avatar" aria-hidden="true"></div>
          <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Founder, brand agency</p></div>
          <span class="testimonial__tag">FFM</span>
        </figcaption>
      </figure>

      <figure class="testimonial">
        <p class="testimonial__mark">"</p>
        <blockquote class="testimonial__quote">I took the FRESH Quiz expecting a lead magnet. I got a mirror. Haven't looked at my business the same way since.</blockquote>
        <figcaption class="testimonial__attribution">
          <div class="testimonial__avatar" aria-hidden="true"></div>
          <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Service business owner</p></div>
          <span class="testimonial__tag">FRESH</span>
        </figcaption>
      </figure>

      <figure class="testimonial">
        <p class="testimonial__mark">"</p>
        <blockquote class="testimonial__quote">Tracy's the first mentor who told me the hard thing without flinching. <em>Loving</em>, but absolutely honest. My business is built on what she said to me in month three.</blockquote>
        <figcaption class="testimonial__attribution">
          <div class="testimonial__avatar" aria-hidden="true"></div>
          <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Copywriter</p></div>
          <span class="testimonial__tag">FFB</span>
        </figcaption>
      </figure>

      <figure class="testimonial">
        <p class="testimonial__mark">"</p>
        <blockquote class="testimonial__quote">Application-based is not a gimmick. It's why the room works. Every woman in my cohort is someone I'd want as a client, a partner, or a friend.</blockquote>
        <figcaption class="testimonial__attribution">
          <div class="testimonial__avatar" aria-hidden="true"></div>
          <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">SaaS founder</p></div>
          <span class="testimonial__tag">FFM</span>
        </figcaption>
      </figure>

      <figure class="testimonial">
        <p class="testimonial__mark">"</p>
        <blockquote class="testimonial__quote">The Million Dollar Message™ framework alone was worth the year. My sales calls now feel like conversations. My conversion <em>doubled</em>.</blockquote>
        <figcaption class="testimonial__attribution">
          <div class="testimonial__avatar" aria-hidden="true"></div>
          <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Membership owner</p></div>
          <span class="testimonial__tag">FFB</span>
        </figcaption>
      </figure>

      <figure class="testimonial">
        <p class="testimonial__mark">"</p>
        <blockquote class="testimonial__quote">I homeschool, I run a six-figure business, I take Fridays off. Before FFB I thought I had to pick two. Tracy showed me the <em>third path</em>.</blockquote>
        <figcaption class="testimonial__attribution">
          <div class="testimonial__avatar" aria-hidden="true"></div>
          <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Course creator, mum of three</p></div>
          <span class="testimonial__tag">FFB</span>
        </figcaption>
      </figure>

    </div>
  </section>

  <!-- FEATURED TRIO -->
  <div class="brand-label" id="featured"><span>FEATURED TRIO, product pages before pricing</span><code>class="testimonials__featured"</code></div>
  <section id="featured-section" class="testimonials testimonials--elevated" data-brand="tracy">
    <header class="testimonials__header">
      <p class="testimonials__eyebrow">From FFB members</p>
      <h2 class="testimonials__title">Year one, <em>reshaped</em>.</h2>
    </header>
    <div class="testimonials__featured">
      <figure class="testimonial">
        <p class="testimonial__mark">"</p>
        <blockquote class="testimonial__quote">I came in thinking I needed a new funnel. I left with a new identity.</blockquote>
        <figcaption class="testimonial__attribution">
          <div class="testimonial__avatar" aria-hidden="true"></div>
          <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Online course creator</p></div>
        </figcaption>
      </figure>
      <figure class="testimonial">
        <p class="testimonial__mark">"</p>
        <blockquote class="testimonial__quote">Year one of FFB I tripled my revenue. Year two I <em>halved my hours</em>.</blockquote>
        <figcaption class="testimonial__attribution">
          <div class="testimonial__avatar" aria-hidden="true"></div>
          <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Coach and service provider</p></div>
        </figcaption>
      </figure>
      <figure class="testimonial">
        <p class="testimonial__mark">"</p>
        <blockquote class="testimonial__quote">My sales calls feel like conversations now. My conversion doubled.</blockquote>
        <figcaption class="testimonial__attribution">
          <div class="testimonial__avatar" aria-hidden="true"></div>
          <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Membership owner</p></div>
        </figcaption>
      </figure>
    </div>
  </section>

  <!-- SINGLE HERO -->
  <div class="brand-label" id="single"><span>SINGLE HERO, portrait + big quote, name left-aligned</span><code>class="testimonials__single"</code></div>
  <section id="single-section" class="testimonials testimonials--elevated" data-brand="ffm">
    <div class="testimonials__single">
      <div class="testimonials__single-portrait">
        <img src="https://static.showit.co/1200/Yy3opX4aRY-pnfn17TTANA/173187/web_mwh_coralsea_271022_422.jpg" alt="Mastermind member at the Bali retreat." />
      </div>
      <div class="testimonials__single-content">
        <p class="testimonial__mark">"</p>
        <blockquote class="testimonial__quote">Application-based is not a gimmick. <em>It's why the room works</em>. Every woman in my cohort is someone I'd want as a client, a partner, or a friend. That doesn't happen in open-enrolment.</blockquote>
        <figcaption class="testimonial__attribution">
          <p class="testimonial__name">[MEMBER NAME]</p>
          <p class="testimonial__role">SaaS founder · 2025 cohort</p>
          <span class="testimonial__tag">FFM</span>
        </figcaption>
      </div>
    </div>
  </section>

  <!-- EDITORIAL CENTERED (Lauren pink style) -->
  <div class="brand-label" id="editorial"><span>EDITORIAL, centered circle portrait + massive quote</span><code>class="testimonials__editorial"</code></div>
  <section id="editorial-section" class="testimonials testimonials--elevated" data-brand="tracy">
    <div class="testimonials__editorial">
      <div class="testimonials__editorial-portrait">
        <img src="https://static.showit.co/1200/C8lYkDDfclRnqya_MiRFow/173187/062a3960.jpg" alt="Member portrait." />
      </div>
      <blockquote class="testimonial__quote">"This program <em>transformed my business</em> and my life."</blockquote>
      <p class="testimonials__editorial-body">Year one I tripled my revenue. Year two I halved my hours. Three years in, I can say with total certainty that FFB didn't just change my business, it changed what I believed was possible. Tracy shows you what a freedom-filled business actually looks like, then hands you the keys.</p>
      <p class="testimonials__editorial-name">[MEMBER NAME]</p>
    </div>
  </section>

  <!-- REAL RESULTS (portrait + floating card) -->
  <div class="brand-label" id="results"><span>REAL RESULTS, portrait left, floating card right</span><code>class="testimonials__results"</code></div>
  <section id="results-section" class="testimonials" data-brand="tracy">
    <div class="testimonials__results">
      <div class="testimonials__results-portrait">
        <img src="https://static.showit.co/1200/MJXzvmfxo5phsGlVN2WYGA/173187/062a4190.jpg" alt="FFB member portrait." />
      </div>
      <div class="testimonials__results-card">
        <p class="testimonials__eyebrow" style="margin:0;">Real results</p>
        <h3 class="testimonials__results-title">[MEMBER NAME] tripled her revenue</h3>
        <p class="testimonials__results-quote">"I came in thinking I needed a new funnel. I left with a new identity. Tracy doesn't just teach strategy, she shows you who you get to be inside the business."</p>
        <a href="#next" class="testimonials__results-next">Next review
          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
        </a>
      </div>
    </div>
  </section>

  <!-- COLUMNS MARQUEE (auto-scrolling vertical columns) -->
  <div class="brand-label" id="columns"><span>COLUMNS MARQUEE, 3 vertical scrolling columns, auto-loop</span><code>class="testimonials__columns"</code></div>
  <section id="columns-section" class="testimonials testimonials--elevated" data-brand="tracy">
    <header class="testimonials__header testimonials__header--center">
      <p class="testimonials__eyebrow">Member stories</p>
      <h2 class="testimonials__title">Real women. <em>Real results</em>.</h2>
    </header>

    <div class="testimonials__columns">
      <div class="testimonials__column">
        <figure class="testimonial">
          <p class="testimonial__mark">"</p>
          <blockquote class="testimonial__quote">I came in thinking I needed a new funnel. I left with a new <em>identity</em>.</blockquote>
          <figcaption class="testimonial__attribution">
            <div class="testimonial__avatar" aria-hidden="true"></div>
            <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Online course creator</p></div>
          </figcaption>
        </figure>
        <figure class="testimonial">
          <p class="testimonial__mark">"</p>
          <blockquote class="testimonial__quote">The Million Dollar Message™ framework was worth the year on its own. My conversion <em>doubled</em>.</blockquote>
          <figcaption class="testimonial__attribution">
            <div class="testimonial__avatar" aria-hidden="true"></div>
            <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Membership owner</p></div>
          </figcaption>
        </figure>
        <!-- duplicated for seamless loop -->
        <figure class="testimonial">
          <p class="testimonial__mark">"</p>
          <blockquote class="testimonial__quote">I came in thinking I needed a new funnel. I left with a new <em>identity</em>.</blockquote>
          <figcaption class="testimonial__attribution">
            <div class="testimonial__avatar" aria-hidden="true"></div>
            <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Online course creator</p></div>
          </figcaption>
        </figure>
        <figure class="testimonial">
          <p class="testimonial__mark">"</p>
          <blockquote class="testimonial__quote">The Million Dollar Message™ framework was worth the year on its own. My conversion <em>doubled</em>.</blockquote>
          <figcaption class="testimonial__attribution">
            <div class="testimonial__avatar" aria-hidden="true"></div>
            <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Membership owner</p></div>
          </figcaption>
        </figure>
      </div>

      <div class="testimonials__column testimonials__column--fast">
        <figure class="testimonial">
          <p class="testimonial__mark">"</p>
          <blockquote class="testimonial__quote">Year one I tripled revenue. Year two I <em>halved my hours</em>.</blockquote>
          <figcaption class="testimonial__attribution">
            <div class="testimonial__avatar" aria-hidden="true"></div>
            <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Coach and service provider</p></div>
          </figcaption>
        </figure>
        <figure class="testimonial">
          <p class="testimonial__mark">"</p>
          <blockquote class="testimonial__quote">Application-based isn't a gimmick. It's <em>why the room works</em>.</blockquote>
          <figcaption class="testimonial__attribution">
            <div class="testimonial__avatar" aria-hidden="true"></div>
            <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">SaaS founder</p></div>
          </figcaption>
        </figure>
        <figure class="testimonial">
          <p class="testimonial__mark">"</p>
          <blockquote class="testimonial__quote">Year one I tripled revenue. Year two I <em>halved my hours</em>.</blockquote>
          <figcaption class="testimonial__attribution">
            <div class="testimonial__avatar" aria-hidden="true"></div>
            <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Coach and service provider</p></div>
          </figcaption>
        </figure>
        <figure class="testimonial">
          <p class="testimonial__mark">"</p>
          <blockquote class="testimonial__quote">Application-based isn't a gimmick. It's <em>why the room works</em>.</blockquote>
          <figcaption class="testimonial__attribution">
            <div class="testimonial__avatar" aria-hidden="true"></div>
            <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">SaaS founder</p></div>
          </figcaption>
        </figure>
      </div>

      <div class="testimonials__column testimonials__column--slow">
        <figure class="testimonial">
          <p class="testimonial__mark">"</p>
          <blockquote class="testimonial__quote">I homeschool, I run a six-figure business, I take Fridays off. Tracy showed me the <em>third path</em>.</blockquote>
          <figcaption class="testimonial__attribution">
            <div class="testimonial__avatar" aria-hidden="true"></div>
            <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Course creator, mum of three</p></div>
          </figcaption>
        </figure>
        <figure class="testimonial">
          <p class="testimonial__mark">"</p>
          <blockquote class="testimonial__quote">The Bali retreat broke me open. I came home with a plan, a peer group, and permission to want <em>more</em>.</blockquote>
          <figcaption class="testimonial__attribution">
            <div class="testimonial__avatar" aria-hidden="true"></div>
            <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Brand agency founder</p></div>
          </figcaption>
        </figure>
        <figure class="testimonial">
          <p class="testimonial__mark">"</p>
          <blockquote class="testimonial__quote">I homeschool, I run a six-figure business, I take Fridays off. Tracy showed me the <em>third path</em>.</blockquote>
          <figcaption class="testimonial__attribution">
            <div class="testimonial__avatar" aria-hidden="true"></div>
            <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Course creator, mum of three</p></div>
          </figcaption>
        </figure>
        <figure class="testimonial">
          <p class="testimonial__mark">"</p>
          <blockquote class="testimonial__quote">The Bali retreat broke me open. I came home with a plan, a peer group, and permission to want <em>more</em>.</blockquote>
          <figcaption class="testimonial__attribution">
            <div class="testimonial__avatar" aria-hidden="true"></div>
            <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Brand agency founder</p></div>
          </figcaption>
        </figure>
      </div>
    </div>
  </section>
```

### testimonials.single-hero-polished

Wrapper context: `<body data-brand="ffm">`

```css
:root {
      --ease-out-craft: cubic-bezier(0.23, 1, 0.32, 1);
      --ease-in-out-craft: cubic-bezier(0.77, 0, 0.175, 1);
      --ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
    }
    body { margin: 0; font-family: var(--f-sans); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

    .testimonials { position: relative; overflow: hidden; isolation: isolate; }
    .testimonials::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 55% 45% at 50% 35%,
        rgba(201, 164, 108, 0.12) 0%,
        rgba(201, 164, 108, 0.0) 70%);
      pointer-events: none;
      z-index: 0;
    }
    .testimonials__single { position: relative; z-index: 1; }

    .testimonials__single-portrait {
      opacity: 0;
      transform: translateY(18px) scale(0.98);
      animation: tshMediaReveal 1100ms var(--ease-drawer) 200ms forwards;
      transition: transform 400ms var(--ease-out-craft), box-shadow 400ms var(--ease-out-craft);
    }
    .testimonials__single-portrait img {
      transform: scale(1.06);
      transition: transform 900ms var(--ease-in-out-craft);
    }
    @media (hover: hover) and (pointer: fine) {
      .testimonials__single-portrait:hover img { transform: scale(1.02); }
    }

    .testimonials__single-content .testimonial__mark,
    .testimonials__single-content .testimonial__quote,
    .testimonials__single-content .testimonial__attribution {
      opacity: 0;
      transform: translateY(14px);
      animation: tshRise 900ms var(--ease-out-craft) forwards;
    }
    .testimonials__single-content .testimonial__mark        { animation-delay: 320ms; }
    .testimonials__single-content .testimonial__quote       { animation-delay: 460ms; }
    .testimonials__single-content .testimonial__attribution { animation-delay: 620ms; }

    @keyframes tshMediaReveal {
      from { opacity: 0; transform: translateY(18px) scale(0.98); }
      to   { opacity: 1; transform: translateY(0) scale(1); }
    }
    @keyframes tshRise {
      from { opacity: 0; transform: translateY(14px); filter: blur(3px); }
      to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
    }

    .testimonial__quote { text-wrap: balance; }

    @media (prefers-reduced-motion: reduce) {
      .testimonials__single-portrait,
      .testimonials__single-portrait img,
      .testimonials__single-content .testimonial__mark,
      .testimonials__single-content .testimonial__quote,
      .testimonials__single-content .testimonial__attribution {
        animation: none !important;
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
      }
      .testimonials__single-portrait img { transform: scale(1.02); }
    }
```

```html
<section class="testimonials testimonials--elevated" data-brand="ffm" aria-label="FFM member testimonial">
    <div class="testimonials__single">
      <div class="testimonials__single-portrait">
        <img src="https://static.showit.co/1200/Yy3opX4aRY-pnfn17TTANA/173187/web_mwh_coralsea_271022_422.jpg" alt="Mastermind member at the Bali retreat." />
      </div>
      <div class="testimonials__single-content">
        <p class="testimonial__mark">"</p>
        <blockquote class="testimonial__quote">Application-based is not a gimmick. <em>It's why the room works</em>. Every woman in my cohort is someone I'd want as a client, a partner, or a friend. That doesn't happen in open-enrolment.</blockquote>
        <figcaption class="testimonial__attribution">
          <p class="testimonial__name">[MEMBER NAME]</p>
          <p class="testimonial__role">SaaS founder · 2025 cohort</p>
          <span class="testimonial__tag">FFM</span>
        </figcaption>
      </div>
    </div>
  </section>
```

### testimonials.single-hero

Wrapper context: `<body data-brand="ffm">`

```html
<section class="testimonials testimonials--elevated" data-brand="ffm">
    <div class="testimonials__single">
      <div class="testimonials__single-portrait">
        <img src="https://static.showit.co/1200/Yy3opX4aRY-pnfn17TTANA/173187/web_mwh_coralsea_271022_422.jpg" alt="Mastermind member at the Bali retreat." />
      </div>
      <div class="testimonials__single-content">
        <p class="testimonial__mark">"</p>
        <blockquote class="testimonial__quote">Application-based is not a gimmick. <em>It's why the room works</em>. Every woman in my cohort is someone I'd want as a client, a partner, or a friend. That doesn't happen in open-enrolment.</blockquote>
        <figcaption class="testimonial__attribution">
          <p class="testimonial__name">[MEMBER NAME]</p>
          <p class="testimonial__role">SaaS founder · 2025 cohort</p>
          <span class="testimonial__tag">FFM</span>
        </figcaption>
      </div>
    </div>
  </section>
```

### testimonials.wall

Wrapper context: `<body data-brand="tracy">`

```html
<section class="testimonials testimonials--elevated" data-brand="tracy">
    <header class="testimonials__header">
      <p class="testimonials__eyebrow">Member stories</p>
      <h2 class="testimonials__title">The women <em>building it</em>.</h2>
      <p class="testimonials__sub">Women across different industries, at different stages, building differently. The common thread: a beautiful business that lets them live.</p>
    </header>

    <div class="testimonials__wall">
      <figure class="testimonial">
        <p class="testimonial__mark">"</p>
        <blockquote class="testimonial__quote">I came in thinking I needed a new funnel. I left with a new <em>identity</em>. Tracy doesn't just teach strategy, she shows you who you get to be inside the business.</blockquote>
        <figcaption class="testimonial__attribution">
          <div class="testimonial__avatar" aria-hidden="true"></div>
          <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Online course creator</p></div>
          <span class="testimonial__tag">FFB</span>
        </figcaption>
      </figure>

      <figure class="testimonial">
        <p class="testimonial__mark">"</p>
        <blockquote class="testimonial__quote">Year one of FFB I tripled my revenue. Year two I <em>halved my hours</em>. That's the part I didn't know was possible until I was in the room.</blockquote>
        <figcaption class="testimonial__attribution">
          <div class="testimonial__avatar" aria-hidden="true"></div>
          <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Coach and service provider</p></div>
          <span class="testimonial__tag">FFB</span>
        </figcaption>
      </figure>

      <figure class="testimonial">
        <p class="testimonial__mark">"</p>
        <blockquote class="testimonial__quote">The Bali retreat broke me open in the best way. I came home with a plan, a peer group who keep me honest, and permission to stop apologising for wanting <em>more</em>.</blockquote>
        <figcaption class="testimonial__attribution">
          <div class="testimonial__avatar" aria-hidden="true"></div>
          <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Founder, brand agency</p></div>
          <span class="testimonial__tag">FFM</span>
        </figcaption>
      </figure>

      <figure class="testimonial">
        <p class="testimonial__mark">"</p>
        <blockquote class="testimonial__quote">I took the FRESH Quiz expecting a lead magnet. I got a mirror. Haven't looked at my business the same way since.</blockquote>
        <figcaption class="testimonial__attribution">
          <div class="testimonial__avatar" aria-hidden="true"></div>
          <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Service business owner</p></div>
          <span class="testimonial__tag">FRESH</span>
        </figcaption>
      </figure>

      <figure class="testimonial">
        <p class="testimonial__mark">"</p>
        <blockquote class="testimonial__quote">Tracy's the first mentor who told me the hard thing without flinching. <em>Loving</em>, but absolutely honest. My business is built on what she said to me in month three.</blockquote>
        <figcaption class="testimonial__attribution">
          <div class="testimonial__avatar" aria-hidden="true"></div>
          <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Copywriter</p></div>
          <span class="testimonial__tag">FFB</span>
        </figcaption>
      </figure>

      <figure class="testimonial">
        <p class="testimonial__mark">"</p>
        <blockquote class="testimonial__quote">Application-based is not a gimmick. It's why the room works. Every woman in my cohort is someone I'd want as a client, a partner, or a friend.</blockquote>
        <figcaption class="testimonial__attribution">
          <div class="testimonial__avatar" aria-hidden="true"></div>
          <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">SaaS founder</p></div>
          <span class="testimonial__tag">FFM</span>
        </figcaption>
      </figure>

      <figure class="testimonial">
        <p class="testimonial__mark">"</p>
        <blockquote class="testimonial__quote">The Million Dollar Message™ framework alone was worth the year. My sales calls now feel like conversations. My conversion <em>doubled</em>.</blockquote>
        <figcaption class="testimonial__attribution">
          <div class="testimonial__avatar" aria-hidden="true"></div>
          <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Membership owner</p></div>
          <span class="testimonial__tag">FFB</span>
        </figcaption>
      </figure>

      <figure class="testimonial">
        <p class="testimonial__mark">"</p>
        <blockquote class="testimonial__quote">I homeschool, I run a six-figure business, I take Fridays off. Before FFB I thought I had to pick two. Tracy showed me the <em>third path</em>.</blockquote>
        <figcaption class="testimonial__attribution">
          <div class="testimonial__avatar" aria-hidden="true"></div>
          <div class="testimonial__meta"><p class="testimonial__name">[MEMBER NAME]</p><p class="testimonial__role">Course creator, mum of three</p></div>
          <span class="testimonial__tag">FFB</span>
        </figcaption>
      </figure>
    </div>
  </section>
```

---

## why-block · 3 variants

### why-block.dark

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-aztek);
      color: var(--p-oatmeal);
      -webkit-font-smoothing: antialiased;
    }

    .section {
      padding: clamp(56px, 8vw, 120px) clamp(20px, 5vw, 64px);
    }

    .wb-dark {
      background: var(--p-aztek);
      color: var(--p-oatmeal);
    }
    .wb-dark .wb__wrap {
      max-width: 760px;
      margin: 0 auto;
    }
    .wb-dark .wb__eyebrow {
      font-family: var(--f-script);
      font-size: clamp(36px, 4.4vw, 56px);
      color: var(--p-gold-mid);
      line-height: 1.05;
      margin: 0 0 24px;
    }
    .wb-dark .wb__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(34px, 4.6vw, 56px);
      line-height: 1.08;
      letter-spacing: -0.015em;
      color: var(--p-oatmeal);
      margin: 0 0 28px;
      max-width: 20ch;
    }
    .wb-dark .wb__title em {
      font-family: var(--f-serif-italic);
      font-style: italic;
    }
    .wb-dark .wb__body {
      font-family: var(--f-sans);
      font-size: clamp(16px, 1.2vw, 18px);
      line-height: 1.75;
      color: var(--p-oatmeal);
      opacity: 0.92;
      margin: 0 0 18px;
      max-width: 58ch;
    }
    .wb-dark .wb__body strong {
      font-weight: 600;
      color: var(--p-oatmeal);
      opacity: 1;
    }
    .wb-dark .wb__body em {
      font-family: var(--f-serif-italic);
      font-style: italic;
    }
    .wb-dark .wb__sig {
      font-family: var(--f-script);
      font-size: clamp(34px, 3.6vw, 48px);
      color: var(--p-gold-mid);
      line-height: 1.05;
      margin: 36px 0 0;
    }
    .wb-dark .wb__rule {
      width: 48px;
      height: 1px;
      background: var(--p-gold-mid);
      margin: 0 0 24px;
      opacity: 0.6;
    }

    @media (max-width: 640px) {
      .section { padding: 56px 20px; }
    }
    @media (max-width: 430px) {
      .section { padding: 48px 18px; }
    }
```

```html
<section class="section wb-dark" aria-label="Why block, dark">
    <div class="wb__wrap">
      <p class="wb__eyebrow">Here's the truth I keep coming back to.</p>
      <div class="wb__rule" aria-hidden="true"></div>
      <h2 class="wb__title">
        Most women don't need another <em>strategy stack</em>. They need a strategy that fits their life.
      </h2>
      <p class="wb__body">
        You've done the courses. You've bookmarked the posts. You've got enough tabs open to sink a laptop.
      </p>
      <p class="wb__body">
        The problem was never a lack of information. It was a lack of <strong>a container built for how you actually work</strong>. Four-day weeks. School holidays. Seasons when life gets loud.
      </p>
      <p class="wb__body">
        <em>Freedom Filled®</em> is built around the real rhythm of your week, not someone else's hustle calendar. That's why it actually lands.
      </p>
      <p class="wb__sig">Xx Tracy</p>
    </div>
  </section>
```

### why-block.editorial

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }

    .section {
      padding: clamp(56px, 8vw, 120px) clamp(20px, 5vw, 64px);
    }

    .wb-editorial {
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
    }
    .wb-editorial .wb__wrap {
      max-width: 760px;
      margin: 0 auto;
      text-align: left;
    }
    .wb-editorial .wb__eyebrow {
      font-family: var(--f-script);
      font-size: clamp(36px, 4.4vw, 56px);
      color: var(--p-sage);
      line-height: 1.05;
      margin: 0 0 24px;
    }
    .wb-editorial .wb__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(34px, 4.6vw, 56px);
      line-height: 1.08;
      letter-spacing: -0.015em;
      color: var(--p-charcoal);
      margin: 0 0 28px;
      max-width: 20ch;
    }
    .wb-editorial .wb__title em {
      font-family: var(--f-serif-italic);
      font-style: italic;
    }
    .wb-editorial .wb__body {
      font-family: var(--f-sans);
      font-size: clamp(16px, 1.2vw, 18px);
      line-height: 1.75;
      color: var(--p-ink);
      margin: 0 0 18px;
      max-width: 58ch;
    }
    .wb-editorial .wb__body + .wb__body { margin-top: 0; }
    .wb-editorial .wb__body strong {
      font-weight: 600;
      color: var(--p-charcoal);
    }
    .wb-editorial .wb__body em {
      font-family: var(--f-serif-italic);
      font-style: italic;
    }
    .wb-editorial .wb__sig {
      font-family: var(--f-script);
      font-size: clamp(34px, 3.6vw, 48px);
      color: var(--p-charcoal);
      line-height: 1.05;
      margin: 36px 0 0;
    }
    .wb-editorial .wb__rule {
      width: 48px;
      height: 1px;
      background: var(--p-sage);
      margin: 0 0 24px;
      opacity: 0.7;
    }

    @media (max-width: 640px) {
      .section { padding: 56px 20px; }
    }
    @media (max-width: 430px) {
      .section { padding: 48px 18px; }
    }
```

```html
<section class="section wb-editorial" aria-label="Why block, editorial">
    <div class="wb__wrap">
      <p class="wb__eyebrow">Let me be straight with you.</p>
      <div class="wb__rule" aria-hidden="true"></div>
      <h2 class="wb__title">
        Because building a business while raising a family isn't the same as <em>building one at 25</em>.
      </h2>
      <p class="wb__body">
        You don't have 70 hours a week to throw at a funnel.
      </p>
      <p class="wb__body">
        You have <strong>school pickup, dinner on the stove, a nervous system that's been through it</strong>, and a gut feeling that the version of success you've been chasing isn't the one you actually want.
      </p>
      <p class="wb__body">
        I built this for the woman who's done pretending. The one who knows she's meant for more, and refuses to burn down her life to reach it. <em>Freedom Filled®</em> means your business serves your life, not the other way around.
      </p>
      <p class="wb__sig">Xx Tracy</p>
    </div>
  </section>
```

### why-block.showcase

Wrapper context: `<body data-brand="tracy">`

```css
*, *::before, *::after { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      font-family: var(--f-sans);
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
      -webkit-font-smoothing: antialiased;
    }

    .section {
      padding: clamp(56px, 8vw, 120px) clamp(20px, 5vw, 64px);
    }

    /* Variant anchors, used by /review/ and /compose/ hashes */
    .anchor {
      position: relative;
      scroll-margin-top: 20px;
    }

    /* -------- EDITORIAL (cream, script eyebrow, Tracy voice) -------- */
    .wb-editorial {
      background: var(--p-oatmeal);
      color: var(--p-charcoal);
    }
    .wb-editorial .wb__wrap {
      max-width: 760px;
      margin: 0 auto;
      text-align: left;
    }
    .wb-editorial .wb__eyebrow {
      font-family: var(--f-script);
      font-size: clamp(28px, 3.2vw, 40px);
      color: var(--p-sage);
      line-height: 1;
      margin: 0 0 22px;
    }
    .wb-editorial .wb__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(34px, 4.6vw, 56px);
      line-height: 1.08;
      letter-spacing: -0.015em;
      color: var(--p-charcoal);
      margin: 0 0 28px;
      max-width: 20ch;
    }
    .wb-editorial .wb__title em {
      font-family: var(--f-serif-italic);
      font-style: italic;
    }
    .wb-editorial .wb__body {
      font-family: var(--f-sans);
      font-size: clamp(16px, 1.2vw, 18px);
      line-height: 1.75;
      color: var(--p-ink);
      margin: 0 0 18px;
      max-width: 58ch;
    }
    .wb-editorial .wb__body + .wb__body { margin-top: 0; }
    .wb-editorial .wb__body strong {
      font-weight: 600;
      color: var(--p-charcoal);
    }
    .wb-editorial .wb__body em {
      font-family: var(--f-serif-italic);
      font-style: italic;
    }
    .wb-editorial .wb__sig {
      font-family: var(--f-script);
      font-size: clamp(28px, 3vw, 38px);
      color: var(--p-charcoal);
      line-height: 1;
      margin: 36px 0 0;
    }
    .wb-editorial .wb__rule {
      width: 48px;
      height: 1px;
      background: var(--p-sage);
      margin: 0 0 24px;
      opacity: 0.7;
    }

    /* -------- DARK (aztek canvas, oatmeal text, for between bright sections) -------- */
    .wb-dark {
      background: var(--p-aztek);
      color: var(--p-oatmeal);
    }
    .wb-dark .wb__wrap {
      max-width: 760px;
      margin: 0 auto;
    }
    .wb-dark .wb__eyebrow {
      font-family: var(--f-script);
      font-size: clamp(28px, 3.2vw, 40px);
      color: var(--p-gold-mid);
      line-height: 1;
      margin: 0 0 22px;
    }
    .wb-dark .wb__title {
      font-family: var(--f-serif-display);
      font-weight: 400;
      font-size: clamp(34px, 4.6vw, 56px);
      line-height: 1.08;
      letter-spacing: -0.015em;
      color: var(--p-oatmeal);
      margin: 0 0 28px;
      max-width: 20ch;
    }
    .wb-dark .wb__title em {
      font-family: var(--f-serif-italic);
      font-style: italic;
    }
    .wb-dark .wb__body {
      font-family: var(--f-sans);
      font-size: clamp(16px, 1.2vw, 18px);
      line-height: 1.75;
      color: var(--p-oatmeal);
      opacity: 0.92;
      margin: 0 0 18px;
      max-width: 58ch;
    }
    .wb-dark .wb__body strong {
      font-weight: 600;
      color: var(--p-oatmeal);
      opacity: 1;
    }
    .wb-dark .wb__body em {
      font-family: var(--f-serif-italic);
      font-style: italic;
    }
    .wb-dark .wb__sig {
      font-family: var(--f-script);
      font-size: clamp(28px, 3vw, 38px);
      color: var(--p-gold-mid);
      line-height: 1;
      margin: 36px 0 0;
    }
    .wb-dark .wb__rule {
      width: 48px;
      height: 1px;
      background: var(--p-gold-mid);
      margin: 0 0 24px;
      opacity: 0.6;
    }

    /* -------- SECTION LABELS (for this showcase page) -------- */
    .showcase-label {
      max-width: 760px;
      margin: 0 auto 18px;
      padding: 0 clamp(20px, 5vw, 64px);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--p-mute);
    }
    .wb-dark + .showcase-label,
    .wb-editorial + .showcase-label {
      margin-top: 48px;
    }

    @media (max-width: 640px) {
      .section { padding: 56px 20px; }
    }
    @media (max-width: 430px) {
      .section { padding: 48px 18px; }
    }
```

```html
<p class="showcase-label" style="margin-top: 48px;">Variant · editorial</p>
  <section class="section wb-editorial anchor" id="editorial" aria-label="Why block, editorial">
    <div class="wb__wrap">
      <p class="wb__eyebrow">Let me be straight with you.</p>
      <div class="wb__rule" aria-hidden="true"></div>
      <h2 class="wb__title">
        Because building a business while raising a family isn't the same as <em>building one at 25</em>.
      </h2>
      <p class="wb__body">
        You don't have 70 hours a week to throw at a funnel.
      </p>
      <p class="wb__body">
        You have <strong>school pickup, dinner on the stove, a nervous system that's been through it</strong>, and a gut feeling that the version of success you've been chasing isn't the one you actually want.
      </p>
      <p class="wb__body">
        I built this for the woman who's done pretending. The one who knows she's meant for more, and refuses to burn down her life to reach it. <em>Freedom Filled®</em> means your business serves your life, not the other way around.
      </p>
      <p class="wb__sig">Xx Tracy</p>
    </div>
  </section>

  <p class="showcase-label">Variant · dark</p>
  <section class="section wb-dark anchor" id="dark" aria-label="Why block, dark">
    <div class="wb__wrap">
      <p class="wb__eyebrow">Here's the truth I keep coming back to.</p>
      <div class="wb__rule" aria-hidden="true"></div>
      <h2 class="wb__title">
        Most women don't need another <em>strategy stack</em>. They need a strategy that fits their life.
      </h2>
      <p class="wb__body">
        You've done the courses. You've bookmarked the posts. You've got enough tabs open to sink a laptop.
      </p>
      <p class="wb__body">
        The problem was never a lack of information. It was a lack of <strong>a container built for how you actually work</strong>. Four-day weeks. School holidays. Seasons when life gets loud.
      </p>
      <p class="wb__body">
        <em>Freedom Filled®</em> is built around the real rhythm of your week, not someone else's hustle calendar. That's why it actually lands.
      </p>
      <p class="wb__sig">Xx Tracy</p>
    </div>
  </section>
```

---
