/* =====================================================================
   KEY FOR CHANGE — THE PROGRAMME (Changemakers)
   Mike's design keyforchange-programme.html (task #1001010, 10 Sep 2026).
   Ported faithfully as a scoped .k4c-programme component; loaded
   template-gated from base.html.twig (page.template == 'programme'), the same
   pattern as about (#1001009) / shop (#1000993) / events (#1000999).

   Design fonts (Bricolage/Newsreader/Instrument) map to the site's brand fonts
   — the theme standardised on Montserrat/Lato and dropped those webfonts
   (#1000953). The editorial serif role keeps a system serif (Georgia) so the
   standfirst / pull-copy contrast Mike designed survives without a new webfont.

   The hero reuses the sitewide .kfc-band wrapper so it clears the fixed
   transparent nav and inherits the deep-purple + glow (inner-hero.css).
   Everything else is scoped under .k4c-programme with a prg- prefix so the
   design's generic class names never collide with theme / quark2 globals.
   ===================================================================== */
.k4c-programme {
  --prg-ink: #241A33; --prg-ink2: #4A415A; --prg-ink3: #6F6580; --prg-ink4: #8A809A;
  --prg-paper: #FAF7F2; --prg-paper2: #F3EEE7; --prg-white: #FFFFFF;
  --prg-brand: #512D7F; --prg-deep: #2A153F; --prg-lilac: #C9A6F2; --prg-lilac2: #EADFF4;
  --prg-line: rgba(81,45,127,0.14); --prg-line2: rgba(81,45,127,0.28);
  --prg-display: var(--k4c-font-heading);
  --prg-serif: Georgia, 'Times New Roman', serif;
  --prg-sans: var(--k4c-font-body);
  --prg-gutter: 64px; --prg-container: 1440px; --prg-ease: cubic-bezier(.2,.7,.2,1);
  background: var(--prg-paper);
  color: var(--prg-ink);
  font-family: var(--prg-sans);
}
.k4c-programme * { box-sizing: border-box; }
.k4c-programme a { color: inherit; text-decoration: none; }
.k4c-programme .prg-container { max-width: var(--prg-container); margin: 0 auto; padding: 0 var(--prg-gutter); }

.k4c-programme .prg-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 14px 24px; border-radius: 999px; font-family: var(--prg-sans); font-size: 15px; font-weight: 700; white-space: nowrap; border: 0; cursor: pointer; transition: transform .18s, box-shadow .18s, background .18s; }
.k4c-programme .prg-btn:hover { transform: translateY(-1px); }
.k4c-programme .prg-btn svg { width: 16px; height: 16px; }
.k4c-programme .prg-btn-brand { background: var(--prg-brand); color: #fff; }
.k4c-programme .prg-btn-white { background: #fff; color: var(--prg-deep); }
.k4c-programme .prg-btn-outline { background: transparent; border: 1.5px solid var(--prg-brand); color: var(--prg-brand); font-weight: 600; }
.k4c-programme .prg-btn-ghost { background: transparent; border: 1.5px solid rgba(255,255,255,0.35); color: #fff; font-weight: 600; }

.k4c-programme .prg-tag { display: inline-flex; align-items: center; gap: 10px; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 600; color: var(--prg-brand); }
.k4c-programme .prg-tag::before { content: ""; width: 24px; height: 1.5px; background: currentColor; }
.k4c-programme .prg-sec { padding: 88px 0 0; }
.k4c-programme .prg-sh { margin-bottom: 32px; max-width: 800px; }
.k4c-programme .prg-sh h2 { margin: 12px 0 0; font-family: var(--prg-display); font-size: 44px; line-height: 1.02; font-weight: 800; letter-spacing: -0.03em; text-wrap: balance; }
.k4c-programme .prg-sh h2 .prg-accent { color: var(--prg-brand); }
.k4c-programme .prg-sh p { margin: 12px 0 0; font-family: var(--prg-serif); font-size: 19px; line-height: 1.5; color: var(--prg-ink2); }
.k4c-programme .prg-check { width: 16px; height: 16px; flex-shrink: 0; margin-top: 3px; }

/* ---------- (1) hero ---------- */
.k4c-programme .prg-hero > .prg-container { display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); gap: 32px; padding-top: calc(var(--k4c-nav-height) + 8px); padding-bottom: 0; align-items: end; }
.k4c-programme .prg-copy { grid-column: span 8; display: flex; flex-direction: column; gap: 22px; padding-bottom: 44px; }
.k4c-programme .prg-eyebrow { display: flex; align-items: center; gap: 10px; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--prg-lilac); font-weight: 600; }
.k4c-programme .prg-eyebrow::before { content: ""; width: 24px; height: 1.5px; background: var(--prg-lilac); }
.k4c-programme .prg-hero h1 { margin: 0; max-width: 860px; font-family: var(--prg-display); font-size: clamp(42px, 5.6vw, 76px); line-height: 1.0; font-weight: 800; letter-spacing: -0.03em; color: #fff; text-wrap: balance; }
.k4c-programme .prg-hero h1 .prg-accent { color: var(--prg-lilac); }
.k4c-programme .prg-standfirst { margin: 0; max-width: 640px; font-family: var(--prg-serif); font-size: 20px; line-height: 1.5; color: #D9C6F0; }
.k4c-programme .prg-ctas { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 4px; }
.k4c-programme .prg-photo-col { grid-column: span 4; position: relative; height: 380px; }
.k4c-programme .prg-photo { position: absolute; left: 0; bottom: 0; width: 100%; height: 440px; border-radius: 200px 200px 0 0; overflow: hidden; background: linear-gradient(160deg, #9A7CC0 0%, #5E3A90 60%, var(--prg-deep) 100%); }
.k4c-programme .prg-photo img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.k4c-programme .prg-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(42,21,63,0) 62%, var(--prg-deep) 100%); pointer-events: none; }
.k4c-programme .prg-facts { border-top: 1px solid rgba(255,255,255,0.14); }
.k4c-programme .prg-facts .prg-container { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 24px; padding-top: 18px; padding-bottom: 22px; }
.k4c-programme .prg-fact b { display: block; font-family: var(--prg-display); font-size: 22px; font-weight: 700; color: #fff; }
.k4c-programme .prg-fact span { font-size: 13px; color: #B9A6D4; }

/* ---------- (2) is this you ---------- */
.k4c-programme .prg-you { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 48px; align-items: center; }
.k4c-programme .prg-you ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.k4c-programme .prg-you li { display: grid; grid-template-columns: 24px 1fr; gap: 14px; align-items: start; padding: 16px 20px; border-radius: 14px; background: var(--prg-white); border: 1px solid var(--prg-line); font-family: var(--prg-serif); font-size: 19px; line-height: 1.4; }
.k4c-programme .prg-you li i { width: 22px; height: 22px; border-radius: 6px; border: 1.5px solid var(--prg-line2); margin-top: 2px; }
.k4c-programme .prg-you .prg-note { margin-top: 14px; font-size: 13px; color: var(--prg-ink4); }

/* ---------- (3) three paths ---------- */
.k4c-programme .prg-paths { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; align-items: stretch; }
.k4c-programme .prg-path { border-radius: 24px; padding: 30px 28px; display: flex; flex-direction: column; gap: 14px; background: var(--prg-white); border: 1px solid var(--prg-line); position: relative; }
.k4c-programme .prg-path .prg-len { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--prg-ink4); font-weight: 600; }
.k4c-programme .prg-path h3 { margin: 0; font-family: var(--prg-display); font-size: 34px; line-height: 1; font-weight: 800; letter-spacing: -0.03em; }
.k4c-programme .prg-path .prg-plus { color: var(--prg-ink3); font-style: italic; font-family: var(--prg-serif); font-size: 16px; }
.k4c-programme .prg-path ul { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; font-size: 15px; line-height: 1.4; color: var(--prg-ink2); }
.k4c-programme .prg-path li { display: flex; gap: 10px; }
.k4c-programme .prg-path li svg { color: var(--prg-brand); }
.k4c-programme .prg-path .prg-foot { margin-top: auto; padding-top: 16px; border-top: 1px solid var(--prg-line); font-size: 13px; color: var(--prg-ink3); }
.k4c-programme .prg-path .prg-foot { display: flex; flex-direction: column; gap: 4px; }
.k4c-programme .prg-path .prg-price { font-family: var(--prg-display); font-size: 30px; line-height: 1.05; font-weight: 800; letter-spacing: -0.02em; color: var(--prg-ink); }
.k4c-programme .prg-path .prg-plan { font-size: 13px; line-height: 1.4; }
.k4c-programme .prg-path.prg-popular .prg-price, .k4c-programme .prg-path.prg-popular h3 { color: #fff; }
.k4c-programme .prg-fair { margin: 14px 4px 0; font-size: 12.5px; line-height: 1.5; color: var(--prg-ink3); }
.k4c-programme .prg-path.prg-popular { background: var(--prg-deep); color: #fff; border-color: var(--prg-deep); transform: translateY(-8px); box-shadow: 0 30px 60px rgba(42,21,63,0.3); }
.k4c-programme .prg-path.prg-popular .prg-len, .k4c-programme .prg-path.prg-popular .prg-plus, .k4c-programme .prg-path.prg-popular .prg-foot { color: #B9A6D4; }
.k4c-programme .prg-path.prg-popular ul { color: #EDE6F5; }
/* the sitewide `li { color:#242424 }` overrides inherited list colour on the
   li itself, so set it explicitly on dark-card list items (#1001010) */
.k4c-programme .prg-path.prg-popular li { color: #EDE6F5; }
.k4c-programme .prg-path.prg-popular li svg { color: var(--prg-lilac); }
.k4c-programme .prg-path.prg-popular .prg-foot { border-color: rgba(255,255,255,0.14); }
.k4c-programme .prg-path.prg-popular::before { content: "Most popular"; position: absolute; top: -14px; left: 28px; padding: 6px 12px; border-radius: 999px; background: var(--prg-lilac); color: var(--prg-deep); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; }
.k4c-programme .prg-path.prg-premium { background: var(--prg-lilac2); border-color: var(--prg-lilac2); }
.k4c-programme .prg-paths-note { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 20px; padding: 18px 24px; border-radius: 16px; background: var(--prg-white); border: 1px solid var(--prg-line); font-size: 14px; color: var(--prg-ink2); }
.k4c-programme .prg-paths-note b { color: var(--prg-ink); font-weight: 600; }

/* ---------- (4) what changes ---------- */
.k4c-programme .prg-benefits { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.k4c-programme .prg-benefit { padding: 26px 22px; border-radius: 16px; background: var(--prg-white); border: 1px solid var(--prg-line); display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.k4c-programme .prg-benefit__art { display: grid; place-items: center; width: 78px; height: 78px; border-radius: 20px; background: radial-gradient(circle at 50% 34%, var(--prg-lilac2) 0%, #fff 92%); border: 1px solid var(--prg-line); }
.k4c-programme .prg-benefit__art img { width: 60px; height: 60px; object-fit: contain; }
.k4c-programme .prg-benefit b { font-family: var(--prg-display); font-size: 20px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.18; }

/* ---------- (5) how it works ---------- */
.k4c-programme .prg-steps { background: var(--prg-deep); color: #F4EEFA; margin-top: 88px; position: relative; overflow: hidden; }
.k4c-programme .prg-steps::before { content: ""; position: absolute; left: -200px; bottom: -300px; width: 720px; height: 720px; border-radius: 50%; background: radial-gradient(circle, rgba(129,86,181,0.45) 0%, rgba(42,21,63,0) 70%); pointer-events: none; }
.k4c-programme .prg-steps .prg-container { position: relative; padding-top: 88px; padding-bottom: 88px; }
.k4c-programme .prg-steps .prg-sh h2 { color: #fff; }
.k4c-programme .prg-steps .prg-sh h2 .prg-accent { color: var(--prg-lilac); }
.k4c-programme .prg-steps .prg-sh p { color: #D9C6F0; }
.k4c-programme .prg-steps .prg-tag { color: var(--prg-lilac); }
.k4c-programme .prg-stepper { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); position: relative; }
.k4c-programme .prg-stepper::before { content: ""; position: absolute; left: 0; right: 0; top: 19px; height: 1px; background: rgba(255,255,255,0.2); }
.k4c-programme .prg-stepper li { position: relative; padding: 52px 24px 0 0; }
.k4c-programme .prg-stepper li .prg-n { position: absolute; left: 0; top: 0; width: 40px; height: 40px; border-radius: 50%; background: var(--prg-deep); border: 2px solid var(--prg-lilac); color: var(--prg-lilac); display: flex; align-items: center; justify-content: center; font-family: var(--prg-display); font-weight: 800; font-size: 14px; }
.k4c-programme .prg-stepper li.prg-now .prg-n { background: var(--prg-lilac); color: var(--prg-deep); }
.k4c-programme .prg-stepper h3 { margin: 0 0 8px; font-family: var(--prg-display); font-size: 20px; line-height: 1.1; font-weight: 700; letter-spacing: -0.02em; color: #fff; }
.k4c-programme .prg-stepper p { margin: 0; font-size: 14px; line-height: 1.5; color: #B9A6D4; }
.k4c-programme .prg-stepper .prg-free { display: inline-block; margin-top: 8px; padding: 4px 9px; border-radius: 999px; background: rgba(201,166,242,0.18); color: var(--prg-lilac); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 700; }

/* ---------- (6) testimonials ---------- */
.k4c-programme .prg-stories { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.k4c-programme .prg-story { border-radius: 22px; background: var(--prg-white); border: 1px solid var(--prg-line); padding: 28px; display: flex; flex-direction: column; gap: 14px; }
.k4c-programme .prg-story .prg-k { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--prg-brand); font-weight: 600; }
.k4c-programme .prg-story p { margin: 0; font-family: var(--prg-serif); font-size: 20px; line-height: 1.4; text-wrap: pretty; }
.k4c-programme .prg-story .prg-who { margin-top: auto; font-size: 13px; color: var(--prg-ink3); }
.k4c-programme .prg-story .prg-who b { display: block; color: var(--prg-ink); font-weight: 600; }

/* Inline video testimonial card (#1001366) — full-bleed 16:9 poster facade
   at the top, text below; matches the /success-stories/ wall pattern. The
   poster <a> becomes a youtube-nocookie <iframe> on click (programme.js). */
.k4c-programme .prg-story--video { padding: 0; overflow: hidden; }
.k4c-programme .prg-story--video .prg-vbody { padding: 22px 28px 28px; display: flex; flex-direction: column; gap: 14px; flex: 1 1 auto; }
.k4c-programme .prg-vplay { position: relative; display: block; aspect-ratio: 16 / 9; background: var(--prg-brand); overflow: hidden; }
.k4c-programme .prg-vplay img { width: 100%; height: 100%; object-fit: cover; display: block; }
.k4c-programme .prg-vplay .prg-vbtn { position: absolute; inset: 0; margin: auto; width: 64px; height: 64px; border-radius: 50%; background: rgba(255,255,255,0.92); color: var(--prg-brand); display: grid; place-items: center; box-shadow: 0 6px 20px rgba(0,0,0,0.28); transition: transform 0.18s ease, background 0.18s ease; }
.k4c-programme .prg-vplay .prg-vbtn svg { width: 28px; height: 28px; margin-left: 3px; }
.k4c-programme .prg-vplay:hover .prg-vbtn, .k4c-programme .prg-vplay:focus-visible .prg-vbtn { transform: scale(1.08); background: #fff; }
.k4c-programme .prg-vframe { width: 100%; aspect-ratio: 16 / 9; border: 0; display: block; background: #1a0d28; object-fit: contain; }
@media (prefers-reduced-motion: reduce) {
  .k4c-programme .prg-vplay .prg-vbtn { transition: none; }
}
/* Three-video row (#1001608): figure reset + length/CC chip + calmer quote size
   so three cards sit level; the quiet "press play" line underneath. */
.k4c-programme figure.prg-story { margin: 0; }
.k4c-programme .prg-stories--videos .prg-story p { font-size: 18px; }
.k4c-programme .prg-vplay .prg-vlen { position: absolute; left: 12px; bottom: 12px; padding: 4px 9px; border-radius: 999px; background: rgba(26,13,40,0.78); color: #fff; font-size: 12px; font-weight: 600; letter-spacing: 0.02em; }
.k4c-programme .prg-vnote { margin: 14px 0 0; font-size: 13px; color: var(--prg-ink4); text-align: center; }

/* Google reviews strip under the videos (#1001650) — shared .k4c-grev cards
   (social-proof.css) from the live K4C feed; this only lays them out. */
.k4c-programme .prg-greviews { margin-top: 40px; }
.k4c-programme .prg-grhead { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 20px; margin-bottom: 16px; }
.k4c-programme .prg-grscore { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; color: var(--prg-ink3); font-size: 14px; }
.k4c-programme .prg-grscore b { font-size: 28px; font-weight: 700; color: var(--prg-ink); line-height: 1; }
.k4c-programme .prg-grstars { color: #FBBC04; letter-spacing: 2px; font-size: 16px; }
.k4c-programme .prg-grmore { font-size: 14px; font-weight: 600; color: var(--prg-brand); text-decoration: none; }
.k4c-programme .prg-grmore:hover, .k4c-programme .prg-grmore:focus-visible { text-decoration: underline; }
.k4c-programme .prg-grgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; }
@media (max-width: 1100px) { .k4c-programme .prg-grgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .k4c-programme .prg-grgrid > :nth-child(3) { display: none; } }
@media (max-width: 640px) { .k4c-programme .prg-grgrid { grid-template-columns: 1fr; } .k4c-programme .prg-grgrid > :nth-child(3) { display: block; } }

/* "If you recognise yourself here" (#1001608) — a read-only list, not a
   checklist: the old empty tick-boxes looked clickable. Marker = small filled
   lilac chip with a brand dot; no hover, no pointer. */
.k4c-programme .prg-signs li { cursor: default; }
.k4c-programme .prg-sign { position: relative; width: 22px; height: 22px; margin-top: 3px; border-radius: 50%; background: var(--prg-lilac2); }
.k4c-programme .prg-sign::after { content: ""; position: absolute; inset: 0; margin: auto; width: 8px; height: 8px; border-radius: 50%; background: var(--prg-brand); }

/* ---------- (7) promise ---------- */
.k4c-programme .prg-promise { margin-top: 56px; display: grid; grid-template-columns: 72px 1fr; gap: 24px; align-items: center; padding: 30px 34px; border-radius: 22px; background: var(--prg-lilac2); }
.k4c-programme .prg-promise svg { width: 72px; height: 72px; color: var(--prg-brand); }
.k4c-programme .prg-promise b { display: block; font-family: var(--prg-display); font-size: 24px; font-weight: 800; letter-spacing: -0.02em; margin-bottom: 6px; }
.k4c-programme .prg-promise p { margin: 0; font-family: var(--prg-serif); font-size: 18px; line-height: 1.5; color: var(--prg-ink2); }

/* ---------- (8) apart ---------- */
.k4c-programme .prg-apart { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.k4c-programme .prg-apart > div { border-radius: 20px; padding: 26px 28px; }
.k4c-programme .prg-apart .prg-kfc { background: var(--prg-deep); color: #fff; }
.k4c-programme .prg-apart .prg-kfc li { color: #fff; } /* beat sitewide li{color:#242424} on dark card */
.k4c-programme .prg-apart .prg-gen { background: var(--prg-white); border: 1px solid var(--prg-line); }
.k4c-programme .prg-apart b { display: block; font-family: var(--prg-display); font-size: 20px; font-weight: 700; letter-spacing: -0.02em; margin-bottom: 14px; }
.k4c-programme .prg-apart .prg-gen b { color: var(--prg-ink3); }
.k4c-programme .prg-apart ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 15px; line-height: 1.45; }
.k4c-programme .prg-apart li { display: flex; gap: 10px; }
.k4c-programme .prg-apart .prg-kfc li svg { color: var(--prg-lilac); }
.k4c-programme .prg-apart .prg-gen li { color: var(--prg-ink3); }
.k4c-programme .prg-apart .prg-gen li svg { color: var(--prg-ink4); }

/* ---------- (9) FAQ ---------- */
.k4c-programme .prg-faq { max-width: 860px; }
.k4c-programme .prg-faq details { border-top: 1px solid var(--prg-line); }
.k4c-programme .prg-faq details:last-of-type { border-bottom: 1px solid var(--prg-line); }
.k4c-programme .prg-faq summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 1fr 28px; gap: 16px; align-items: center; padding: 18px 0; font-family: var(--prg-display); font-size: 21px; font-weight: 700; }
.k4c-programme .prg-faq summary::-webkit-details-marker { display: none; }
.k4c-programme .prg-faq summary::after { content: ""; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--prg-line2); background: center / 12px no-repeat url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23512D7F' stroke-width='2.5' stroke-linecap='round'><path d='M12 5v14M5 12h14'/></svg>"); transition: transform .3s var(--prg-ease); }
.k4c-programme .prg-faq details[open] summary::after { transform: rotate(45deg); }
.k4c-programme .prg-faq details > div { padding: 0 44px 20px 0; font-family: var(--prg-serif); font-size: 18px; line-height: 1.55; color: var(--prg-ink2); }

/* ---------- (10) brochure + call ---------- */
.k4c-programme .prg-close { margin: 88px 0 96px; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 16px; }
.k4c-programme .prg-call { border-radius: 26px; background: linear-gradient(135deg, rgba(42,21,63,0.965) 0%, rgba(58,29,88,0.94) 52%, rgba(81,45,127,0.90) 100%), url("../images/changemakers-diverse-people.jpg") center / cover no-repeat, var(--prg-deep); color: #fff; padding: 40px 44px; display: flex; flex-direction: column; gap: 16px; position: relative; overflow: hidden; }
.k4c-programme .prg-call::before { content: ""; position: absolute; right: -140px; top: -180px; width: 480px; height: 480px; border-radius: 50%; background: radial-gradient(circle, rgba(129,86,181,0.5) 0%, rgba(42,21,63,0) 70%); }
.k4c-programme .prg-call > * { position: relative; }
.k4c-programme .prg-call h2 { margin: 0; font-family: var(--prg-display); font-size: 40px; line-height: 1.02; font-weight: 800; letter-spacing: -0.03em; }
.k4c-programme .prg-call h2 span { color: var(--prg-lilac); }
.k4c-programme .prg-call p { margin: 0; font-family: var(--prg-serif); font-size: 19px; line-height: 1.5; color: #D9C6F0; max-width: 520px; }
.k4c-programme .prg-call .prg-row { display: flex; gap: 12px; flex-wrap: wrap; margin-top: auto; padding-top: 8px; }
.k4c-programme .prg-brochure { border-radius: 26px; background: var(--prg-white); border: 1px solid var(--prg-line); padding: 32px; display: flex; flex-direction: column; gap: 12px; }
.k4c-programme .prg-brochure h3 { margin: 0; font-family: var(--prg-display); font-size: 26px; font-weight: 800; letter-spacing: -0.03em; line-height: 1.05; }
.k4c-programme .prg-brochure > p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--prg-ink2); }
/* the brochure form is the live GoHighLevel embed (.k4c-ghlform); strip its
   default outer margins so it sits flush inside the white panel */
.k4c-programme .prg-brochure .k4c-ghlform { margin: 0; }
.k4c-programme .prg-brochure small { font-size: 12px; color: var(--prg-ink4); text-align: center; }

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
  .k4c-programme { --prg-gutter: 32px; }
  .k4c-programme .prg-hero > .prg-container { grid-template-columns: 1fr; }
  .k4c-programme .prg-copy, .k4c-programme .prg-photo-col { grid-column: auto; }
  .k4c-programme .prg-photo-col { height: 300px; order: -1; }
  .k4c-programme .prg-photo { width: 240px; height: 340px; left: 50%; transform: translateX(-50%); }
  .k4c-programme .prg-facts .prg-container { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .k4c-programme .prg-you, .k4c-programme .prg-close, .k4c-programme .prg-apart { grid-template-columns: 1fr; }
  .k4c-programme .prg-paths { grid-template-columns: 1fr; }
  .k4c-programme .prg-path.prg-popular { transform: none; }
  .k4c-programme .prg-benefits, .k4c-programme .prg-stories { grid-template-columns: 1fr; }
  .k4c-programme .prg-stepper { grid-template-columns: 1fr; gap: 8px; }
  .k4c-programme .prg-stepper::before { left: 19px; right: auto; top: 0; bottom: 0; width: 1px; height: auto; }
  .k4c-programme .prg-stepper li { padding: 0 0 24px 60px; }
  .k4c-programme .prg-paths-note { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 640px) {
  .k4c-programme { --prg-gutter: 20px; }
  .k4c-programme .prg-sh h2 { font-size: 34px; }
  .k4c-programme .prg-btn { width: 100%; }
  .k4c-programme .prg-promise { grid-template-columns: 1fr; }
  .k4c-programme .prg-call h2 { font-size: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  .k4c-programme .prg-btn { transition: none; }
  .k4c-programme .prg-btn:hover { transform: none; }
  .k4c-programme .prg-faq summary::after { transition: none; }
}
/* One list card with hairline dividers (not five bordered pills) so the rows
   read as a list, not buttons (#1001608). */
.k4c-programme .prg-you ul.prg-signs { gap: 0; background: var(--prg-white); border: 1px solid var(--prg-line); border-radius: 18px; padding: 6px 22px; }
.k4c-programme .prg-you ul.prg-signs li { background: none; border: 0; border-radius: 0; padding: 15px 0; }
.k4c-programme .prg-you ul.prg-signs li + li { border-top: 1px solid var(--prg-line); }

/* #1001665 — hero shows the clients' victory (diverse people collage), not Keeley's
   cutout: a framed rounded photo card instead of the portrait arch. */
.k4c-programme .prg-hero .prg-copy { grid-column: span 7; }
.k4c-programme .prg-hero .prg-photo-col:has(.prg-photo--people) { grid-column: span 5; height: auto; align-self: center; padding-bottom: 44px; }
.k4c-programme .prg-photo.prg-photo--people { position: relative; left: auto; bottom: auto; transform: none; width: 100%; height: auto; aspect-ratio: 5 / 4; border-radius: 24px; border: 4px solid rgba(255,255,255,0.92); box-shadow: 0 24px 60px rgba(20,8,36,0.45), 0 0 0 10px rgba(184,156,224,0.14); background: var(--prg-deep); }
.k4c-programme .prg-photo--people img { object-position: 50% 40%; }
.k4c-programme .prg-photo--people::after { display: none; }
@media (max-width: 1100px) {
  .k4c-programme .prg-hero .prg-copy, .k4c-programme .prg-hero .prg-photo-col:has(.prg-photo--people) { grid-column: auto; }
  .k4c-programme .prg-hero .prg-photo-col:has(.prg-photo--people) { order: 0; padding-bottom: 36px; }
  .k4c-programme .prg-photo.prg-photo--people { max-width: 720px; margin-inline: auto; aspect-ratio: 16 / 9; }
  .k4c-programme .prg-hero .prg-copy { padding-bottom: 0; }
}
@media (max-width: 640px) {
  .k4c-programme .prg-photo.prg-photo--people { aspect-ratio: 4 / 3; border-radius: 18px; border-width: 3px; }
}

/* #1001931 — fees removed (Keeley): each tier foot now points to the brochure */
.k4c-programme .prg-path .prg-feelink { font-size: 14px; font-weight: 700; line-height: 1.4; color: var(--prg-ink); text-decoration: none; }
.k4c-programme .prg-path .prg-feelink:hover, .k4c-programme .prg-path .prg-feelink:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.k4c-programme .prg-path.prg-popular .prg-feelink { color: #fff; }
