/* PL1 — Programs page */ function ProgramsPage() { return ( <> {/* PAGE HEADER */}
Programs

How a PL1 keeper is built.

Four formats designed to slot into a real keeper's real season — from the kid taking gloves seriously for the first time to the academy keeper who needs a second voice in the room.

{/* CORE PROGRAMS */}
{/* DETAILED BREAKDOWN — split rows alternating image side */}
{/* WEEKLY RHYTHM — table */}
A typical week

A regular PL1 keeper does roughly six hours of intentional goalkeeping work between Monday and Saturday — not on top of club training, distributed inside it.

DayFocusFormatTime
MonMatch reviewVideo, async20 min
TueTechnical — handling & footwork1:1 or club60 min
WedRecovery / mobilityHome plan20 min
ThuDecision-making in trafficSquad clinic90 min
FriPre-match activationSelf-led15 min
SatMatchFilmed
{/* PRICING NOTE / FAQ teaser */}

Honest about what it costs.

No tiered memberships, no minimums, no signing fees. Pay per session or save with a block. Bursaries available — we don't want price to be the reason a serious keeper doesn't train.

{[ ["6-session block", "£330", "Save £60 vs pay-as-you-go", false], ["Term-time pass", "£780", "12 sessions across the term, miss two free", true], ["Bursary place", "£0–£35", "Apply with two paragraphs — no income proof needed", false], ].map(([title, price, copy, featured], i) => (

{title}

{price}

{copy}

))}
); } function ProgramDetail({ number, tag, name, copy, bullets, price, unit, reverse=false, caption }) { const media = (
); const text = (
{number} {tag}

{name}

{copy}

    {bullets.map((b,i) =>
  • {b}
  • )}
{price} {unit}
Enquire
); return (
{reverse ? <>{text}{media} : <>{media}{text}}
); } Object.assign(window, { ProgramsPage, ProgramDetail });