# 04 · Field marketing

**Concept used: C1 Prairie at Dusk.** I recommended it in Phase 3, and you confirmed it on 2026-10-15. Every piece places the C1 can as a live smart object, and its label is a nested smart object with live type, so a different concept can be swapped in later with Replace Contents.

| Piece | Size | Files |
|---|---|---|
| Hero | 16:9, 2560 × 1440 | `hero/hero_16x9.psd`, `.png` |
| Poster | 18 × 24 in at 300 ppi (5400 × 7200) | `poster/poster_18x24.psb`, `.png`, `.pdf` |
| Instagram square 1: can in the field | 1080 × 1080 | `instagram/ig_square_1_can.*` |
| Instagram square 2: late asters, side-panel story | 1080 × 1080 | `instagram/ig_square_2_bloom.*` |
| Instagram square 3: sampling (placeholders) | 1080 × 1080 | `instagram/ig_square_3_sampling.*` |
| Instagram story 1: can | 1080 × 1920 | `instagram/ig_story_1_can.*` |
| Instagram story 2: sampling (placeholders) | 1080 × 1920 | `instagram/ig_story_2_sampling.*` |
| Seasonal launch piece: 3 headline options | 1080 × 1350 (4:5) | `launch/launch_4x5.psd` (A visible, B and C hidden), `launch_4x5_A/B/C.png` |

## Launch headlines (in the spirit of "Blooms late. Worth the wait.")
- **A** "Asters wait for fall. So did we."
- **B** "Late in the year. Right on time."
- **C** "The last bloom of the season."

All three share the line "Our first chai latte is here." In the PSD each headline is its own live type layer: `launch-headline-a`, `-b`, `-c`.

## How they're built
- **Fields:** the aster field generator (`00_aster_system/aster.py field …`) renders each field at the piece's own size. Resampling a finished field would stretch its gradient fills.
- **Layers:** the field's depth bands are smart objects with live blurs. The grade is adjustment layers, and haze and vignette are fill layers. Top-level groups are `product`, then `brand` (mark, name, lines).
- **The can:** it sits behind the nearest grass band, so blades cross its base, and takes the field's grade. A warm `can-rim-light` is clipped to it on the side facing the sun.
- **Type:** layout and copy for every piece live in `marketing.py`, which writes each piece's vector overlay and type steps.
- **Poster:** rendered natively at 5400 × 7200: the field, the vector mark and the live type are all drawn at full size, and the resolution is then tagged 300 ppi without resampling. A first attempt resampled a 1800 × 2400 build, but Image Size in PhotoCraft breaks partial gradient fills and mis-scales type, so it was rebuilt this way.
- **The poster can:** it's the 3× render (`03_aster_can_concepts/hires_can.py`), so the label stays sharp at 300 ppi. At poster scale the field's near grass is dense, so the can stands in front of the nearest band instead of inside it.
- **Poster formats:** PhotoCraft wrote the poster as PSB, the large-document PSD format, because its estimated size passed 2 GB. The two farthest field bands (`depth-5`, `depth-4`) hold thousands of tiny paths and are stored as pixel layers there. Everything else is live. The PDF wraps PhotoCraft's PNG export at 18 × 24 in (`tools/make_pdf.py`), because PDF save is disabled in automation. There's no bleed yet; add it once the printer's spec is known.

## Placeholders, not claims
Sampling date, time and place read "TBD". No nutrition numbers or claims appear in Phase 4. Nothing says local, Wisconsin, or dairy. Asters appear only as the field and the mark, never next to spices or ingredients.
