/* ==========================================================================
   HomeRefined.jsx  —  @role
   Home section sub-components (hero, breaks-down cards, methodology, etc). Loaded BEFORE HomeMinimal; HomeMinimal reuses these globals. Components share global scope (no imports).
   ========================================================================== */
/* PSL Home — refined, section-by-section improvement of mayers-club.webflow.io
   Same outline, same sections, same copy intent. Tighter type, hierarchy,
   density, visual treatment. PSL-only naming (consistent with Diagnostic). */

const HArrow = ({ size = 16 }) =>
<svg viewBox="0 0 16 16" width={size} height={size} fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round" style={{ flexShrink: 0 }}>
    <path d="M3 8h10M9 4l4 4-4 4" />
  </svg>;


const HCursorClick = ({ size = 16 }) =>
<svg viewBox="0 0 24 24" width={size} height={size} fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round" style={{ flexShrink: 0 }}>
    {/* cursor pointer */}
    <path d="M9 4.5v10.5l3-2.5 2.5 5 2-1-2.5-5h4z" fill="currentColor" stroke="currentColor" strokeWidth="1.4" strokeLinejoin="round" />
    {/* click radiating arcs */}
    <path d="M4 8a5 5 0 0 1 1-2.5" opacity="0.85" />
    <path d="M2.5 11a8 8 0 0 1 1.5-5.5" opacity="0.7" />
  </svg>;


/* =====================================================================
   01 — HERO
   Existing: Audience photo · purple overlay · long question headline.
   Refinements:
   - Tighter type scale, slightly smaller headline so the supporting line
     can breathe and the CTA row reads as the actionable hero.
   - Two CTAs: Primary teal (Take Diagnostic) + ghost (Start a conversation).
     Promotes the diagnostic which is the actual next-step.
   - Eyebrow tag added for orientation.
   - Subline (free / 7 min / report) lifted into a meta row of icon chips
     so the trust signals are more legible than a single grey line.
   - Stat callout (10+ / 25+ / 70%) folded into hero base for a stronger
     first impression — currently it's a separate band that reads weak.
   ===================================================================== */
const HRefined_Hero = () =>
<section className="hr-hero hr-hero--video">
    <video
    className="hr-hero-video"
    src="assets/video/psl-hero.mp4"
    autoPlay
    muted
    loop
    playsInline
    preload="auto"
    aria-hidden="true" />

    <div className="hr-hero-video-veil" aria-hidden />
    <div className="hr-hero-overlay" aria-hidden />
    <div className="container hr-hero-inner">
      <h1 className="hr-hero-h">
        When pressure rises, most performance breaks. <span className="hr-hero-h-tail">We design the architecture that holds.</span>
      </h1>
      <p className="hr-hero-sub">PSL applies the methodology of elite sport - preparation, periodisation, recovery, identity under pressure - to the operating reality of complex executive delivery. A structural approach to performance, calibrated for environments where the pressure does not let up.</p>
      <div className="hr-hero-actions">
        <a href="#" className="btn btn-accent">Take the diagnostic <HArrow /></a>
        <a href="#" className="btn btn-ghost-on-dark">Start a conversation</a>
      </div>
    </div>

    {/* In-hero "Engagements include" strip — static, monochrome, no motion.
       Inspired by the emagine.org treatment: label sits inline at the
       left, logos grouped beside it in a single row, no dividing rule.
        NOTE on assets: the colour PNGs in assets/logos/clients/ have
       solid red/black fills that lose their iconic negative space
       (HSBC's diagonal X, Vodafone's comma) when forced to white via a
       CSS filter. For production, drop a brand-approved WHITE/MONO
       version (.svg or .png with proper alpha) into that folder using
       the existing filenames — the filter will then be a no-op on
       already-white art and the marks will look correct. */
  }
    <div className="hr-hero-trusted">
      <div className="container hr-hero-trusted-inner">
        <span className="hr-hero-trusted-label">Engagements include:</span>
        <div className="hr-hero-trusted-row">
          {[
        { name: "HSBC", src: "assets/logos/clients/hsbc.png", slug: "hsbc" },
        { name: "Santander", src: "assets/logos/clients/santander.png", slug: "santander" },
        { name: "Lloyds Bank", src: "assets/logos/clients/lloyds.png", slug: "lloyds" },
        { name: "Vodafone", src: "assets/logos/clients/vodafone.png", slug: "vodafone" },
        { name: "Natura&Co", src: "assets/logos/clients/natura.png", slug: "natura" }].
        map((c) =>
        <span key={c.name} className={`hr-hero-trusted-logo hr-hero-trusted-logo--${c.slug}`} aria-label={c.name}>
              <img src={c.src} alt={c.name} loading="lazy" decoding="async" />
            </span>
        )}
        </div>
      </div>
    </div>
  </section>;


/* =====================================================================
   02 — CREDIBILITY STATS BAND
   Was: a moving marquee of client logos sitting between the hero and the
   dark "Where Performance Breaks Down" section.
   Now: a static credibility stat band on the off-white background. The
   client logos themselves have been promoted into the hero (see
   .hr-hero-trusted in HRefined_Hero). One credibility moment per
   section — the logos belong with the hero, the numbers belong here.
   ===================================================================== */
const HRefined_Stats = () => {
  const stats = [
  { n: "10+", l: "years leading complex delivery" },
  { n: "25+", l: "organisations engaged" },
  { n: "70%", l: "measurable execution lift" }];

  return (
    <section className="hr-stats">
      <div className="container hr-stats-inner">
        {stats.map((s) =>
        <div key={s.n} className="hr-stat">
            <div className="hr-stat-rule" />
            <div className="hr-stat-n">{s.n}</div>
            <div className="hr-stat-l">{s.l}</div>
          </div>
        )}
      </div>
    </section>);

};

/* =====================================================================
   03 — WHERE PERFORMANCE BREAKS DOWN
   Existing: dark bg · "Where Performance Breaks Down" headline · three
   numbered statements stacked left, photo right · only #2 is "active".
   Refinements:
   - Convert the "only #2 active" pattern into a deliberate carousel-style
     focus pattern with three indexed states and a clearer storytelling
     structure: the eye lands on the active item, the others are the
     before/after framing.
   - Photo right is preserved but with a stronger composition — added a
     small overlaid "live" annotation chip pointing at the central problem,
     so the image earns its place.
   - The supporting paragraph below the headline is rewritten to be
     stronger and shorter.
   ===================================================================== */
/* Three illustrations, one per "breaks down" card. Activated by hover/click. */
const BreaksIllustration = ({ active }) => {
  // common defs reused across all three scenes
  const Common = () =>
  <defs>
      <linearGradient id="hrPhotoBg" x1="0" y1="0" x2="1" y2="1">
        <stop offset="0" stopColor="#1A1A38" />
        <stop offset="1" stopColor="#0A0A22" />
      </linearGradient>
      <linearGradient id="hrEffortLine" x1="0" y1="0" x2="1" y2="0">
        <stop offset="0" stopColor="rgba(244,114,182,0.4)" />
        <stop offset="1" stopColor="#F472B6" />
      </linearGradient>
      <linearGradient id="hrThroughputLine" x1="0" y1="0" x2="1" y2="0">
        <stop offset="0" stopColor="rgba(46,224,176,0.4)" />
        <stop offset="1" stopColor="#2EE0B0" />
      </linearGradient>
      <linearGradient id="hrEffortFill" x1="0" y1="0" x2="0" y2="1">
        <stop offset="0" stopColor="rgba(244,114,182,0.25)" />
        <stop offset="1" stopColor="rgba(244,114,182,0)" />
      </linearGradient>
      <linearGradient id="hrCapacityFill" x1="0" y1="0" x2="0" y2="1">
        <stop offset="0" stopColor="rgba(46,224,176,0.45)" />
        <stop offset="1" stopColor="rgba(46,224,176,0.05)" />
      </linearGradient>
    </defs>;


  // SCENE 01 — pressure rising faster than absorption
  const Scene01 = () =>
  <g>
      <text x="32" y="28" fill="rgba(255,255,255,0.4)" fontSize="9" fontFamily="Mona Sans, sans-serif" fontWeight="700" letterSpacing="0.12em">CADENCE OF DEMAND</text>
      <text x="380" y="28" fill="rgba(255,255,255,0.4)" fontSize="9" fontFamily="Mona Sans, sans-serif" fontWeight="700" letterSpacing="0.12em">2024 ▸ NOW</text>
      {/* horizontal grid */}
      {[80, 130, 180, 230].map((y, i) =>
    <line key={i} x1="32" x2="448" y1={y} y2={y} stroke="rgba(255,255,255,0.06)" strokeDasharray="2 4" />
    )}
      {/* incoming pressure waves — accelerating frequency */}
      {[
    { x: 60, h: 60, c: "rgba(244,114,182,0.5)" },
    { x: 95, h: 80, c: "rgba(244,114,182,0.6)" },
    { x: 132, h: 100, c: "rgba(244,114,182,0.7)" },
    { x: 168, h: 120, c: "rgba(244,114,182,0.8)" },
    { x: 200, h: 140, c: "#F472B6" },
    { x: 228, h: 160, c: "#F472B6" },
    { x: 254, h: 175, c: "#F472B6" },
    { x: 278, h: 185, c: "#F472B6" },
    { x: 300, h: 195, c: "#F472B6" },
    { x: 320, h: 200, c: "#F472B6" },
    { x: 338, h: 200, c: "#F472B6" },
    { x: 354, h: 200, c: "#F472B6" },
    { x: 368, h: 200, c: "#F472B6" },
    { x: 380, h: 200, c: "#F472B6" }].
    map((b, i) =>
    <rect key={i} x={b.x} y={230 - b.h} width="6" height={b.h} rx="2" fill={b.c} />
    )}
      {/* capacity ceiling — flat */}
      <line x1="32" x2="448" y1="120" y2="120" stroke="#2EE0B0" strokeWidth="2" strokeDasharray="6 3" />
      <rect x="370" y="108" width="86" height="20" rx="4" fill="rgba(46,224,176,0.16)" stroke="rgba(46,224,176,0.4)" />
      <circle cx="380" cy="118" r="3" fill="#2EE0B0" />
      <text x="388" y="122" fill="#A7F3D0" fontSize="10" fontFamily="Mona Sans, sans-serif" fontWeight="700" letterSpacing="0.06em">CAPACITY</text>
      {/* breach callout */}
      <g transform="translate(260 60)">
        <rect x="-46" y="0" width="92" height="22" rx="4" fill="rgba(244,114,182,0.18)" stroke="rgba(244,114,182,0.4)" />
        <circle cx="-32" cy="11" r="3" fill="#F472B6" />
        <text x="-22" y="15" fill="#F9A8D4" fontSize="10" fontFamily="Mona Sans, sans-serif" fontWeight="700" letterSpacing="0.06em">DEMAND</text>
      </g>
      <g transform="translate(290 96)">
        <line x1="0" y1="0" x2="0" y2="22" stroke="rgba(255,255,255,0.3)" strokeDasharray="2 3" />
        <rect x="-44" y="24" width="88" height="22" rx="4" fill="rgba(255,255,255,0.95)" />
        <text x="0" y="39" textAnchor="middle" fill="#1F2937" fontSize="10" fontFamily="Mona Sans, sans-serif" fontWeight="700" letterSpacing="0.04em">BREACH POINT</text>
      </g>
      {/* time arrow */}
      <line x1="32" x2="430" y1="262" y2="262" stroke="rgba(255,255,255,0.25)" strokeWidth="1" />
      <polygon points="430,258 438,262 430,266" fill="rgba(255,255,255,0.4)" />
      <text x="32" y="280" fill="rgba(255,255,255,0.4)" fontSize="9" fontFamily="Mona Sans, sans-serif" fontWeight="700" letterSpacing="0.12em">TIME</text>
    </g>;


  // SCENE 02 — effort up, throughput flat (existing)
  const Scene02 = () =>
  <g>
      <text x="32" y="28" fill="rgba(255,255,255,0.4)" fontSize="9" fontFamily="Mona Sans, sans-serif" fontWeight="700" letterSpacing="0.12em">WEEK 01</text>
      <text x="380" y="28" fill="rgba(255,255,255,0.4)" fontSize="9" fontFamily="Mona Sans, sans-serif" fontWeight="700" letterSpacing="0.12em">WEEK 12</text>
      {[80, 130, 180, 230].map((y, i) =>
    <line key={i} x1="32" x2="448" y1={y} y2={y} stroke="rgba(255,255,255,0.06)" strokeDasharray="2 4" />
    )}
      <path d="M32 220 L 70 200 L 110 175 L 150 150 L 195 130 L 240 110 L 290 90 L 340 75 L 395 65 L 448 60 L 448 230 L 32 230 Z" fill="url(#hrEffortFill)" />
      <path d="M32 220 L 70 200 L 110 175 L 150 150 L 195 130 L 240 110 L 290 90 L 340 75 L 395 65 L 448 60" stroke="url(#hrEffortLine)" strokeWidth="2.5" fill="none" strokeLinecap="round" strokeLinejoin="round" />
      {[[32, 220], [110, 175], [195, 130], [290, 90], [395, 65], [448, 60]].map(([x, y], i) =>
    <circle key={i} cx={x} cy={y} r="3" fill="#F472B6" />
    )}
      <path d="M32 175 L 70 178 L 110 174 L 150 176 L 195 175 L 240 173 L 290 176 L 340 174 L 395 177 L 448 175" stroke="url(#hrThroughputLine)" strokeWidth="2.5" fill="none" strokeLinecap="round" strokeLinejoin="round" />
      {[[32, 175], [150, 176], [290, 176], [448, 175]].map(([x, y], i) =>
    <circle key={i} cx={x} cy={y} r="3" fill="#2EE0B0" />
    )}
      <rect x="370" y="44" width="76" height="20" rx="4" fill="rgba(244,114,182,0.18)" stroke="rgba(244,114,182,0.4)" />
      <circle cx="380" cy="54" r="3" fill="#F472B6" />
      <text x="388" y="58" fill="#F9A8D4" fontSize="10" fontFamily="Mona Sans, sans-serif" fontWeight="700" letterSpacing="0.06em">EFFORT</text>
      <rect x="370" y="180" width="100" height="20" rx="4" fill="rgba(46,224,176,0.16)" stroke="rgba(46,224,176,0.4)" />
      <circle cx="380" cy="190" r="3" fill="#2EE0B0" />
      <text x="388" y="194" fill="#A7F3D0" fontSize="10" fontFamily="Mona Sans, sans-serif" fontWeight="700" letterSpacing="0.06em">THROUGHPUT</text>
      <g transform="translate(280 110)">
        <line x1="0" y1="0" x2="0" y2="56" stroke="rgba(255,255,255,0.3)" strokeDasharray="2 3" />
        <rect x="-50" y="58" width="100" height="22" rx="4" fill="rgba(255,255,255,0.95)" />
        <text x="0" y="73" textAnchor="middle" fill="#1F2937" fontSize="10" fontFamily="Mona Sans, sans-serif" fontWeight="700" letterSpacing="0.04em">DIVERGENCE</text>
      </g>
    </g>;


  // SCENE 03 — capacity reservoir draining as intensity stays high
  const Scene03 = () =>
  <g>
      <text x="32" y="28" fill="rgba(255,255,255,0.4)" fontSize="9" fontFamily="Mona Sans, sans-serif" fontWeight="700" letterSpacing="0.12em">Q1</text>
      <text x="156" y="28" fill="rgba(255,255,255,0.4)" fontSize="9" fontFamily="Mona Sans, sans-serif" fontWeight="700" letterSpacing="0.12em">Q2</text>
      <text x="280" y="28" fill="rgba(255,255,255,0.4)" fontSize="9" fontFamily="Mona Sans, sans-serif" fontWeight="700" letterSpacing="0.12em">Q3</text>
      <text x="404" y="28" fill="rgba(255,255,255,0.4)" fontSize="9" fontFamily="Mona Sans, sans-serif" fontWeight="700" letterSpacing="0.12em">Q4</text>
      {/* horizontal grid */}
      {[80, 130, 180, 230].map((y, i) =>
    <line key={i} x1="32" x2="448" y1={y} y2={y} stroke="rgba(255,255,255,0.06)" strokeDasharray="2 4" />
    )}
      {/* intensity line — pink, sustained high then crash at end */}
      <path d="M32 90 L 80 80 L 130 75 L 180 72 L 230 70 L 280 72 L 330 78 L 365 95 L 395 145 L 425 200 L 448 215" stroke="url(#hrEffortLine)" strokeWidth="2.5" fill="none" strokeLinecap="round" strokeLinejoin="round" />
      {[[32, 90], [180, 72], [330, 78], [395, 145], [448, 215]].map(([x, y], i) =>
    <circle key={i} cx={x} cy={y} r="3" fill="#F472B6" />
    )}
      {/* capacity reservoir — descending fill bar bottom area */}
      <path d="M32 170 L 80 175 L 130 182 L 180 192 L 230 202 L 280 210 L 330 218 L 380 224 L 425 228 L 448 230 L 448 250 L 32 250 Z" fill="url(#hrCapacityFill)" />
      <path d="M32 170 L 80 175 L 130 182 L 180 192 L 230 202 L 280 210 L 330 218 L 380 224 L 425 228 L 448 230" stroke="rgba(46,224,176,0.6)" strokeWidth="1.5" fill="none" strokeDasharray="3 3" />
      {/* labels */}
      <rect x="370" y="44" width="92" height="20" rx="4" fill="rgba(244,114,182,0.18)" stroke="rgba(244,114,182,0.4)" />
      <circle cx="380" cy="54" r="3" fill="#F472B6" />
      <text x="388" y="58" fill="#F9A8D4" fontSize="10" fontFamily="Mona Sans, sans-serif" fontWeight="700" letterSpacing="0.06em">INTENSITY</text>
      <rect x="42" y="156" width="92" height="20" rx="4" fill="rgba(46,224,176,0.16)" stroke="rgba(46,224,176,0.4)" />
      <circle cx="52" cy="166" r="3" fill="#2EE0B0" />
      <text x="60" y="170" fill="#A7F3D0" fontSize="10" fontFamily="Mona Sans, sans-serif" fontWeight="700" letterSpacing="0.06em">RESERVES</text>
      {/* collapse callout at end */}
      <g transform="translate(395 145)">
        <line x1="0" y1="0" x2="0" y2="-44" stroke="rgba(255,255,255,0.3)" strokeDasharray="2 3" />
        <rect x="-44" y="-66" width="88" height="22" rx="4" fill="rgba(255,255,255,0.95)" />
        <text x="0" y="-51" textAnchor="middle" fill="#1F2937" fontSize="10" fontFamily="Mona Sans, sans-serif" fontWeight="700" letterSpacing="0.04em">COLLAPSE</text>
      </g>
    </g>;


  return (
    <svg viewBox="0 0 480 360" preserveAspectRatio="xMidYMid slice" className="hr-photo-svg" xmlns="http://www.w3.org/2000/svg">
      <Common />
      <rect width="480" height="360" fill="url(#hrPhotoBg)" />
      <g fill="rgba(255,255,255,0.06)">
        {[...Array(96)].map((_, i) => {
          const cols = 16;
          const x = 32 + i % cols * 28;
          const y = 32 + Math.floor(i / cols) * 28;
          return <circle key={i} cx={x} cy={y} r="1" />;
        })}
      </g>
      <g key={active} className="hr-illu-scene">
        {active === 0 && <Scene01 />}
        {active === 1 && <Scene02 />}
        {active === 2 && <Scene03 />}
      </g>
      {/* bottom team avatar row — common across all scenes */}
      <defs>
        {[
        "assets/headshot-1.webp",
        "assets/headshot-2.jpg",
        "assets/headshot-3.jpeg",
        "assets/headshot-4.jpg",
        "assets/headshot-5.jpeg",
        "assets/headshot-6.jpeg"].
        map((href, i) =>
        <clipPath key={i} id={`hrAvatarClip${i}`}>
            <circle cx={[64, 132, 200, 268, 336, 404][i]} cy="22" r="13" />
          </clipPath>
        )}
      </defs>
      <g transform="translate(0 270)">
        {[64, 132, 200, 268, 336, 404].map((x, i) => {
          // Per-scene team-health pattern: each member has a fixed bar width + color
          // representing green (healthy), amber (strained), red (critical).
          const G = "rgba(46,224,176,0.85)";
          const A = "rgba(245,158,11,0.85)";
          const R = "rgba(239,68,68,0.85)";
          const scenes = [
          // Scene 01 — pressure rising: most still green, two amber, one tipping red
          { widths: [22, 19, 16, 12, 22, 18], colors: [G, A, A, R, G, A] },
          // Scene 02 — effort up, throughput flat: spread across all three states
          { widths: [21, 13, 18, 10, 22, 15], colors: [G, R, A, R, G, A] },
          // Scene 03 — reserves draining: mostly amber/red with one green hold-out
          { widths: [20, 12, 8, 14, 9, 6], colors: [G, R, R, A, R, R] }];

          const w = scenes[active].widths[i];
          const color = scenes[active].colors[i];
          const headshots = [
          "assets/headshot-1.webp",
          "assets/headshot-2.jpg",
          "assets/headshot-3.jpeg",
          "assets/headshot-4.jpg",
          "assets/headshot-5.jpeg",
          "assets/headshot-6.jpeg"];

          return (
            <g key={i}>
              <circle cx={x} cy="22" r="14" fill="rgba(255,255,255,0.06)" stroke="rgba(255,255,255,0.28)" strokeWidth="1" />
              <image
                href={headshots[i]}
                x={x - 13} y={9}
                width="26" height="26"
                preserveAspectRatio="xMidYMid slice"
                clipPath={`url(#hrAvatarClip${i})`} />

              <circle cx={x} cy="22" r="13.5" fill="none" stroke="rgba(255,255,255,0.35)" strokeWidth="0.8" />
              <rect x={x - 12} y="44" width="24" height="3" rx="1.5" fill="rgba(255,255,255,0.08)" />
              <rect x={x - 12} y="44" width={w} height="3" rx="1.5" fill={color} />
            </g>);

        })}
      </g>
    </svg>);

};

const HRefined_BreaksDown_v1 = () => {
  const items = [
  { n: "01", t: "Pressure is increasing faster than your team's ability to absorb it.",
    d: "AI adoption, regulated transformation, cloud migration. The cadence has changed; the operating system underneath the team has not." },
  { n: "02", t: "Your team is busy, but delivery keeps stalling.",
    d: "Most teams are working hard. The problem is not motivation — it's that the system underneath the work is not structured to hold under sustained pressure. Priorities shift, dependencies pile up, and delivery becomes unpredictable despite high individual effort." },
  { n: "03", t: "High performance is being sustained through intensity alone — and it is starting to show.",
    d: "Senior people are absorbing what the system cannot. It works for one quarter, maybe two, then capacity collapses." }];

  const [active, setActive] = React.useState(1);
  return (
    <section className="hr-breaks">
      <div className="container">
        <div className="hr-breaks-head">
          <h2 className="hr-breaks-h">
            Where <span className="hr-h-accent">performance</span> breaks down.
          </h2>
          <p className="hr-breaks-sub">
            Most approaches to performance were designed for stable environments. When pressure does not let up, effort alone stops being enough. <strong>Performance problems are not people problems — they are systems problems.</strong> Here's where the system typically gives.
          </p>
        </div>

        <div className="hr-breaks-grid">
          <div className="hr-breaks-list">
            {items.map((it, i) =>
            <button
              key={it.n}
              className={"hr-break-item" + (i === active ? " active" : "")}
              onClick={() => setActive(i)}
              onPointerEnter={(e) => {if (e.pointerType === 'mouse') setActive(i);}}
              onFocus={() => setActive(i)}
              aria-pressed={i === active}>

                <div className="hr-break-num">{it.n}</div>
                <div className="hr-break-body">
                  <h3 className="hr-break-t">{it.t}</h3>
                  {i === active && <p className="hr-break-d">{it.d}</p>}
                </div>
              </button>
            )}
          </div>

          <div className="hr-breaks-photo">
            <div className="hr-breaks-photo-frame">
              <BreaksIllustration active={active} />
              <div className="hr-breaks-photo-tag" key={active}>
                <span className="hr-breaks-photo-tag-dot" />
                {["Pressure rising · capacity flat", "Effort up · throughput flat", "Intensity high · reserves draining"][active]}
              </div>
            </div>
            <div className="hr-breaks-photo-caption">
              Illustration · Replace with brand-supplied photography or motion at production time.
            </div>
          </div>
        </div>
      </div>
    </section>);

};

/* Simplified, typographic version. Lighter visual load; reads at a glance.
   To revert: render <HRefined_BreaksDown_v2 /> or <HRefined_BreaksDown_v1 /> in root. */
const HRefined_BreaksDown_v2 = () => {
  const items = [
  { n: "01", t: "Pressure is increasing faster than your team's ability to absorb it.",
    d: "AI adoption, regulated transformation, cloud migration. The cadence of demand has changed; the operating architecture underneath the team has not." },
  { n: "02", t: "Your team is busy, but delivery keeps stalling.",
    d: "The problem is not motivation. The system underneath the work is not designed to hold when priorities shift and dependencies pile up. Effort stays high, output stays inconsistent." },
  { n: "03", t: "High performance is being sustained through intensity alone \u2014 and it is starting to show.",
    d: "Senior people are absorbing what the system cannot. It works for a quarter, maybe two. Then capacity collapses." }];

  return (
    <section className="hr-breaks">
      <div className="container">
        <div className="hr-breaks-head" style={{ maxWidth: 880, marginBottom: 56 }}>
          <h2 className="hr-breaks-h">
            Where <span className="hr-h-accent">performance</span> breaks down.
          </h2>
          <p className="hr-breaks-sub" style={{ marginTop: 20 }}>
            Most approaches to performance were designed for stable conditions. When pressure does not let up, effort alone stops being enough. <strong>Performance problems are not people problems — they are architecture problems.</strong> Three patterns appear repeatedly.
          </p>
        </div>
        <div style={{ display: 'grid', gap: 0, maxWidth: 1080 }}>
          {items.map((it, i) =>
          <article key={it.n} style={{
            display: 'grid',
            gridTemplateColumns: '96px 1fr',
            gap: 32,
            alignItems: 'baseline',
            padding: '36px 0',
            borderTop: i === 0 ? '1px solid rgba(255,255,255,0.12)' : 'none',
            borderBottom: '1px solid rgba(255,255,255,0.12)'
          }}>
              <div style={{ fontFamily: 'Mona Sans, sans-serif', fontSize: 40, fontWeight: 300, color: 'rgba(255,255,255,0.32)', letterSpacing: '-0.02em', lineHeight: 1 }}>{it.n}</div>
              <div>
                <h3 style={{ margin: 0, fontFamily: 'Mona Sans, sans-serif', fontSize: 24, fontWeight: 600, lineHeight: 1.25, color: '#fff', letterSpacing: '-0.012em', textWrap: 'balance' }}>{it.t}</h3>
                <p style={{ margin: '14px 0 0', fontFamily: 'Mona Sans, sans-serif', fontSize: 16, lineHeight: 1.7, color: 'rgba(255,255,255,0.72)', maxWidth: 760 }}>{it.d}</p>
              </div>
            </article>
          )}
        </div>
      </div>
    </section>);

};

/* =====================================================================
   04 — PSL PERFORMANCE SYSTEM
   Existing: white bg · long-form intro · big rings graphic on left ·
   three domain blocks stacked on right (Performance Identity, Execution
   Architecture, Sustainable Capacity) with an "active" highlight that
   the user couldn't easily switch between.
   Refinements:
   - The rings stay (key brand asset). Make them sticky/large.
   - Three domain rows beside them become an interactive switcher: clicking
     a row highlights the corresponding ring. The current pattern has the
     interaction without the affordance — add the affordance.
   - Tighter intro: lead with the verdict, not two paragraphs.
   - Each domain row gets a kicker line ("WHO YOU ARE / HOW THE WORK GETS
     DONE / WHAT FUELS IT") — currently exists but very faint.
   ===================================================================== */
const HRefined_System = () => {
  const domains = [
  { id: "identity", t: "Performance Identity", k: "WHO YOU ARE UNDER PRESSURE",
    d: "Values, standards, and behavioural anchors that determine how individuals and teams make decisions when conditions are difficult. Without a designed performance identity, standards default under pressure rather than hold." },
  { id: "execution", t: "Execution Architecture", k: "HOW YOU TURN INTENT INTO CONSISTENT ACTION",
    d: "The decision-making, prioritisation, and delivery flow that turns leadership intent into shipped work. When the architecture is wrong, effort multiplies and output stays flat." },
  { id: "capacity", t: "Sustainable Capacity", k: "HOW YOU MAINTAIN INTENSITY WITHOUT BREAKING",
    d: "The recovery, load management, and adaptability design that allows performance to continue under sustained pressure. Without sustainable capacity, intensity becomes the ceiling rather than the foundation." }];

  // ring data-ring → domain index. "architecture" = execution pillar.
  const ringToIdx = { identity: 0, architecture: 1, capacity: 2 };
  const idxToRing = ["identity", "architecture", "capacity"];

  const [committed, setCommitted] = React.useState(0);
  const [preview, setPreview] = React.useState(null);
  const active = preview !== null ? preview : committed;

  const ppsRef = React.useRef(null);
  React.useEffect(() => {
    const el = ppsRef.current;
    if (!el) return;
    let fired = false;
    const trigger = () => {if (fired) return;fired = true;el.classList.add('is-in');};
    if ('IntersectionObserver' in window) {
      const io = new IntersectionObserver((entries) => {
        entries.forEach((e) => {if (e.isIntersecting) trigger();});
      }, { threshold: 0.35 });
      io.observe(el);
      return () => io.disconnect();
    }
    trigger();
  }, []);

  // Hover preview only on real mouse — touch falls through to click/commit.
  const onPointerEnter = (idx) => (e) => {if (e.pointerType === 'mouse') setPreview(idx);};
  const onPointerLeave = (idx) => (e) => {if (e.pointerType === 'mouse') setPreview((p) => p === idx ? null : p);};
  const onFocusPreview = (idx) => () => setPreview(idx);
  const onBlurPreview = (idx) => () => setPreview((p) => p === idx ? null : p);
  const commit = (idx) => () => {setCommitted(idx);setPreview(null);};
  const onRingKey = (idx) => (e) => {
    if (e.key === 'Enter' || e.key === ' ') {e.preventDefault();setCommitted(idx);setPreview(null);}
  };

  const ringClass = (base) => base;

  return (
    <section className="hr-system">
      <div className="container">
        {/* Two-row layout:
            Row 1 — head text on the left · rugby photo on the right
            Row 2 — rings illustration on the left · domain cards on the right
            Each row uses the same 1.05fr / 1fr split so the column gutter
            lines up vertically and the whole section reads as a 2×2 grid. */}
        <div className="hr-system-head hr-system-head--paired">
          <div className="hr-system-head-text">
            <span className="eyebrow">THE PSL PERFORMANCE SYSTEM</span>
            <h2 className="hr-system-h">We rebuild the structure underneath. So performance is driven systematically.</h2>
            <div className="hr-system-tags">
              <span className="hr-system-tag">Identity</span>
              <span className="hr-system-tag-op" aria-hidden>
                <svg width="11" height="11" viewBox="0 0 11 11" fill="none"><path d="M5.5 1v9M1 5.5h9" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" /></svg>
              </span>
              <span className="hr-system-tag">Execution</span>
              <span className="hr-system-tag-op" aria-hidden>
                <svg width="11" height="11" viewBox="0 0 11 11" fill="none"><path d="M5.5 1v9M1 5.5h9" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" /></svg>
              </span>
              <span className="hr-system-tag">Capacity</span>
              <span className="hr-system-tag-eq" aria-hidden>
                <svg width="13" height="9" viewBox="0 0 13 9" fill="none"><path d="M1 2.5h11M1 6.5h11" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" /></svg>
              </span>
              <span className="hr-system-tag hr-system-tag-result">
                Performance
                <svg width="11" height="11" viewBox="0 0 11 11" fill="none" aria-hidden><path d="M2 9L9 2M9 2H4M9 2v5" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round" /></svg>
              </span>
            </div>
            <p className="hr-system-sub">
              Elite sport learned long ago that performance under pressure is not produced by effort — it is produced by design. Identity, execution, and capacity, designed and rehearsed before the contest. The PSL Performance System brings the same three domains into executive delivery. When all three are aligned, performance becomes consistent.
            </p>
          </div>

          {/* First visual reference to sport on the page — paired with
              the text on the right, so the metaphor lands the moment the
              copy first names it. */}
          <figure className="hr-system-sport">
            <img src="assets/photos/rugby-lineout-sky.jpg"
                 alt="A rugby lineout — players lifted to contest the ball against an open sky."
                 loading="lazy" decoding="async" />
            <figcaption>
              <span className="hr-system-sport-caption-eyebrow">From elite sport</span>
              <span className="hr-system-sport-caption-text">
                The lineout — coordinated lift, rehearsed timing, contested
                pressure. Performance under load is decided <em>before</em> the contest, not in it.
              </span>
            </figcaption>
          </figure>
        </div>

        <div className="hr-system-grid">
          <div className="hr-system-rings">
            <div className="psl-perf-system" ref={ppsRef}>
              <svg viewBox="0 0 500 500" role="img" aria-label="PSL Performance System animated logo">
                <defs>
                  <linearGradient id="ppsGradOuter" x1="250" y1="500" x2="250" y2="0" gradientUnits="userSpaceOnUse">
                    <stop offset="0" stopColor="#3802af" />
                    <stop offset=".2" stopColor="#3e21d4" />
                    <stop offset=".4" stopColor="#443df4" />
                    <stop offset=".6" stopColor="#4544fc" />
                    <stop offset="1" stopColor="#4646ff" />
                  </linearGradient>
                  <linearGradient id="ppsGradMid" x1="60" y1="250" x2="440" y2="250" gradientUnits="userSpaceOnUse">
                    <stop offset="0" stopColor="#4646ff" />
                    <stop offset="1" stopColor="#00fbb0" />
                  </linearGradient>
                  <linearGradient id="ppsGradInner" x1="250" y1="440" x2="250" y2="60" gradientUnits="userSpaceOnUse">
                    <stop offset="0" stopColor="#8936ff" />
                    <stop offset=".3" stopColor="#8634fc" />
                    <stop offset=".5" stopColor="#7c2ef2" />
                    <stop offset=".7" stopColor="#6c23e3" />
                    <stop offset=".8" stopColor="#5615cd" />
                    <stop offset="1" stopColor="#3802af" />
                  </linearGradient>
                  <linearGradient id="ppsSheen" x1="250" y1="20" x2="250" y2="280" gradientUnits="userSpaceOnUse">
                    <stop offset="0" stopColor="#ffffff" stopOpacity=".75" />
                    <stop offset=".55" stopColor="#ffffff" stopOpacity="0" />
                  </linearGradient>
                  <radialGradient id="ppsInnerShadow" cx="250" cy="250" r="230" gradientUnits="userSpaceOnUse">
                    <stop offset=".75" stopColor="#000" stopOpacity="0" />
                    <stop offset="1" stopColor="#000" stopOpacity=".25" />
                  </radialGradient>
                  <path id="ppsTextOuter" d="M 30,250 A 220,220 0 0 0 470,250" fill="none" />
                  <path id="ppsTextMid" d="M 80,250 A 170,170 0 0 0 420,250" fill="none" />
                  <path id="ppsTextInner" d="M 130,250 A 120,120 0 0 0 370,250" fill="none" />
                  <clipPath id="ppsFlaskClip">
                    <path d="M 237 177 L 263 177 L 263 203 L 300 261 L 200 261 L 237 203 Z" />
                  </clipPath>
                </defs>

                <g
                  className={ringClass("pps-ring pps-ring--outer", 2)}
                  data-ring="capacity" role="button" tabIndex={0} aria-label="Capacity"
                  onPointerEnter={onPointerEnter(2)} onPointerLeave={onPointerLeave(2)}
                  onFocus={onFocusPreview(2)} onBlur={onBlurPreview(2)}
                  onClick={commit(2)} onKeyDown={onRingKey(2)}>
                  <circle className="pps-stroke" cx="250" cy="250" r="220" fill="none" stroke="url(#ppsGradOuter)" strokeWidth="44" />
                  <text className="pps-text" fontSize="22">
                    <textPath href="#ppsTextOuter" startOffset="50%" textAnchor="middle">CAPACITY</textPath>
                  </text>
                  <circle className="pps-hit" cx="250" cy="250" r="220" />
                </g>

                <g
                  className={ringClass("pps-ring pps-ring--mid", 1)}
                  data-ring="architecture" role="button" tabIndex={0} aria-label="Architecture"
                  onPointerEnter={onPointerEnter(1)} onPointerLeave={onPointerLeave(1)}
                  onFocus={onFocusPreview(1)} onBlur={onBlurPreview(1)}
                  onClick={commit(1)} onKeyDown={onRingKey(1)}>
                  <circle className="pps-stroke" cx="250" cy="250" r="170" fill="none" stroke="url(#ppsGradMid)" strokeWidth="40" />
                  <text className="pps-text" fontSize="20">
                    <textPath href="#ppsTextMid" startOffset="50%" textAnchor="middle">ARCHITECTURE</textPath>
                  </text>
                  <circle className="pps-hit" cx="250" cy="250" r="170" />
                </g>

                <g
                  className={ringClass("pps-ring pps-ring--inner", 0)}
                  data-ring="identity" role="button" tabIndex={0} aria-label="Identity"
                  onPointerEnter={onPointerEnter(0)} onPointerLeave={onPointerLeave(0)}
                  onFocus={onFocusPreview(0)} onBlur={onBlurPreview(0)}
                  onClick={commit(0)} onKeyDown={onRingKey(0)}>
                  <circle className="pps-stroke" cx="250" cy="250" r="120" fill="none" stroke="url(#ppsGradInner)" strokeWidth="38" />
                  <text className="pps-text" fontSize="18">
                    <textPath href="#ppsTextInner" startOffset="50%" textAnchor="middle">IDENTITY</textPath>
                  </text>
                  <circle className="pps-hit" cx="250" cy="250" r="120" />
                </g>

                <g className="pps-core">
                  <image href="assets/logos/PSL-Badge-Embed.svg" x="185" y="176" width="130" height="147" preserveAspectRatio="xMidYMid meet" />
                  <g clipPath="url(#ppsFlaskClip)">
                    <circle className="pps-bubble b1" cx="233" cy="258" r="5.0" />
                    <circle className="pps-bubble b2" cx="247" cy="262" r="6.0" />
                    <circle className="pps-bubble b3" cx="267" cy="258" r="4.4" />
                    <circle className="pps-bubble b4" cx="240" cy="263" r="4.0" />
                    <circle className="pps-bubble b5" cx="256" cy="260" r="5.4" />
                    <circle className="pps-bubble b6" cx="226" cy="258" r="4.2" />
                    <circle className="pps-bubble b7" cx="275" cy="260" r="4.8" />
                    <circle className="pps-bubble b8" cx="251" cy="264" r="3.6" />
                    <circle className="pps-bubble b9" cx="243" cy="261" r="5.6" />
                    <circle className="pps-bubble b10" cx="261" cy="263" r="3.4" />
                    <circle className="pps-bubble b11" cx="237" cy="262" r="4.4" />
                    <circle className="pps-bubble b12" cx="253" cy="259" r="4.8" />
                  </g>
                </g>
              </svg>
            </div>
          </div>

          <div className="hr-system-domains">
            {domains.map((d, i) =>
            <button
              key={d.id}
              className={"hr-domain" + (i === active ? " active" : "")}
              onClick={commit(i)}
              onPointerEnter={onPointerEnter(i)}
              onPointerLeave={onPointerLeave(i)}
              onFocus={onFocusPreview(i)}
              onBlur={onBlurPreview(i)}
              aria-pressed={i === committed}>

                <div className="hr-domain-head">
                  <span className="hr-domain-marker" />
                  <h3 className="hr-domain-t">{d.t}</h3>
                </div>
                <div className="hr-domain-k">{d.k}</div>
                <p className="hr-domain-d">{d.d}</p>
              </button>
            )}
            <div className="hr-system-foot">
              The three domains are not independent. <strong>Identity</strong> without <strong>Execution</strong> produces aspiration. <strong>Execution</strong> without <strong>Capacity</strong> produces short-term output at long-term cost. The system only holds when all three are designed to work together.
            </div>
          </div>
        </div>
      </div>
    </section>);

};

/* =====================================================================
   05 — BUILT ON PROVEN PRINCIPLES
   Existing: off-white · centred eyebrow + headline · three card columns
   (Real Delivery / High-Performing Teams / Elite Performance).
   Refinements:
   - Cards keep the left brand-blue rule (signature visual cue).
   - Add a single supporting figure to each card: a domain anchor
     ("From the field" / "From research" / "From sport") to make the
     three sources of truth more legible.
   - Tighten body copy to one paragraph each — current is slightly long.
   - Add a subtle citation footnote per card so it earns its place.
   ===================================================================== */
const HRefined_Principles_v1 = () => {
  // Field — overlapping calendar/programme cards (delivery cycles, work in flight)
  const FieldIcon = () =>
  <svg viewBox="0 0 40 40" width="40" height="40" fill="none" stroke="currentColor" strokeWidth="1.4" strokeLinecap="round" strokeLinejoin="round">
      <rect x="6" y="10" width="20" height="20" rx="2" />
      <path d="M6 16h20" />
      <path d="M11 7v6M21 7v6" />
      <rect x="14" y="14" width="20" height="20" rx="2" fill="currentColor" fillOpacity="0.08" />
      <path d="M14 20h20" />
      <path d="M19 11v6M29 11v6" />
    </svg>;

  // Research — concentric data rings with a centre node (research / convergence)
  const ResearchIcon = () =>
  <svg viewBox="0 0 40 40" width="40" height="40" fill="none" stroke="currentColor" strokeWidth="1.4" strokeLinecap="round" strokeLinejoin="round">
      <circle cx="20" cy="20" r="14" strokeDasharray="2 3" />
      <circle cx="20" cy="20" r="9" />
      <circle cx="20" cy="20" r="3" fill="currentColor" />
      <circle cx="20" cy="6" r="1.6" fill="currentColor" stroke="none" />
      <circle cx="34" cy="20" r="1.6" fill="currentColor" stroke="none" />
      <circle cx="20" cy="34" r="1.6" fill="currentColor" stroke="none" />
      <circle cx="6" cy="20" r="1.6" fill="currentColor" stroke="none" />
    </svg>;

  // Sport — runner mid-stride on a track (elite performance, conditioning)
  const SportIcon = () =>
  <svg viewBox="0 0 40 40" width="40" height="40" fill="none" stroke="currentColor" strokeWidth="1.4" strokeLinecap="round" strokeLinejoin="round">
      {/* head */}
      <circle cx="24" cy="9" r="2.4" />
      {/* torso */}
      <path d="M24 11.5l-3 6.5 4 1.5-1 5" />
      {/* front (lead) leg — bent, knee high */}
      <path d="M24 24.5l-2 4 4 3" />
      {/* back leg — driving off */}
      <path d="M22 19l-5 4 2 4" />
      {/* front arm — pumping forward */}
      <path d="M22 15l4-2 1 3" />
      {/* back arm — driving back */}
      <path d="M21 16l-3 1-1 3" />
      {/* track lanes — curved */}
      <path d="M5 33c6-3 14-3 22-2" />
      <path d="M7 36c7-2.4 16-2.2 25-1" opacity="0.7" />
    </svg>;

  const items = [
  { tag: "FROM SPORT", t: "Elite Performance Environments", c: "RING-TESTED METHOD", Icon: SportIcon, theme: "violet",
    b: "In boxing, a fighter's performance in the ring is the direct product of how the fight camp was designed — preparation cycles, recovery discipline, identity stability, composure under consequence. The same architecture applies to senior delivery work. PSL adapts the principles that produce repeatable performance in elite sport for environments where the contest is corporate and the pressure is sustained." },
  { tag: "FROM RESEARCH", t: "High-Performing Teams Research", c: "MCKINSEY · PROJECT ARISTOTLE", Icon: ResearchIcon, theme: "mint",
    b: "McKinsey's work on organisational health and Google's Project Aristotle on team effectiveness independently point to the same conclusion: sustained team performance is a property of the operating system, not of individual talent." },
  { tag: "FROM THE FIELD", t: "Real Delivery Experience", c: "10+ YEARS", Icon: FieldIcon, theme: "blue",
    b: "Grounded in over a decade of leading complex delivery programmes across financial services, global retail, and enterprise technology. Whether the team runs Agile, waterfall, or hybrid, the pattern of where performance breaks down is consistent — and structurally addressable." }];

  return (
    <section className="hr-principles" style={{ backgroundColor: "rgb(154, 189, 225)" }}>
      <div className="container">
        <div className="hr-principles-head">
          <span className="eyebrow eyebrow-blue">BUILT ON PROVEN PERFORMANCE PRINCIPLES</span>
          <h2 className="hr-principles-h">Drawn from sport. <span className="hr-h-accent" style={{ fontWeight: 700 }}>Validated by research. Proven in delivery.</span></h2>
          <p className="hr-principles-sub">
            The PSL Performance System is not a theoretical model. It draws on three sources that have each been pressure-tested independently — and converge on the same structural conclusions about how performance is produced under sustained load.
          </p>
        </div>
        <div className="hr-principles-grid">
          {items.map((p) =>
          <article key={p.t} className={`hr-principle hr-principle-${p.theme}`}>
              <div className="hr-principle-icon"><p.Icon /></div>
              <div className="hr-principle-tag">{p.tag}</div>
              <h3 className="hr-principle-t">{p.t}</h3>
              <p className="hr-principle-b">{p.b}</p>
              <div className="hr-principle-cite">{p.c}</div>
            </article>
          )}
        </div>
      </div>
    </section>);

};

/* =====================================================================
   06 — WHERE DO YOU WANT TO START?
   Existing: white · two cards (For Individuals / For Teams &
   Organisations) · single CTA "Take the Performance Assessment".
   Refinements:
   - Cards become two coloured gradient cards (matching the Diagnostic
     page's routing pattern — same visual language across pages).
   - Each card has its own CTA (was: shared CTA below).
   - "Choose your path" decorative side anchors removed. Centred
     headline + cards keeps it cleaner.
   - Time labels on each card (~7 min / ~10 min) for self-routing.
   ===================================================================== */
/* MERGED — Final CTA + Routing combined on dark navy. The narrative reads:
   "either it holds or it doesn't" → "here are the two paths to start" */
const HRefined_Routing = () =>
<section className="hr-routing hr-routing-dark">
    <div className="hr-routing-bloom" aria-hidden />
    <div className="container">
      <div className="hr-routing-statement">
        <span className="eyebrow eyebrow-blue-mid">START WITH THE DIAGNOSTIC</span>
        <h2 className="hr-routing-statement-h">
          Your performance system either holds under pressure, <span className="hr-routing-statement-tail">or it doesn't.</span>
        </h2>
        <p className="hr-routing-statement-sub">
          The diagnostic takes around 7 minutes. It shows you exactly where the system is strongest, and where pressure is most likely to find the gaps. Free, structured, and the clearest starting point for building performance that holds.
        </p>
      </div>

      <div className="hr-routing-grid">
        <a href="#" className="hr-route hr-route-ind">
          <div className="hr-route-cta-bar">
            <span className="hr-route-cta-bar-text">Start the diagnostic</span>
            <span className="hr-route-cta-bar-icon"><HCursorClick /></span>
          </div>
          <div className="hr-route-meta">
            <span className="hr-route-tag"><span className="hr-route-tagdot" />FOR INDIVIDUALS</span>
            <span className="hr-route-time">~ 7 min · free</span>
          </div>
          <h3 className="hr-route-t">Individual Performance Diagnostic</h3>
          <p className="hr-route-b">
            Build the performance identity, execution structure, and sustainable capacity to perform consistently when demands are high and conditions are difficult.
          </p>
        </a>

        <a href="#" className="hr-route hr-route-team">
          <div className="hr-route-cta-bar">
            <span className="hr-route-cta-bar-text">Start the diagnostic</span>
            <span className="hr-route-cta-bar-icon"><HCursorClick /></span>
          </div>
          <div className="hr-route-meta">
            <span className="hr-route-tag"><span className="hr-route-tagdot" />FOR TEAMS &amp; ORGANISATIONS</span>
            <span className="hr-route-time">~ 10 min</span>
          </div>
          <h3 className="hr-route-t">Team and Organisation Diagnostic</h3>
          <p className="hr-route-b">
            Design the systems, operating rhythm, and execution architecture that allow teams to deliver consistently under sustained pressure — without depending on individual heroics.
          </p>
        </a>
      </div>
      <div className="hr-routing-foot">
        <div className="hr-routing-foot-icon">
          <svg viewBox="0 0 20 20" width="18" height="18" fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round"><path d="M3 10h14M10 3v14" /></svg>
        </div>
        <div className="hr-routing-foot-text">
          <strong>Not sure which path?</strong> Both diagnostics share the same three-domain framework — start with whichever scale you operate at most.
        </div>
        <a href="#" className="hr-routing-foot-link"></a>
      </div>
    </div>
  </section>;


/* =====================================================================
   07 — FINAL CTA
   Existing: dark purple bloom · "Your performance system is either
   designed to hold under pressure, or it is not." · two CTAs.
   Refinements:
   - Sharper composition: a vertical brand mark or rings echo on one side
     so the strip is more than a centred wall of text.
   - Smaller secondary CTA (link style) so the primary teal CTA is
     unambiguous.
   - Trust line moved into the panel to reinforce free / structured.
   ===================================================================== */
const HRefined_FinalCTA = () =>
<section className="hr-finalcta">
    <div className="hr-finalcta-bloom" aria-hidden />
    <div className="container hr-finalcta-inner">
      <div className="hr-finalcta-content">
        <span className="eyebrow eyebrow-blue-mid">START WITH THE DIAGNOSTIC</span>
        <h2 className="hr-finalcta-h">
          Your performance system is either <br />
          designed to hold under pressure, <br />or it is not.
        </h2>
        <p className="hr-finalcta-sub">
          The diagnostic takes around 7 minutes. It shows you exactly where the system is strongest, and where pressure is most likely to find the gaps. It is free, structured, and the clearest starting point for building performance that holds.
        </p>
        <div className="hr-finalcta-actions">
          <a href="#" className="btn btn-accent">Take the diagnostic <HArrow /></a>
          <a href="#" className="hr-finalcta-secondary">View the method →</a>
        </div>
      </div>
      <div className="hr-finalcta-graphic" aria-hidden>
        <svg viewBox="0 0 320 320" width="100%" height="100%" fill="none">
          <circle cx="160" cy="160" r="150" stroke="rgba(255,255,255,0.12)" strokeWidth="1" />
          <circle cx="160" cy="160" r="115" stroke="rgba(255,255,255,0.18)" strokeWidth="1" />
          <circle cx="160" cy="160" r="80" stroke="rgba(255,255,255,0.28)" strokeWidth="1" />
          <circle cx="160" cy="160" r="45" stroke="rgba(255,255,255,0.4)" strokeWidth="1" />
          <circle cx="160" cy="160" r="14" fill="rgba(46,224,176,0.95)" />
          <circle cx="160" cy="160" r="6" fill="#0B3F35" />
        </svg>
      </div>
    </div>
  </section>;


/* =====================================================================
   08 — FAQ
   Existing: "Your Questions, Answered" · centred · 5 items.
   Refinements:
   - Two-column: heading + contact prompt left, accordion right (matches
     Diagnostic page pattern for cross-page consistency).
   - Slightly tighter Q copy.
   ===================================================================== */
const HRefined_FAQ = () => {
  const items = [
  { q: "What is the PSL Performance System?", a: "It is the three-domain framework — Performance Identity, Execution Architecture, Sustainable Capacity — together with the diagnostic, coaching, and embedded engagement work used to redesign each domain. We treat performance as one structural system, not three separate offers." },
  { q: "How is this different from coaching or consulting?", a: "Both, integrated. PSL designs the system and embeds the work. Conventional coaching addresses the individual; conventional consulting redesigns process. PSL operates at the layer underneath both — the structural system that decides whether either holds under pressure." },
  { q: "How do I know if PSL is right for my team or organisation?", a: "Start with the free diagnostic. 7 minutes, structured PDF report by email. The diagnostic locates the primary constraint in your performance system and tells us — and you — whether the next step is coaching, team-OS redesign, or an organisational engagement." },
  { q: "Who is this for?", a: "Senior technology leaders, delivery owners, and individual contributors operating under sustained pressure: AI adoption, regulated transformation, cloud migration, complex programme delivery. PSL is calibrated for professional and corporate contexts." },
  { q: "What happens after I take the diagnostic?", a: "You receive a structured PDF report by email with scores per domain and your primary constraint. From there, you can act on the recommendations, retake the diagnostic in 6–12 weeks to measure shift, or engage PSL on the paid Comprehensive Diagnostic which includes an executive readout and a recommendation plan scoped to your environment." }];

  const [open, setOpen] = React.useState(0);
  return (
    <section className="hr-faq">
      <div className="container hr-faq-grid">
        <div className="hr-faq-left">
          <span className="eyebrow eyebrow-blue">FAQ</span>
          <h2 className="hr-faq-h">Your questions, answered.</h2>
          <p className="hr-faq-sub">
            If your question isn't here — or you'd like to talk through whether PSL is the right fit for your environment — reach the team directly.
          </p>
        </div>
        <div className="hr-faq-right">
          {items.map((it, i) =>
          <div key={i} className={"hr-faq-item" + (i === open ? " open" : "")}>
              <button className="hr-faq-button" onClick={() => setOpen(i === open ? -1 : i)}>
                <span>{it.q}</span>
                <span className="hr-faq-toggle" aria-hidden>{i === open ? "−" : "+"}</span>
              </button>
              {i === open && <div className="hr-faq-body">{it.a}</div>}
            </div>
          )}
        </div>
      </div>
    </section>);

};

/* Engagement vignette — long prose version (kept for revert).
   To revert: render <HRefined_CaseStudy_v1 /> in root. */
const HRefined_CaseStudy_v1 = () =>
<section style={{ padding: '110px 0', background: '#0F1429', color: '#fff', position: 'relative', overflow: 'hidden' }}>
    <div style={{ position: 'absolute', inset: 0, background: 'radial-gradient(ellipse at 80% 20%, rgba(70,70,255,0.18), transparent 55%)', pointerEvents: 'none' }} aria-hidden />
    <div className="container" style={{ position: 'relative', display: 'grid', gridTemplateColumns: '1.15fr 1fr', gap: 88, alignItems: 'center' }}>
      <div>
        <span className="eyebrow eyebrow-blue-mid">ENGAGEMENT IN FOCUS</span>
        <h2 style={{ fontFamily: 'Mona Sans, sans-serif', fontSize: 42, lineHeight: 1.08, letterSpacing: '-0.022em', margin: '20px 0 28px', fontWeight: 600, textWrap: 'balance' }}>
          A critical cloud migration. <span style={{ color: '#7FE7C8' }}>Delivered on time, on track, without heroics.</span>
        </h2>
        <p style={{ fontFamily: 'Mona Sans, sans-serif', fontSize: 17, lineHeight: 1.7, color: 'rgba(255,255,255,0.78)', margin: '0 0 22px', maxWidth: 560 }}>
          PSL was engaged on an enterprise cloud migration where a critical workstream was at risk of slippage. The constraint was not capability — the people were capable. The constraint was structural: dependencies tangled, ownership unclear, operating rhythm reactive.
        </p>
        <p style={{ fontFamily: 'Mona Sans, sans-serif', fontSize: 17, lineHeight: 1.7, color: 'rgba(255,255,255,0.78)', margin: '0 0 0', maxWidth: 560 }}>
          We restructured the delivery teams, redesigned the dependency map, and put a deliberate operating rhythm underneath the work. The team delivered on the date originally committed, with minimal downstream impact, and without escalation rescues from senior leadership.
        </p>
      </div>
      <div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 16 }}>
        {[
      { n: 'On time', l: 'Critical workstream delivered to the date originally committed.' },
      { n: 'On scope', l: 'No reduction of intended outcomes despite sustained pressure.' },
      { n: 'Minimal drag', l: 'Dependencies resolved structurally, not reactively.' },
      { n: 'Sustained', l: 'No reliance on senior heroics or weekend rescue work.' }].
      map((s, i) =>
      <div key={i} style={{
        padding: '24px 22px 26px',
        background: 'rgba(255,255,255,0.04)',
        border: '1px solid rgba(255,255,255,0.10)',
        borderRadius: 14
      }}>
            <div style={{ fontFamily: 'Mona Sans, sans-serif', fontSize: 19, fontWeight: 600, color: '#7FE7C8', letterSpacing: '-0.01em', marginBottom: 8 }}>{s.n}</div>
            <div style={{ fontFamily: 'Mona Sans, sans-serif', fontSize: 13, lineHeight: 1.55, color: 'rgba(255,255,255,0.68)' }}>{s.l}</div>
          </div>
      )}
      </div>
    </div>
  </section>;


/* =====================================================================
   INSIGHTS v1 — three-card grid. Preserved for revert. New v2 below.
   ===================================================================== */
const HRefined_Insights_v1 = () => {
  const articles = [
  { tag: 'SUSTAINABLE CAPACITY', t: 'Recovery Is Inevitable. The Only Question Is Whether It Is Planned.', read: '9 min read' },
  { tag: 'EXECUTION ARCHITECTURE', t: 'Heroics Are Not A Strategy. They Are A Symptom.', read: '8 min read' },
  { tag: 'PERFORMANCE IDENTITY', t: 'What Standards Are For (And Why Yours Default Downward).', read: '7 min read' }];

  return (
    <section style={{ padding: '96px 0', background: '#FAFBFC', borderTop: '1px solid #E5E9F0' }}>
      <div className="container">
        <div style={{ display: 'flex', alignItems: 'flex-end', justifyContent: 'space-between', marginBottom: 44, gap: 40, flexWrap: 'wrap' }}>
          <div style={{ maxWidth: 620 }}>
            <span className="eyebrow eyebrow-blue">FROM THE LAB</span>
            <h2 style={{ fontFamily: 'Mona Sans, sans-serif', fontSize: 36, lineHeight: 1.12, letterSpacing: '-0.022em', margin: '14px 0 0', fontWeight: 600, color: '#0D0042', textWrap: 'balance' }}>
              Recent thinking on performance under pressure.
            </h2>
          </div>
          <a href="insights.html" style={{ color: '#1F4DD8', fontSize: 14, fontWeight: 600, textDecoration: 'none', display: 'inline-flex', alignItems: 'center', gap: 8, fontFamily: 'Mona Sans, sans-serif' }}>
            Read all insights <HArrow />
          </a>
        </div>
        <div style={{ display: 'grid', gridTemplateColumns: 'repeat(3, 1fr)', gap: 20 }}>
          {articles.map((a, i) =>
          <a key={i} href="insights.html" style={{
            display: 'block',
            padding: '28px 28px 30px',
            background: '#fff',
            border: '1px solid #E5E9F0',
            borderRadius: 14,
            textDecoration: 'none',
            color: 'inherit',
            transition: 'border-color 0.2s ease, transform 0.2s ease',
            fontFamily: 'Mona Sans, sans-serif'
          }}>
              <span style={{ fontSize: 11, fontWeight: 700, letterSpacing: '0.14em', color: '#1F4DD8' }}>{a.tag}</span>
              <h3 style={{ fontSize: 18, lineHeight: 1.3, letterSpacing: '-0.012em', margin: '14px 0 18px', color: '#0D0042', fontWeight: 600, textWrap: 'balance' }}>{a.t}</h3>
              <div style={{ fontSize: 13, color: '#6B7280' }}>{a.read}</div>
            </a>
          )}
        </div>
      </div>
    </section>);

};

/* =====================================================================
   BREAKS DOWN v3 — three navy cards, watermark numbers, subtle motifs.
   Preserved for revert. New v4 below.
   ===================================================================== */
const HRefined_BreaksDown_v3 = () => {
  const items = [
  {
    n: "01",
    label: "PRESSURE",
    t: "Pressure is increasing faster than your team's ability to absorb it.",
    d: "AI adoption, regulated transformation, cloud migration. The cadence of demand has changed; the operating architecture underneath the team has not.",
    accent: "#F472B6",
    motif:
    <svg viewBox="0 0 80 60" width="80" height="60" fill="none" aria-hidden>
          <rect x="2" y="48" width="8" height="10" fill="currentColor" opacity="0.32" />
          <rect x="14" y="40" width="8" height="18" fill="currentColor" opacity="0.46" />
          <rect x="26" y="30" width="8" height="28" fill="currentColor" opacity="0.62" />
          <rect x="38" y="20" width="8" height="38" fill="currentColor" opacity="0.78" />
          <rect x="50" y="8" width="8" height="50" fill="currentColor" opacity="0.95" />
        </svg>

  },
  {
    n: "02",
    label: "DIVERGENCE",
    t: "Your team is busy, but delivery keeps stalling.",
    d: "The problem is not motivation. The system underneath the work is not designed to hold when priorities shift and dependencies pile up. Effort stays high, output stays inconsistent.",
    accent: "#FBBF24",
    motif:
    <svg viewBox="0 0 80 60" width="80" height="60" fill="none" aria-hidden>
          <path d="M2 52 Q 22 46 38 30 T 78 8" stroke="currentColor" strokeWidth="2" fill="none" strokeLinecap="round" />
          <path d="M2 32 L 78 32" stroke="currentColor" strokeWidth="1.8" fill="none" strokeDasharray="3 3" opacity="0.55" strokeLinecap="round" />
          <circle cx="78" cy="8" r="3" fill="currentColor" />
          <circle cx="78" cy="32" r="3" fill="currentColor" opacity="0.55" />
        </svg>

  },
  {
    n: "03",
    label: "COLLAPSE",
    t: "High performance sustained through intensity alone \u2014 and it is starting to show.",
    d: "Senior people are absorbing what the system cannot. It works for a quarter, maybe two. Then capacity collapses.",
    accent: "#EF4444",
    motif:
    <svg viewBox="0 0 80 60" width="80" height="60" fill="none" aria-hidden>
          <path d="M2 18 L 20 14 L 38 13 L 56 16 L 64 30 L 72 48 L 78 56" stroke="currentColor" strokeWidth="2" fill="none" strokeLinecap="round" strokeLinejoin="round" />
          <circle cx="38" cy="13" r="2.5" fill="currentColor" />
          <circle cx="78" cy="56" r="3" fill="currentColor" opacity="0.9" />
        </svg>

  }];

  return (
    <section className="hr-breaks">
      <div className="container">
        <div className="hr-breaks-head" style={{ maxWidth: 880, marginBottom: 56 }}>
          <h2 className="hr-breaks-h">
            Where <span className="hr-h-accent">performance</span> breaks down.
          </h2>
          <p className="hr-breaks-sub" style={{ marginTop: 20 }}>
            Most approaches to performance were designed for stable conditions. When pressure does not let up, effort alone stops being enough. <strong>Performance problems are not people problems — they are architecture problems.</strong> Three patterns appear repeatedly.
          </p>
        </div>
        <div style={{ display: 'grid', gridTemplateColumns: 'repeat(3, 1fr)', gap: 20 }}>
          {items.map((it) =>
          <article key={it.n} style={{
            position: 'relative',
            background: 'linear-gradient(180deg, rgba(255,255,255,0.045) 0%, rgba(255,255,255,0.015) 100%)',
            border: '1px solid rgba(255,255,255,0.10)',
            borderRadius: 16,
            padding: '40px 32px 40px',
            overflow: 'hidden',
            fontFamily: 'Mona Sans, sans-serif',
            minHeight: 380,
            isolation: 'isolate'
          }}>
              <div style={{
              position: 'absolute',
              top: -36,
              left: 16,
              fontSize: 220,
              fontWeight: 200,
              color: 'rgba(255,255,255,0.05)',
              letterSpacing: '-0.04em',
              lineHeight: 1,
              pointerEvents: 'none',
              userSelect: 'none',
              zIndex: 0
            }}>
                {it.n}
              </div>
              <div style={{
              position: 'absolute',
              top: 0,
              left: 0,
              right: 0,
              height: 2,
              background: `linear-gradient(90deg, ${it.accent} 0%, transparent 100%)`,
              opacity: 0.6
            }} aria-hidden />
              <div style={{
              position: 'relative',
              zIndex: 1,
              display: 'flex',
              justifyContent: 'space-between',
              alignItems: 'flex-start',
              marginBottom: 32
            }}>
                <span style={{
                fontSize: 11,
                fontWeight: 700,
                letterSpacing: '0.2em',
                color: it.accent
              }}>
                  {it.label}
                </span>
                <div style={{ color: it.accent, opacity: 0.85 }}>{it.motif}</div>
              </div>
              <h3 style={{
              position: 'relative',
              zIndex: 1,
              margin: 0,
              fontSize: 22,
              fontWeight: 600,
              lineHeight: 1.25,
              color: '#fff',
              letterSpacing: '-0.012em',
              textWrap: 'balance'
            }}>
                {it.t}
              </h3>
              <p style={{
              position: 'relative',
              zIndex: 1,
              margin: '20px 0 0',
              fontSize: 15,
              lineHeight: 1.65,
              color: 'rgba(255,255,255,0.68)'
            }}>
                {it.d}
              </p>
            </article>
          )}
        </div>
      </div>
    </section>);

};

/* =====================================================================
   CASE STUDY v2 — tighter prose, structured C/R/O inset, weighted chips
   Preserved for revert. New v3 below.
   ===================================================================== */
const HRefined_CaseStudy_v2 = () =>
<section style={{
  padding: '120px 0',
  background: '#0F1429',
  color: '#fff',
  position: 'relative',
  overflow: 'hidden',
  fontFamily: 'Mona Sans, sans-serif'
}}>
    <div style={{
    position: 'absolute',
    inset: 0,
    background: 'radial-gradient(ellipse at 88% 25%, rgba(70,70,255,0.18), transparent 60%)',
    pointerEvents: 'none'
  }} aria-hidden />
    <div className="container" style={{
    position: 'relative',
    display: 'grid',
    gridTemplateColumns: '1.15fr 1fr',
    gap: 80,
    alignItems: 'start'
  }}>
      <div>
        <span className="eyebrow eyebrow-blue-mid">ENGAGEMENT IN FOCUS</span>
        <h2 style={{
        fontSize: 44,
        lineHeight: 1.06,
        letterSpacing: '-0.024em',
        margin: '20px 0 22px',
        fontWeight: 600,
        textWrap: 'balance'
      }}>
          A critical cloud migration. <span style={{ color: '#7FE7C8' }}>Delivered on time, on track, without heroics.</span>
        </h2>
        <p style={{
        fontSize: 17,
        lineHeight: 1.65,
        color: 'rgba(255,255,255,0.72)',
        margin: '0 0 44px',
        maxWidth: 560
      }}>
          An enterprise cloud migration where a critical workstream was at risk. The constraint was structural — not capability.
        </p>
        <div style={{
        display: 'grid',
        gap: 0,
        borderTop: '1px solid rgba(255,255,255,0.12)'
      }}>
          {[
        {
          label: 'CHALLENGE',
          accent: '#F472B6',
          body: 'A critical workstream slipping in an enterprise cloud migration. Capable people, structurally constrained \u2014 tangled dependencies, unclear ownership, reactive operating rhythm.'
        },
        {
          label: 'RESPONSE',
          accent: '#9CA3FF',
          body: 'Restructured the delivery teams. Redesigned the dependency map. Installed a deliberate operating rhythm underneath the work.'
        },
        {
          label: 'OUTCOME',
          accent: '#7FE7C8',
          body: 'Delivered on the date originally committed. Minimal downstream impact. No senior escalation rescues. The workstream proceeded as a clean line, not a series of fires.'
        }].
        map((row, i) =>
        <div key={i} style={{
          display: 'grid',
          gridTemplateColumns: '140px 1fr',
          gap: 28,
          padding: '24px 0',
          alignItems: 'baseline',
          borderBottom: '1px solid rgba(255,255,255,0.12)'
        }}>
              <div style={{
            fontSize: 11,
            fontWeight: 700,
            letterSpacing: '0.18em',
            color: row.accent
          }}>
                {row.label}
              </div>
              <div style={{
            fontSize: 15,
            lineHeight: 1.65,
            color: 'rgba(255,255,255,0.82)'
          }}>
                {row.body}
              </div>
            </div>
        )}
        </div>
      </div>
      <div style={{
      display: 'grid',
      gridTemplateColumns: '1fr 1fr',
      gap: 16
    }}>
        {[
      { n: 'On time', l: 'Delivered to the date originally committed.' },
      { n: 'On scope', l: 'No reduction in intended outcomes under pressure.' },
      { n: 'Minimal drag', l: 'Dependencies resolved structurally, not reactively.' },
      { n: 'Sustained', l: 'No reliance on senior heroics or weekend work.' }].
      map((c, i) =>
      <div key={i} style={{
        padding: '30px 26px 30px',
        background: 'rgba(255,255,255,0.04)',
        border: '1px solid rgba(255,255,255,0.10)',
        borderRadius: 14,
        position: 'relative'
      }}>
            <div style={{
          position: 'absolute',
          top: 0,
          left: 22,
          right: 22,
          height: 2,
          background: '#7FE7C8',
          opacity: 0.6,
          borderRadius: 1
        }} />
            <div style={{
          fontSize: 22,
          fontWeight: 600,
          color: '#7FE7C8',
          letterSpacing: '-0.012em',
          marginBottom: 12
        }}>
              {c.n}
            </div>
            <div style={{
          fontSize: 13,
          lineHeight: 1.55,
          color: 'rgba(255,255,255,0.65)'
        }}>
              {c.l}
            </div>
          </div>
      )}
      </div>
    </div>
  </section>;


/* =====================================================================
   BREAKS DOWN v4 \u2014 dark navy cards w/ watermark numbers (current).
   Preserved for revert. New v5 below.
   ===================================================================== */
const HRefined_BreaksDown_v4 = () => {
  const items = [
  {
    n: "01",
    label: "IDENTITY",
    sub: "Where standards live",
    t: "Standards quietly default under pressure.",
    d: "When the team's behavioural anchor isn't deliberately designed, performance habits drift downward under load. Quality bars slip a percentage at a time \u2014 until \"how we do things\" has quietly become something else.",
    accent: "#F472B6",
    motif:
    <svg viewBox="0 0 80 60" width="80" height="60" fill="none" aria-hidden>
          <path d="M2 12 L 78 12" stroke="currentColor" strokeWidth="1.8" fill="none" strokeDasharray="3 3" opacity="0.5" strokeLinecap="round" />
          <path d="M2 14 Q 28 24 48 36 T 78 50" stroke="currentColor" strokeWidth="2" fill="none" strokeLinecap="round" />
          <circle cx="2" cy="14" r="2.5" fill="currentColor" />
          <circle cx="78" cy="50" r="3" fill="currentColor" opacity="0.9" />
        </svg>

  },
  {
    n: "02",
    label: "EXECUTION",
    sub: "Where intent becomes action",
    t: "Effort multiplies. Output does not.",
    d: "When the underlying flow isn't designed, priorities drift, dependencies pile up, and shipped output thins out \u2014 even as everyone works harder. Heroic compensation hides the structural fault.",
    accent: "#FBBF24",
    motif:
    <svg viewBox="0 0 80 60" width="80" height="60" fill="none" aria-hidden>
          <path d="M2 52 Q 22 46 38 30 T 78 8" stroke="currentColor" strokeWidth="2" fill="none" strokeLinecap="round" />
          <path d="M2 32 L 78 32" stroke="currentColor" strokeWidth="1.8" fill="none" strokeDasharray="3 3" opacity="0.55" strokeLinecap="round" />
          <circle cx="78" cy="8" r="3" fill="currentColor" />
          <circle cx="78" cy="32" r="3" fill="currentColor" opacity="0.55" />
        </svg>

  },
  {
    n: "03",
    label: "CAPACITY",
    sub: "Where the reserves live",
    t: "Intensity becomes the system. Then it isn't.",
    d: "When recovery and load aren't structured, senior people absorb what the system cannot. It works for a quarter, maybe two. Then engagement thins, decision quality drops, and capacity collapses without a visible failure point.",
    accent: "#EF4444",
    motif:
    <svg viewBox="0 0 80 60" width="80" height="60" fill="none" aria-hidden>
          <path d="M2 18 L 20 14 L 38 13 L 56 16 L 64 30 L 72 48 L 78 56" stroke="currentColor" strokeWidth="2" fill="none" strokeLinecap="round" strokeLinejoin="round" />
          <circle cx="38" cy="13" r="2.5" fill="currentColor" />
          <circle cx="78" cy="56" r="3" fill="currentColor" opacity="0.9" />
        </svg>

  }];

  return (
    <section className="hr-breaks">
      <div className="container">
        <div className="hr-breaks-head" style={{ maxWidth: 900, marginBottom: 56 }}>
          <h2 className="hr-breaks-h">
            Where <span className="hr-h-accent">performance</span> breaks down.
          </h2>
          <p className="hr-breaks-sub" style={{ marginTop: 20 }}>
            Most approaches to performance were designed for stable conditions. When pressure does not let up, effort alone stops being enough. <strong>Performance problems are not people problems — they are architecture problems</strong>, and they appear in three specific places.
          </p>
        </div>
        <div style={{ display: 'grid', gridTemplateColumns: 'repeat(3, 1fr)', gap: 20 }}>
          {items.map((it) =>
          <article key={it.n} style={{
            position: 'relative',
            background: 'linear-gradient(180deg, rgba(255,255,255,0.045) 0%, rgba(255,255,255,0.015) 100%)',
            border: '1px solid rgba(255,255,255,0.10)',
            borderRadius: 16,
            padding: '40px 32px 40px',
            overflow: 'hidden',
            fontFamily: 'Mona Sans, sans-serif',
            minHeight: 400,
            isolation: 'isolate'
          }}>
              <div style={{
              position: 'absolute',
              top: -36,
              left: 16,
              fontSize: 220,
              fontWeight: 200,
              color: 'rgba(255,255,255,0.05)',
              letterSpacing: '-0.04em',
              lineHeight: 1,
              pointerEvents: 'none',
              userSelect: 'none',
              zIndex: 0
            }}>
                {it.n}
              </div>
              <div style={{
              position: 'absolute',
              top: 0,
              left: 0,
              right: 0,
              height: 2,
              background: `linear-gradient(90deg, ${it.accent} 0%, transparent 100%)`,
              opacity: 0.6
            }} aria-hidden />
              <div style={{
              position: 'relative',
              zIndex: 1,
              display: 'flex',
              justifyContent: 'space-between',
              alignItems: 'flex-start',
              marginBottom: 28
            }}>
                <div>
                  <div style={{
                  fontSize: 11,
                  fontWeight: 700,
                  letterSpacing: '0.22em',
                  color: it.accent,
                  marginBottom: 6
                }}>
                    {it.label}
                  </div>
                  <div style={{
                  fontSize: 12,
                  fontWeight: 500,
                  color: 'rgba(255,255,255,0.45)',
                  letterSpacing: '0.02em'
                }}>
                    {it.sub}
                  </div>
                </div>
                <div style={{ color: it.accent, opacity: 0.85, flexShrink: 0 }}>{it.motif}</div>
              </div>
              <h3 style={{
              position: 'relative',
              zIndex: 1,
              margin: 0,
              fontSize: 22,
              fontWeight: 600,
              lineHeight: 1.25,
              color: '#fff',
              letterSpacing: '-0.012em',
              textWrap: 'balance'
            }}>
                {it.t}
              </h3>
              <p style={{
              position: 'relative',
              zIndex: 1,
              margin: '20px 0 0',
              fontSize: 15,
              lineHeight: 1.65,
              color: 'rgba(255,255,255,0.68)'
            }}>
                {it.d}
              </p>
            </article>
          )}
        </div>
      </div>
    </section>);

};

/* =====================================================================
   CASE STUDY v3 \u2014 action-titles per C/R/O row + quiet 2x2 chips (no bar)
   Preserved for revert. New v4 below.
   ===================================================================== */
const HRefined_CaseStudy_v3 = () =>
<section style={{
  padding: '120px 0',
  background: '#0F1429',
  color: '#fff',
  position: 'relative',
  overflow: 'hidden',
  fontFamily: 'Mona Sans, sans-serif'
}}>
    <div style={{
    position: 'absolute',
    inset: 0,
    background: 'radial-gradient(ellipse at 88% 25%, rgba(70,70,255,0.18), transparent 60%)',
    pointerEvents: 'none'
  }} aria-hidden />
    <div className="container" style={{
    position: 'relative',
    display: 'grid',
    gridTemplateColumns: '1.15fr 1fr',
    gap: 80,
    alignItems: 'start'
  }}>
      <div>
        <span className="eyebrow eyebrow-blue-mid">ENGAGEMENT IN FOCUS</span>
        <h2 style={{
        fontSize: 44,
        lineHeight: 1.06,
        letterSpacing: '-0.024em',
        margin: '20px 0 22px',
        fontWeight: 600,
        textWrap: 'balance'
      }}>
          A critical cloud migration. <span style={{ color: '#7FE7C8' }}>Delivered on time, on track, without heroics.</span>
        </h2>
        <p style={{
        fontSize: 17,
        lineHeight: 1.65,
        color: 'rgba(255,255,255,0.72)',
        margin: '0 0 44px',
        maxWidth: 560
      }}>
          An enterprise cloud migration where a critical workstream was at risk. The constraint was structural — not capability.
        </p>
        <div style={{
        display: 'grid',
        gap: 0,
        borderTop: '1px solid rgba(255,255,255,0.12)'
      }}>
          {[
        {
          label: 'CHALLENGE',
          accent: '#F472B6',
          title: 'A workstream slipping under pressure.',
          body: 'A critical workstream inside an enterprise cloud migration was at risk of slippage. The people were capable \u2014 but the dependency map was tangled, ownership was unclear, and the operating rhythm was reactive to events rather than ahead of them.'
        },
        {
          label: 'RESPONSE',
          accent: '#9CA3FF',
          title: 'Rebuilt the structure underneath.',
          body: 'We restructured the delivery teams to match the work, redesigned the dependency map to remove blocking sequences, and installed a deliberate operating cadence \u2014 daily flow, weekly architecture, monthly performance \u2014 underneath the delivery.'
        },
        {
          label: 'OUTCOME',
          accent: '#7FE7C8',
          title: 'Delivered as a clean line.',
          body: 'The workstream landed on the date originally committed, with no senior escalations and minimal downstream impact. Delivery moved as one continuous line, not a series of fires \u2014 and the change in operating rhythm held after the engagement closed.'
        }].
        map((row, i) =>
        <div key={i} style={{
          display: 'grid',
          gridTemplateColumns: '160px 1fr',
          gap: 32,
          padding: '28px 0',
          alignItems: 'baseline',
          borderBottom: '1px solid rgba(255,255,255,0.12)'
        }}>
              <div style={{
            fontSize: 11,
            fontWeight: 700,
            letterSpacing: '0.2em',
            color: row.accent,
            paddingTop: 4
          }}>
                {row.label}
              </div>
              <div>
                <h3 style={{
              margin: 0,
              fontSize: 20,
              fontWeight: 600,
              lineHeight: 1.3,
              letterSpacing: '-0.012em',
              color: '#fff'
            }}>
                  {row.title}
                </h3>
                <p style={{
              margin: '12px 0 0',
              fontSize: 15,
              lineHeight: 1.65,
              color: 'rgba(255,255,255,0.72)'
            }}>
                  {row.body}
                </p>
              </div>
            </div>
        )}
        </div>
      </div>
      <div style={{
      display: 'grid',
      gridTemplateColumns: '1fr 1fr',
      gap: 16
    }}>
        {[
      { n: 'On time', l: 'Delivered to the date originally committed.' },
      { n: 'On scope', l: 'No reduction in intended outcomes under pressure.' },
      { n: 'Minimal drag', l: 'Dependencies resolved structurally, not reactively.' },
      { n: 'Sustained', l: 'No reliance on senior heroics or weekend work.' }].
      map((c, i) =>
      <div key={i} style={{
        padding: '28px 26px 28px',
        background: 'rgba(255,255,255,0.035)',
        border: '1px solid rgba(255,255,255,0.10)',
        borderRadius: 14
      }}>
            <div style={{
          display: 'flex',
          alignItems: 'center',
          gap: 10,
          marginBottom: 12
        }}>
              <span style={{
            width: 6,
            height: 6,
            borderRadius: '50%',
            background: '#7FE7C8',
            display: 'inline-block',
            flexShrink: 0
          }} aria-hidden />
              <div style={{
            fontSize: 17,
            fontWeight: 600,
            color: '#fff',
            letterSpacing: '-0.01em'
          }}>
                {c.n}
              </div>
            </div>
            <div style={{
          fontSize: 13,
          lineHeight: 1.55,
          color: 'rgba(255,255,255,0.62)'
        }}>
              {c.l}
            </div>
          </div>
      )}
      </div>
    </div>
  </section>;


/* =====================================================================
   INSIGHTS v2 \u2014 editorial list (no cards). Preserved. New v3 below.
   ===================================================================== */
const HRefined_Insights_v2 = () => {
  const articles = [
  { tag: 'SUSTAINABLE CAPACITY', t: 'Recovery Is Inevitable. The Only Question Is Whether It Is Planned.', read: '9 min read' },
  { tag: 'EXECUTION ARCHITECTURE', t: 'Heroics Are Not A Strategy. They Are A Symptom.', read: '8 min read' },
  { tag: 'PERFORMANCE IDENTITY', t: 'What Standards Are For (And Why Yours Default Downward).', read: '7 min read' }];

  return (
    <section style={{
      padding: '88px 0 96px',
      background: '#F6F8FB',
      fontFamily: 'Mona Sans, sans-serif'
    }}>
      <div className="container">
        <div style={{
          display: 'flex',
          alignItems: 'flex-end',
          justifyContent: 'space-between',
          marginBottom: 36,
          gap: 40,
          flexWrap: 'wrap'
        }}>
          <div style={{ maxWidth: 620 }}>
            <span className="eyebrow eyebrow-blue">FROM THE LAB</span>
            <h2 style={{
              fontSize: 32,
              lineHeight: 1.12,
              letterSpacing: '-0.02em',
              margin: '12px 0 0',
              fontWeight: 600,
              color: '#0D0042',
              textWrap: 'balance'
            }}>
              Recent thinking on performance under pressure.
            </h2>
          </div>
          <a href="insights.html" style={{
            color: '#1F4DD8',
            fontSize: 14,
            fontWeight: 600,
            textDecoration: 'none',
            display: 'inline-flex',
            alignItems: 'center',
            gap: 8
          }}>
            Read all insights <HArrow />
          </a>
        </div>
        <div style={{ borderTop: '1px solid #D9DFE9' }}>
          {articles.map((a, i) =>
          <a key={i} href="insights.html" style={{
            display: 'grid',
            gridTemplateColumns: '220px 1fr 140px 28px',
            alignItems: 'center',
            gap: 32,
            padding: '24px 4px 24px 0',
            borderBottom: '1px solid #D9DFE9',
            textDecoration: 'none',
            color: 'inherit',
            transition: 'background 0.15s ease, padding 0.15s ease'
          }}
          onMouseEnter={(e) => {e.currentTarget.style.background = 'rgba(31,77,216,0.04)';e.currentTarget.style.paddingLeft = '12px';}}
          onMouseLeave={(e) => {e.currentTarget.style.background = 'transparent';e.currentTarget.style.paddingLeft = '0';}}>
              <span style={{
              fontSize: 11,
              fontWeight: 700,
              letterSpacing: '0.18em',
              color: '#1F4DD8'
            }}>
                {a.tag}
              </span>
              <h3 style={{
              margin: 0,
              fontSize: 18,
              lineHeight: 1.32,
              fontWeight: 600,
              color: '#0D0042',
              letterSpacing: '-0.012em',
              textWrap: 'balance'
            }}>
                {a.t}
              </h3>
              <span style={{
              fontSize: 13,
              color: '#6B7280',
              fontVariantNumeric: 'tabular-nums'
            }}>
                {a.read}
              </span>
              <span style={{ color: '#1F4DD8', display: 'inline-flex', justifyContent: 'flex-end' }}>
                <HArrow />
              </span>
            </a>
          )}
        </div>
      </div>
    </section>);

};

/* =====================================================================
   CASE STUDY v4 \u2014 warm cream, before/after visual (preserved).
   New v5 below — cool palette, brand colors.
   ===================================================================== */
const HRefined_CaseStudy_v4 = () => {
  const stats = [
  { n: "100%", l: "On-time delivery", d: "Committed date held." },
  { n: "100%", l: "Scope protected", d: "No reduction under pressure." },
  { n: "0", l: "Senior escalations", d: "Resolved structurally." },
  { n: "0", l: "Weekend rescues", d: "No reliance on heroics." }];

  const rows = [
  {
    label: "CHALLENGE",
    accent: "#DB2777",
    title: "A workstream slipping under pressure.",
    body: "A critical workstream inside an enterprise cloud migration was at risk. The people were capable \u2014 the dependency map was tangled, ownership was unclear, and the operating rhythm was reactive to events rather than ahead of them."
  },
  {
    label: "RESPONSE",
    accent: "#1F4DD8",
    title: "Rebuilt the structure underneath.",
    body: "We restructured the delivery teams to match the work, redesigned the dependency map to remove blocking sequences, and installed a deliberate operating cadence \u2014 daily flow, weekly architecture, monthly performance."
  },
  {
    label: "OUTCOME",
    accent: "#14B89A",
    title: "Delivered as a clean line.",
    body: "The workstream landed on the date originally committed, with no senior escalations and minimal downstream impact. Delivery moved as one continuous line \u2014 and the change in operating rhythm held after the engagement closed."
  }];

  return (
    <section style={{
      padding: '120px 0 110px',
      background: '#F4EFE5',
      color: '#1A1635',
      fontFamily: 'Mona Sans, sans-serif',
      position: 'relative',
      overflow: 'hidden'
    }}>
      <div className="container" style={{ position: 'relative' }}>
        {/* Top: eyebrow + headline + lift */}
        <div style={{ maxWidth: 920, marginBottom: 56 }}>
          <span style={{
            display: 'inline-block',
            fontSize: 11,
            fontWeight: 700,
            letterSpacing: '0.22em',
            color: '#1F4DD8',
            marginBottom: 18
          }}>
            ENGAGEMENT IN FOCUS
          </span>
          <h2 style={{
            fontSize: 48,
            lineHeight: 1.04,
            letterSpacing: '-0.026em',
            margin: '0 0 22px',
            fontWeight: 600,
            color: '#0D0042',
            textWrap: 'balance'
          }}>
            A critical cloud migration. <span style={{ color: '#14B89A' }}>Delivered as a clean line.</span>
          </h2>
          <p style={{
            fontSize: 17,
            lineHeight: 1.65,
            color: 'rgba(13,0,66,0.7)',
            margin: 0,
            maxWidth: 640
          }}>
            An enterprise cloud migration where a critical workstream was at risk. The constraint was structural — not capability.
          </p>
        </div>

        {/* Before / After visual */}
        <div style={{
          background: '#FBF7EE',
          border: '1px solid rgba(13,0,66,0.08)',
          borderRadius: 18,
          padding: '36px 40px 28px',
          marginBottom: 56
        }}>
          <div style={{
            display: 'grid',
            gridTemplateColumns: '1fr 1fr',
            marginBottom: 8
          }}>
            <span style={{
              fontSize: 10,
              fontWeight: 600,
              letterSpacing: '0.2em',
              color: '#DB2777'
            }}>BEFORE · REACTIVE</span>
            <span style={{
              fontSize: 10,
              fontWeight: 600,
              letterSpacing: '0.2em',
              color: '#14B89A',
              textAlign: 'right'
            }}>AFTER · ON A CLEAN LINE</span>
          </div>
          <svg viewBox="0 0 1000 240" width="100%" height="240" preserveAspectRatio="xMidYMid meet" style={{ display: 'block' }}>
            {/* horizontal baseline grid */}
            {[60, 110, 160].map((y, i) =>
            <line key={i} x1="20" x2="980" y1={y} y2={y} stroke="rgba(13,0,66,0.06)" strokeDasharray="2 5" />
            )}
            {/* baseline axis */}
            <line x1="20" x2="980" y1="200" y2="200" stroke="rgba(13,0,66,0.18)" strokeWidth="1" />
            {/* Left half: chaotic line */}
            <path
              d="M 30 170 L 70 100 L 110 175 L 150 70 L 195 185 L 240 90 L 285 170 L 330 100 L 370 180 L 410 120 L 460 175"
              stroke="#DB2777"
              strokeWidth="2.5"
              fill="none"
              strokeLinecap="round"
              strokeLinejoin="round"
              opacity="0.85" />

            {/* Escalation markers (red X) along chaotic line */}
            {[
            { cx: 110, cy: 175 },
            { cx: 195, cy: 185 },
            { cx: 285, cy: 170 },
            { cx: 370, cy: 180 }].
            map((p, i) =>
            <g key={i} stroke="#DB2777" strokeWidth="2.4" strokeLinecap="round" opacity="0.9">
                <line x1={p.cx - 5} y1={p.cy - 5} x2={p.cx + 5} y2={p.cy + 5} />
                <line x1={p.cx - 5} y1={p.cy + 5} x2={p.cx + 5} y2={p.cy - 5} />
              </g>
            )}

            {/* Middle: PSL Engagement marker */}
            <line x1="500" y1="20" x2="500" y2="210" stroke="#0D0042" strokeWidth="1.5" strokeDasharray="4 4" opacity="0.55" />
            <g transform="translate(500, 20)">
              <rect x="-66" y="-4" width="132" height="22" rx="11" fill="#0D0042" />
              <text x="0" y="11" textAnchor="middle" fontFamily="Mona Sans, sans-serif" fontSize="10" fontWeight="700" letterSpacing="0.16em" fill="#fff">PSL ENGAGEMENT</text>
            </g>

            {/* Right half: clean ascending line */}
            <path
              d="M 500 165 Q 600 150 700 120 T 950 60"
              stroke="#14B89A"
              strokeWidth="3.5"
              fill="none"
              strokeLinecap="round" />

            {/* Endpoint marker */}
            <circle cx="950" cy="60" r="8" fill="#14B89A" />
            <circle cx="950" cy="60" r="16" fill="none" stroke="#14B89A" strokeWidth="1.5" opacity="0.35" />
            <circle cx="950" cy="60" r="24" fill="none" stroke="#14B89A" strokeWidth="1" opacity="0.18" />

            {/* X axis label */}
            <text x="20" y="228" fontFamily="Mona Sans, sans-serif" fontSize="10" fontWeight="600" letterSpacing="0.16em" fill="rgba(13,0,66,0.45)">DELIVERY OVER TIME</text>
            <text x="980" y="228" textAnchor="end" fontFamily="Mona Sans, sans-serif" fontSize="10" fontWeight="600" letterSpacing="0.16em" fill="rgba(13,0,66,0.45)">ON-DATE DELIVERY</text>
          </svg>

          {/* Legend */}
          <div style={{
            display: 'flex',
            gap: 28,
            marginTop: 14,
            paddingTop: 16,
            borderTop: '1px solid rgba(13,0,66,0.08)',
            flexWrap: 'wrap'
          }}>
            <div style={{ display: 'flex', alignItems: 'center', gap: 8, fontSize: 12, color: 'rgba(13,0,66,0.7)' }}>
              <span style={{ width: 22, height: 2, background: '#DB2777', borderRadius: 1, display: 'inline-block' }} />
              Reactive delivery, escalation-driven
            </div>
            <div style={{ display: 'flex', alignItems: 'center', gap: 8, fontSize: 12, color: 'rgba(13,0,66,0.7)' }}>
              <span style={{ width: 12, height: 12, borderRadius: '50%', background: '#DB2777', display: 'inline-block', position: 'relative' }} />
              Senior escalations
            </div>
            <div style={{ display: 'flex', alignItems: 'center', gap: 8, fontSize: 12, color: 'rgba(13,0,66,0.7)' }}>
              <span style={{ width: 22, height: 3, background: '#14B89A', borderRadius: 1.5, display: 'inline-block' }} />
              Structured delivery after engagement
            </div>
          </div>
        </div>

        {/* Stats row */}
        <div style={{
          display: 'grid',
          gridTemplateColumns: 'repeat(4, 1fr)',
          gap: 0,
          borderTop: '1px solid rgba(13,0,66,0.18)',
          borderBottom: '1px solid rgba(13,0,66,0.18)',
          marginBottom: 64
        }}>
          {stats.map((s, i) =>
          <div key={i} style={{
            padding: '32px 28px 30px',
            borderRight: i < 3 ? '1px solid rgba(13,0,66,0.12)' : 'none'
          }}>
              <div style={{
              fontSize: 52,
              fontWeight: 600,
              letterSpacing: '-0.03em',
              lineHeight: 1,
              color: '#0D0042',
              marginBottom: 14,
              fontVariantNumeric: 'tabular-nums'
            }}>
                {s.n}
              </div>
              <div style={{
              fontSize: 14,
              fontWeight: 700,
              color: '#0D0042',
              letterSpacing: '-0.005em',
              marginBottom: 6
            }}>
                {s.l}
              </div>
              <div style={{
              fontSize: 13,
              lineHeight: 1.5,
              color: 'rgba(13,0,66,0.6)'
            }}>
                {s.d}
              </div>
            </div>
          )}
        </div>

        {/* Narrative: 3 columns */}
        <div style={{
          display: 'grid',
          gridTemplateColumns: 'repeat(3, 1fr)',
          gap: 40
        }}>
          {rows.map((row, i) =>
          <div key={i} style={{ position: 'relative' }}>
              <div style={{
              width: 36,
              height: 2,
              background: row.accent,
              marginBottom: 18
            }} aria-hidden />
              <div style={{
              fontSize: 11,
              fontWeight: 700,
              letterSpacing: '0.22em',
              color: row.accent,
              marginBottom: 14
            }}>
                {row.label}
              </div>
              <h3 style={{
              margin: 0,
              fontSize: 22,
              fontWeight: 600,
              lineHeight: 1.25,
              color: '#0D0042',
              letterSpacing: '-0.012em',
              textWrap: 'balance'
            }}>
                {row.title}
              </h3>
              <p style={{
              margin: '14px 0 0',
              fontSize: 15,
              lineHeight: 1.65,
              color: 'rgba(13,0,66,0.72)'
            }}>
                {row.body}
              </p>
            </div>
          )}
        </div>
      </div>
    </section>);

};

/* =====================================================================
   INSIGHTS v3 \u2014 single featured article card. Preserved. v4 below.
   ===================================================================== */
const HRefined_Insights_v3 = () =>
<section style={{
  padding: '96px 0 104px',
  background: '#F6F8FB',
  fontFamily: 'Mona Sans, sans-serif'
}}>
    <div className="container">
      <div style={{
      display: 'flex',
      alignItems: 'flex-end',
      justifyContent: 'space-between',
      marginBottom: 40,
      gap: 40,
      flexWrap: 'wrap'
    }}>
        <div style={{ maxWidth: 620 }}>
          <span className="eyebrow eyebrow-blue">FROM THE LAB</span>
          <h2 style={{
          fontSize: 32,
          lineHeight: 1.12,
          letterSpacing: '-0.02em',
          margin: '12px 0 0',
          fontWeight: 600,
          color: '#0D0042',
          textWrap: 'balance'
        }}>
            Recent thinking on performance under pressure.
          </h2>
        </div>
        <a href="insights.html" style={{
        color: '#1F4DD8',
        fontSize: 14,
        fontWeight: 600,
        textDecoration: 'none',
        display: 'inline-flex',
        alignItems: 'center',
        gap: 8
      }}>
          Visit the Insights Hub <HArrow />
        </a>
      </div>

      {/* Featured article — big editorial card */}
      <a href="insights.html" style={{
      display: 'grid',
      gridTemplateColumns: '1.4fr 1fr',
      gap: 56,
      padding: '44px 48px 48px',
      background: '#fff',
      border: '1px solid #D9DFE9',
      borderRadius: 18,
      textDecoration: 'none',
      color: 'inherit',
      transition: 'border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease'
    }}
    onMouseEnter={(e) => {e.currentTarget.style.borderColor = '#1F4DD8';e.currentTarget.style.boxShadow = '0 12px 32px rgba(31,77,216,0.10)';}}
    onMouseLeave={(e) => {e.currentTarget.style.borderColor = '#D9DFE9';e.currentTarget.style.boxShadow = 'none';}}>
        <div>
          <div style={{
          display: 'flex',
          alignItems: 'center',
          gap: 12,
          marginBottom: 22
        }}>
            <span style={{
            fontSize: 11,
            fontWeight: 700,
            letterSpacing: '0.18em',
            color: '#1F4DD8'
          }}>SUSTAINABLE CAPACITY</span>
            <span style={{
            width: 4, height: 4, borderRadius: '50%', background: 'rgba(13,0,66,0.3)'
          }} />
            <span style={{
            fontSize: 11,
            fontWeight: 600,
            letterSpacing: '0.14em',
            color: 'rgba(13,0,66,0.45)'
          }}>LATEST</span>
          </div>
          <h3 style={{
          margin: 0,
          fontSize: 34,
          fontWeight: 600,
          lineHeight: 1.12,
          letterSpacing: '-0.022em',
          color: '#0D0042',
          textWrap: 'balance'
        }}>
            Recovery Is Inevitable.<br />The Only Question Is Whether It Is Planned.
          </h3>
          <p style={{
          margin: '20px 0 0',
          fontSize: 16,
          lineHeight: 1.65,
          color: 'rgba(13,0,66,0.7)',
          maxWidth: 540
        }}>
            How sustained-pressure delivery environments turn refused recovery into unplanned absence — and what to do about it.
          </p>
        </div>
        <div style={{
        display: 'flex',
        flexDirection: 'column',
        justifyContent: 'space-between',
        gap: 24,
        borderLeft: '1px solid #E5E9F0',
        paddingLeft: 36
      }}>
          <div>
            <div style={{
            fontSize: 10,
            fontWeight: 700,
            letterSpacing: '0.2em',
            color: 'rgba(13,0,66,0.45)',
            marginBottom: 8
          }}>PUBLISHED</div>
            <div style={{ fontSize: 15, fontWeight: 600, color: '#0D0042' }}>5th May 2026</div>
          </div>
          <div>
            <div style={{
            fontSize: 10,
            fontWeight: 700,
            letterSpacing: '0.2em',
            color: 'rgba(13,0,66,0.45)',
            marginBottom: 8
          }}>READ TIME</div>
            <div style={{ fontSize: 15, fontWeight: 600, color: '#0D0042' }}>9 minutes</div>
          </div>
          <div style={{
          display: 'inline-flex',
          alignItems: 'center',
          gap: 8,
          color: '#1F4DD8',
          fontSize: 14,
          fontWeight: 600
        }}>
            Read article <HArrow />
          </div>
        </div>
      </a>

      <div style={{
      marginTop: 22,
      fontSize: 13,
      color: 'rgba(13,0,66,0.5)',
      display: 'flex',
      alignItems: 'center',
      gap: 10
    }}>
        <span style={{
        width: 6, height: 6, borderRadius: '50%', background: '#1F4DD8', opacity: 0.6
      }} aria-hidden />
        More pieces are in development. The library expands as the methodology research progresses.
      </div>
    </div>
  </section>;


/* =====================================================================
   BREAKS DOWN v5 — preserved for revert. New v6 below, ring-aligned colors.
   ===================================================================== */
const HRefined_BreaksDown_v5 = () => {
  const items = [
  {
    n: "01",
    label: "IDENTITY",
    sub: "Where standards live",
    t: "Standards quietly default under pressure.",
    d: "When the team's behavioural anchor isn't deliberately designed, performance habits drift downward under load. Quality bars slip a percentage at a time \u2014 until \"how we do things\" has quietly become something else.",
    accent: "#F472B6",
    motif:
    <svg viewBox="0 0 60 44" width="60" height="44" fill="none" aria-hidden>
          <path d="M2 10 L 58 10" stroke="currentColor" strokeWidth="1.5" fill="none" strokeDasharray="3 3" opacity="0.45" strokeLinecap="round" />
          <path d="M2 11 Q 22 18 36 26 T 58 38" stroke="currentColor" strokeWidth="1.8" fill="none" strokeLinecap="round" />
          <circle cx="2" cy="11" r="2" fill="currentColor" />
          <circle cx="58" cy="38" r="2.5" fill="currentColor" opacity="0.9" />
        </svg>

  },
  {
    n: "02",
    label: "EXECUTION",
    sub: "Where intent becomes action",
    t: "Effort multiplies. Output does not.",
    d: "When the underlying flow isn't designed, priorities drift, dependencies pile up, and shipped output thins out \u2014 even as everyone works harder. Heroic compensation hides the structural fault.",
    accent: "#FBBF24",
    motif:
    <svg viewBox="0 0 60 44" width="60" height="44" fill="none" aria-hidden>
          <path d="M2 38 Q 16 32 28 22 T 58 6" stroke="currentColor" strokeWidth="1.8" fill="none" strokeLinecap="round" />
          <path d="M2 24 L 58 24" stroke="currentColor" strokeWidth="1.5" fill="none" strokeDasharray="3 3" opacity="0.5" strokeLinecap="round" />
          <circle cx="58" cy="6" r="2.5" fill="currentColor" />
          <circle cx="58" cy="24" r="2" fill="currentColor" opacity="0.5" />
        </svg>

  },
  {
    n: "03",
    label: "CAPACITY",
    sub: "Where the reserves live",
    t: "Intensity becomes the system. Then it isn't.",
    d: "When recovery and load aren't structured, senior people absorb what the system cannot. It works for a quarter, maybe two. Then engagement thins, decision quality drops, and capacity collapses without a visible failure point.",
    accent: "#EF4444",
    motif:
    <svg viewBox="0 0 60 44" width="60" height="44" fill="none" aria-hidden>
          <path d="M2 12 L 16 9 L 30 8 L 42 12 L 50 22 L 56 36 L 58 40" stroke="currentColor" strokeWidth="1.8" fill="none" strokeLinecap="round" strokeLinejoin="round" />
          <circle cx="30" cy="8" r="2" fill="currentColor" />
          <circle cx="58" cy="40" r="2.5" fill="currentColor" opacity="0.9" />
        </svg>

  }];

  return (
    <section className="hr-breaks">
      <div className="container">
        <div className="hr-breaks-head" style={{ maxWidth: 900, marginBottom: 56 }}>
          <h2 className="hr-breaks-h">
            Where <span className="hr-h-accent">performance</span> breaks down.
          </h2>
          <p className="hr-breaks-sub" style={{ marginTop: 20 }}>
            Most approaches to performance were designed for stable conditions. When pressure does not let up, effort alone stops being enough. <strong>Performance problems are not people problems — they are architecture problems</strong>, and they appear in three specific places.
          </p>
        </div>
        <div className="hr-bd-grid">
          {items.map((it) =>
          <article key={it.n} className="hr-bd-card" style={{
            position: 'relative',
            background: 'linear-gradient(180deg, rgba(255,255,255,0.075) 0%, rgba(255,255,255,0.025) 100%)',
            border: '1px solid rgba(255,255,255,0.14)',
            borderRadius: 16,
            padding: '40px 34px 40px',
            fontFamily: 'Mona Sans, sans-serif',
            boxShadow: 'inset 0 1px 0 rgba(255,255,255,0.06)'
          }}>
              {/* Short accent rule top — matches Engagement narrative */}
              <div style={{
              width: 36,
              height: 2,
              background: it.accent,
              marginBottom: 22
            }} aria-hidden />
              {/* Header: label/sub left, motif right */}
              <div style={{
              display: 'flex',
              justifyContent: 'space-between',
              alignItems: 'flex-start',
              marginBottom: 24
            }}>
                <div>
                  <div style={{
                  fontSize: 11,
                  fontWeight: 700,
                  letterSpacing: '0.22em',
                  color: it.accent,
                  marginBottom: 6
                }}>
                    {it.n} · {it.label}
                  </div>
                  <div style={{
                  fontSize: 12,
                  fontWeight: 500,
                  color: 'rgba(255,255,255,0.62)',
                  letterSpacing: '0.01em'
                }}>
                    {it.sub}
                  </div>
                </div>
                <div style={{ color: it.accent, opacity: 0.7, flexShrink: 0 }}>{it.motif}</div>
              </div>
              <h3 style={{
              margin: 0,
              fontSize: 22,
              fontWeight: 600,
              lineHeight: 1.25,
              color: '#fff',
              letterSpacing: '-0.012em',
              textWrap: 'balance'
            }}>
                {it.t}
              </h3>
              <p style={{
              margin: '16px 0 0',
              fontSize: 15,
              lineHeight: 1.65,
              color: 'rgba(255,255,255,0.78)'
            }}>
                {it.d}
              </p>
            </article>
          )}
        </div>
      </div>
    </section>);

};

/* =====================================================================
   BREAKS DOWN v6 — ring-aligned colours (violet/teal-blue/electric blue)
   matching the Performance System rings below. Subtle accent glow at top
   of each card adds depth without overpowering. "Maps to → X Ring" line
   makes the visual thread explicit. To revert: render <HRefined_BreaksDown_v5 />
   in root.
   ===================================================================== */
const HRefined_BreaksDown = () => {
  const items = [
  {
    n: "01",
    label: "IDENTITY",
    sub: "Where standards live",
    t: <>Standards quietly default <em className="hr-break-accent">under pressure.</em></>,
    d: "When the team's behavioural anchor isn't deliberately designed, performance habits drift downward under load. Quality bars slip a percentage at a time \u2014 until \"how we do things\" has quietly become something else.",
    ring: "Inner ring",
    accent: "#A78BFA",
    glow: "rgba(167,139,250,0.20)",
    motif:
    <svg viewBox="0 0 60 44" width="60" height="44" fill="none" aria-hidden>
          <path d="M2 10 L 58 10" stroke="currentColor" strokeWidth="1.5" fill="none" strokeDasharray="3 3" opacity="0.45" strokeLinecap="round" />
          <path d="M2 11 Q 22 18 36 26 T 58 38" stroke="currentColor" strokeWidth="1.8" fill="none" strokeLinecap="round" />
          <circle cx="2" cy="11" r="2" fill="currentColor" />
          <circle cx="58" cy="38" r="2.5" fill="currentColor" opacity="0.9" />
        </svg>

  },
  {
    n: "02",
    label: "EXECUTION",
    sub: "Where intent becomes action",
    t: <><em className="hr-break-accent">Effort multiplies.</em> Output does not.</>,
    d: "When the underlying flow isn't designed, priorities drift, dependencies pile up, and shipped output thins out \u2014 even as everyone works harder. Heroic compensation hides the structural fault.",
    ring: "Middle ring",
    accent: "#2EE0B0",
    glow: "rgba(46,224,176,0.20)",
    motif:
    <svg viewBox="0 0 60 44" width="60" height="44" fill="none" aria-hidden>
          <path d="M2 38 Q 16 32 28 22 T 58 6" stroke="currentColor" strokeWidth="1.8" fill="none" strokeLinecap="round" />
          <path d="M2 24 L 58 24" stroke="currentColor" strokeWidth="1.5" fill="none" strokeDasharray="3 3" opacity="0.5" strokeLinecap="round" />
          <circle cx="58" cy="6" r="2.5" fill="currentColor" />
          <circle cx="58" cy="24" r="2" fill="currentColor" opacity="0.5" />
        </svg>

  },
  {
    n: "03",
    label: "CAPACITY",
    sub: "Where the reserves live",
    t: <>Intensity becomes the system. <em className="hr-break-accent">Then it isn’t.</em></>,
    d: "When recovery and load aren't structured, senior people absorb what the system cannot. It works for a quarter, maybe two. Then engagement thins, decision quality drops, and capacity collapses without a visible failure point.",
    ring: "Outer ring",
    accent: "#6366F1",
    glow: "rgba(99,102,241,0.24)",
    motif:
    <svg viewBox="0 0 60 44" width="60" height="44" fill="none" aria-hidden>
          <path d="M2 12 L 16 9 L 30 8 L 42 12 L 50 22 L 56 36 L 58 40" stroke="currentColor" strokeWidth="1.8" fill="none" strokeLinecap="round" strokeLinejoin="round" />
          <circle cx="30" cy="8" r="2" fill="currentColor" />
          <circle cx="58" cy="40" r="2.5" fill="currentColor" opacity="0.9" />
        </svg>

  }];

  return (
    <section className="hr-breaks">
      <div className="container">
        <div className="hr-breaks-head" style={{ maxWidth: 900, marginBottom: 56 }}>
          <h2 className="hr-breaks-h">
            Where <span className="hr-h-accent">performance</span> breaks down.
          </h2>
          <p className="hr-breaks-sub" style={{ marginTop: 20 }}>
            Most approaches to performance were designed for stable conditions. When pressure does not let up, effort alone stops being enough. <strong>Performance problems are not people problems — they are architecture problems</strong>, and they appear in three specific places.
          </p>
        </div>
        <div className="hr-bd-grid">
          {items.map((it) =>
          <article key={it.n} className="hr-bd-card" style={{
            position: 'relative',
            background: `radial-gradient(80% 60% at 0% 0%, ${it.glow} 0%, transparent 55%), linear-gradient(180deg, #161B3F 0%, #11163A 100%)`,
            border: `1px solid ${it.accent}33`,
            borderRadius: 16,
            padding: '40px 34px 40px',
            fontFamily: 'Mona Sans, sans-serif',
            boxShadow: '0 12px 32px -16px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.06)',
            isolation: 'isolate'
          }}>
              {/* Short accent rule top — matches Engagement narrative */}
              <div style={{
              width: 36,
              height: 2,
              background: it.accent,
              marginBottom: 22
            }} aria-hidden />
              {/* Header: ring badge + label/sub left, motif right */}
              <div style={{
              display: 'flex',
              justifyContent: 'space-between',
              alignItems: 'flex-start',
              marginBottom: 24
            }}>
                <div style={{ display: 'flex', alignItems: 'flex-start', gap: 12 }}>
                  {/* Ring indicator badge — moved up to title area */}
                  <svg width="30" height="30" viewBox="0 0 22 22" fill="none" aria-hidden style={{ flexShrink: 0, marginTop: 0 }}>
                    <circle cx="11" cy="11" r="9.5" fill="none" stroke="rgba(255,255,255,0.18)" strokeWidth="1" />
                    <circle cx="11" cy="11" r="9.5" fill="none" stroke={it.accent} strokeWidth="2.2"
                  strokeDasharray="14 50" strokeLinecap="round"
                  transform={it.n === "01" ? "rotate(-90 11 11)" : it.n === "02" ? "rotate(30 11 11)" : "rotate(150 11 11)"} />
                    <circle cx="11" cy="11" r="2.6" fill={it.accent} opacity="0.95" />
                  </svg>
                  <div>
                    <div style={{
                    fontSize: 12,
                    fontWeight: 700,
                    letterSpacing: '0.22em',
                    color: it.accent,
                    marginBottom: 6
                  }}>
                      RING {it.n} · {it.label}
                    </div>
                    <div style={{
                    fontSize: 13,
                    fontWeight: 500,
                    color: 'rgba(255,255,255,0.65)',
                    letterSpacing: '0.01em'
                  }}>
                      {it.sub}
                    </div>
                  </div>
                </div>
                <div style={{ color: it.accent, opacity: 0.7, flexShrink: 0 }}>{it.motif}</div>
              </div>
              <h3 style={{
              margin: 0,
              fontSize: 24,
              fontWeight: 600,
              lineHeight: 1.22,
              color: '#fff',
              letterSpacing: '-0.014em',
              textWrap: 'balance'
            }}>
                {it.t}
              </h3>
              <p style={{
              margin: '16px 0 0',
              fontSize: 15,
              lineHeight: 1.65,
              color: 'rgba(255,255,255,0.78)'
            }}>
                {it.d}
              </p>
            </article>
          )}
        </div>
      </div>
    </section>);

};

/* =====================================================================
   PRINCIPLES v2 \u2014 cards with header imagery (sport / research / field).
   Preserved v1 above. To revert: render <HRefined_Principles_v1 /> in root.
   ===================================================================== */
const HRefined_Principles = () => {
  const items = [
  {
    tag: "FROM SPORT",
    t: "Elite Performance Environments",
    c: "RING-TESTED METHOD",
    img: "assets/photos/sport-bw.jpg",
    imgAlt: "Athletes mid-action \u2014 composite of training and competition",
    theme: "violet",
    accent: "#7C3AED",
    b: "In boxing, a fighter's performance in the ring is the direct product of how the fight camp was designed \u2014 preparation cycles, recovery discipline, identity stability, composure under consequence. The same architecture applies to senior delivery work. PSL adapts the principles that produce repeatable performance in elite sport for environments where the contest is corporate and the pressure is sustained."
  },
  {
    tag: "FROM RESEARCH",
    t: "High-Performing Teams Research",
    c: "MCKINSEY \u00b7 PROJECT ARISTOTLE",
    img: "assets/photos/research-analyst.jpg",
    imgAlt: "Analyst reflected in screen \u2014 data over the eye",
    theme: "mint",
    accent: "#0F766E",
    b: "McKinsey's work on organisational health and Google's Project Aristotle on team effectiveness independently point to the same conclusion: sustained team performance is a property of the operating system, not of individual talent."
  },
  {
    tag: "FROM THE FIELD",
    t: "Real Delivery Experience",
    c: "10+ YEARS",
    img: "assets/photos/field-engineer.jpg",
    imgAlt: "Engineer at a multi-screen delivery workstation",
    theme: "blue",
    accent: "#1F4DD8",
    b: "Grounded in over a decade of leading complex delivery programmes across financial services, global retail, and enterprise technology. Whether the team runs Agile, waterfall, or hybrid, the pattern of where performance breaks down is consistent \u2014 and structurally addressable."
  }];

  return (
    <section className="hr-principles" style={{ backgroundColor: undefined }}>
      <div className="container">
        <div className="hr-principles-head">
          <span className="eyebrow eyebrow-blue">BUILT ON PROVEN PERFORMANCE PRINCIPLES</span>
          <h2 className="hr-principles-h">Drawn from sport. <span className="hr-h-accent" style={{ fontWeight: 700 }}>Validated by research. Proven in delivery.</span></h2>
          <p className="hr-principles-sub">
            The PSL Performance System is not a theoretical model. It draws on three sources that have each been pressure-tested independently — and converge on the same structural conclusions about how performance is produced under sustained load.
          </p>
        </div>
        <div className="hr-principles-grid">
          {items.map((p) =>
          <article key={p.t} style={{
            background: '#FFFFFF',
            border: '1px solid rgba(13,0,66,0.08)',
            borderRadius: 16,
            overflow: 'hidden',
            fontFamily: 'Mona Sans, sans-serif',
            display: 'flex',
            flexDirection: 'column'
          }}>
              {/* Image header */}
              <div style={{
              position: 'relative',
              width: '100%',
              aspectRatio: '16 / 10',
              overflow: 'hidden',
              background: '#1A1635'
            }}>
                <img
                src={p.img}
                alt={p.imgAlt}
                loading="lazy"
                decoding="async"
                style={{
                  width: '100%',
                  height: '100%',
                  objectFit: 'cover',
                  display: 'block',
                  filter: 'grayscale(100%) contrast(1.02)'
                }} />

                <div style={{
                position: 'absolute',
                top: 0, left: 0, right: 0, bottom: 0,
                background: `linear-gradient(180deg, transparent 50%, rgba(13,0,66,0.45) 100%)`
              }} aria-hidden />
                <span style={{
                position: 'absolute',
                top: 18,
                left: 22,
                fontSize: 10,
                fontWeight: 700,
                letterSpacing: '0.22em',
                color: '#fff',
                background: 'rgba(13,0,66,0.6)',
                backdropFilter: 'blur(4px)',
                padding: '6px 10px',
                borderRadius: 4
              }}>{p.tag}</span>
              </div>
              {/* Body */}
              <div style={{ padding: '28px 28px 32px', display: 'flex', flexDirection: 'column', flex: 1 }}>
                <div style={{
                width: 36,
                height: 2,
                background: p.accent,
                marginBottom: 18
              }} aria-hidden />
                <h3 style={{
                margin: 0,
                fontSize: 22,
                fontWeight: 600,
                lineHeight: 1.22,
                color: '#0D0042',
                letterSpacing: '-0.012em',
                textWrap: 'balance'
              }}>
                  {p.t}
                </h3>
                <p style={{
                margin: '14px 0 18px',
                fontSize: 15,
                lineHeight: 1.65,
                color: 'rgba(13,0,66,0.7)',
                flex: 1
              }}>
                  {p.b}
                </p>
                <div style={{
                fontSize: 10,
                fontWeight: 700,
                letterSpacing: '0.18em',
                color: p.accent,
                paddingTop: 14,
                borderTop: '1px solid rgba(13,0,66,0.10)'
              }}>
                  {p.c}
                </div>
              </div>
            </article>
          )}
        </div>
      </div>
    </section>);

};

/* =====================================================================
   INSIGHTS v4 \u2014 featured card with editorial hero image
   To revert: render <HRefined_Insights_v3 /> (or earlier) in root.
   ===================================================================== */
const HRefined_Insights = () =>
<section className="hr-insights-section" style={{
  padding: '96px 0 104px',
  background: '#F6F8FB',
  fontFamily: 'Mona Sans, sans-serif'
}}>
    <div className="container">
      <div style={{
      display: 'flex',
      alignItems: 'flex-end',
      justifyContent: 'space-between',
      marginBottom: 40,
      gap: 40,
      flexWrap: 'wrap'
    }}>
        <div style={{ maxWidth: 620 }}>
          <span className="eyebrow eyebrow-blue">FROM THE LAB</span>
          <h2 style={{
          fontSize: 32,
          lineHeight: 1.12,
          letterSpacing: '-0.02em',
          margin: '12px 0 0',
          fontWeight: 600,
          color: '#0D0042',
          textWrap: 'balance'
        }}>
            Recent thinking on performance under pressure.
          </h2>
        </div>
        <a href="insights.html" style={{
        color: '#1F4DD8',
        fontSize: 14,
        fontWeight: 600,
        textDecoration: 'none',
        display: 'inline-flex',
        alignItems: 'center',
        gap: 8
      }}>
          Visit the Insights Hub <HArrow />
        </a>
      </div>

      {/* Featured article \u2014 hero image left, editorial content right */}
      <a href="insights.html" className="hr-insights-card" style={{
      background: '#FFFCF5',
      border: '1px solid rgba(13,0,66,0.10)',
      borderRadius: 18,
      textDecoration: 'none',
      color: 'inherit',
      overflow: 'hidden',
      transition: 'border-color 0.2s ease, box-shadow 0.2s ease'
    }}
    onMouseEnter={(e) => {e.currentTarget.style.borderColor = 'rgba(31,77,216,0.5)';e.currentTarget.style.boxShadow = '0 14px 40px rgba(13,0,66,0.08)';}}
    onMouseLeave={(e) => {e.currentTarget.style.borderColor = 'rgba(13,0,66,0.10)';e.currentTarget.style.boxShadow = 'none';}}>
        {/* Image */}
        <div style={{ position: 'relative', minHeight: 360, background: '#1A1635' }}>
          <img
          src="assets/photos/exec-silhouette.jpg"
          alt="Executive at the boardroom window"
          loading="lazy"
          decoding="async"
          style={{
            position: 'absolute',
            inset: 0,
            width: '100%',
            height: '100%',
            objectFit: 'cover',
            display: 'block',
            filter: 'grayscale(35%)'
          }} />

          <div style={{
          position: 'absolute',
          inset: 0,
          background: 'linear-gradient(135deg, rgba(13,0,66,0.30) 0%, transparent 50%, rgba(13,0,66,0.10) 100%)'
        }} aria-hidden />
        </div>
        {/* Content */}
        <div style={{ padding: '48px 48px 44px', display: 'flex', flexDirection: 'column', justifyContent: 'center' }}>
          <div style={{ display: 'flex', alignItems: 'center', gap: 12, marginBottom: 20 }}>
            <span style={{ fontSize: 11, fontWeight: 700, letterSpacing: '0.18em', color: '#1F4DD8' }}>SUSTAINABLE CAPACITY</span>
            <span style={{ width: 4, height: 4, borderRadius: '50%', background: 'rgba(13,0,66,0.3)' }} />
            <span style={{ fontSize: 11, fontWeight: 600, letterSpacing: '0.14em', color: 'rgba(13,0,66,0.45)' }}>LATEST</span>
          </div>
          <h3 style={{
          margin: 0,
          fontSize: 32,
          fontWeight: 600,
          lineHeight: 1.14,
          letterSpacing: '-0.022em',
          color: '#0D0042',
          textWrap: 'balance'
        }}>
            Recovery Is Inevitable.<br />The Only Question Is Whether It Is Planned.
          </h3>
          <p style={{
          margin: '20px 0 28px',
          fontSize: 16,
          lineHeight: 1.65,
          color: 'rgba(13,0,66,0.7)',
          maxWidth: 540
        }}>
            How sustained-pressure delivery environments turn refused recovery into unplanned absence — and what to do about it.
          </p>
          <div style={{
          display: 'flex',
          alignItems: 'center',
          justifyContent: 'space-between',
          gap: 24,
          paddingTop: 22,
          borderTop: '1px solid rgba(13,0,66,0.10)',
          flexWrap: 'wrap'
        }}>
            <div style={{ display: 'flex', alignItems: 'center', gap: 28, fontSize: 13, color: 'rgba(13,0,66,0.6)' }}>
              <span><span style={{ fontWeight: 700, color: '#0D0042' }}>Published</span> &nbsp;5th May 2026</span>
              <span><span style={{ fontWeight: 700, color: '#0D0042' }}>Read</span> &nbsp;9 minutes</span>
            </div>
            <span style={{
            display: 'inline-flex',
            alignItems: 'center',
            gap: 8,
            color: '#1F4DD8',
            fontSize: 14,
            fontWeight: 600
          }}>
              Read article <HArrow />
            </span>
          </div>
        </div>
      </a>

      <div style={{
      marginTop: 22,
      fontSize: 13,
      color: 'rgba(13,0,66,0.5)',
      display: 'flex',
      alignItems: 'center',
      gap: 10
    }}>
        <span style={{ width: 6, height: 6, borderRadius: '50%', background: '#1F4DD8', opacity: 0.6 }} aria-hidden />
        More pieces are in development. The library expands as the methodology research progresses.
      </div>
    </div>
  </section>;


/* =====================================================================
   CASE STUDY v5 \u2014 same structure as v4, cool brand palette.
   Sits in the page's white/cool gradient family. Accent colors use brand
   pink/blue/teal. To revert: render <HRefined_CaseStudy_v4 /> in root.
   ===================================================================== */
const HRefined_CaseStudy = () => {
  const stats = [
  { n: "On time", l: "Committed delivery date", d: "Landed on the date originally committed." },
  { n: "Full scope", l: "Nothing cut to meet the date", d: "Original outcomes delivered end to end." },
  { n: "0", l: "P1 escalations", d: "Resolved structurally, not reactively." },
  { n: "0", l: "Rollbacks", d: "Cutovers proceeded without reverting changes." }];

  const rows = [
  {
    label: "CHALLENGE",
    accent: "#F472B6",
    title: "A workstream slipping under pressure.",
    body: "A critical workstream slipping inside an enterprise cloud migration. The people were capable; the dependency map was tangled, ownership was unclear, and the operating rhythm was reactive."
  },
  {
    label: "RESPONSE",
    accent: "#1F4DD8",
    title: "Rebuilt the structure underneath.",
    body: "Restructured the delivery teams. Redesigned the dependency map. Installed a deliberate operating cadence \u2014 daily flow, weekly architecture, monthly performance."
  },
  {
    label: "OUTCOME",
    accent: "#14B89A",
    title: "Delivered as a clean line.",
    body: "Landed on the date originally committed. No senior escalations. Minimal downstream impact. The change in operating rhythm held after the engagement closed."
  }];

  return (
    <section className="hr-cs" style={{
      padding: '88px 0 88px',
      background: 'linear-gradient(180deg, #FFFFFF 0%, #F7F9FD 60%, #EEF2F8 100%)',
      color: '#0D0042',
      fontFamily: 'Mona Sans, sans-serif',
      position: 'relative',
      overflow: 'hidden'
    }}>
      <div className="container" style={{ position: 'relative' }}>
        {/* Top: eyebrow + headline + lift */}
        <div style={{ maxWidth: 920, marginBottom: 40 }}>
          <span style={{
            display: 'inline-block',
            fontSize: 11,
            fontWeight: 700,
            letterSpacing: '0.22em',
            color: '#1F4DD8',
            marginBottom: 18
          }}>
            CASE STUDY IN FOCUS
          </span>
          <h2 style={{
            fontSize: 48,
            lineHeight: 1.04,
            letterSpacing: '-0.026em',
            margin: '0 0 22px',
            fontWeight: 600,
            color: '#0D0042',
            textWrap: 'balance'
          }}>
            A critical cloud migration. <span style={{ color: '#14B89A' }}>Delivered as a clean line.</span>
          </h2>
          <p style={{
            fontSize: 17,
            lineHeight: 1.65,
            color: 'rgba(13,0,66,0.7)',
            margin: 0,
            maxWidth: 640
          }}>
            An enterprise cloud migration where a critical workstream was at risk. The constraint was structural — not capability.
          </p>
        </div>

        {/* Before / After visual */}
        <div className="hr-cs-chart" style={{
          background: '#FFFFFF',
          border: '1px solid rgba(13,0,66,0.08)',
          borderRadius: 18,
          padding: '32px 36px 24px',
          marginBottom: 40,
          boxShadow: '0 1px 0 rgba(13,0,66,0.02)'
        }}>
          <div className="hr-cs-bf-labels" style={{ marginBottom: 8 }}>
            <span style={{
              fontSize: 10,
              fontWeight: 600,
              letterSpacing: '0.2em',
              color: '#F472B6'
            }}>BEFORE · REACTIVE</span>
            <span style={{
              fontSize: 10,
              fontWeight: 600,
              letterSpacing: '0.2em',
              color: '#14B89A',
              textAlign: 'right'
            }}>AFTER · ON A CLEAN LINE</span>
          </div>
          <svg viewBox="0 0 1000 240" width="100%" height="240" preserveAspectRatio="xMidYMid meet" style={{ display: 'block' }}>
            {[60, 110, 160].map((y, i) =>
            <line key={i} x1="20" x2="980" y1={y} y2={y} stroke="rgba(13,0,66,0.05)" strokeDasharray="2 5" />
            )}
            <line x1="20" x2="980" y1="200" y2="200" stroke="rgba(13,0,66,0.15)" strokeWidth="1" />
            {/* Left half: chaotic line */}
            <path
              d="M 30 170 L 70 100 L 110 175 L 150 70 L 195 185 L 240 90 L 285 170 L 330 100 L 370 180 L 410 120 L 460 175"
              stroke="#F472B6"
              strokeWidth="2.5"
              fill="none"
              strokeLinecap="round"
              strokeLinejoin="round"
              opacity="0.85" />

            {[
            { cx: 110, cy: 175 },
            { cx: 195, cy: 185 },
            { cx: 285, cy: 170 },
            { cx: 370, cy: 180 }].
            map((p, i) =>
            <g key={i} stroke="#F472B6" strokeWidth="2.4" strokeLinecap="round" opacity="0.95">
                <line x1={p.cx - 5} y1={p.cy - 5} x2={p.cx + 5} y2={p.cy + 5} />
                <line x1={p.cx - 5} y1={p.cy + 5} x2={p.cx + 5} y2={p.cy - 5} />
              </g>
            )}

            {/* Middle: PSL Engagement marker */}
            <line x1="500" y1="20" x2="500" y2="210" stroke="#0D0042" strokeWidth="1.5" strokeDasharray="4 4" opacity="0.45" />
            <g transform="translate(500, 20)">
              <rect x="-66" y="-4" width="132" height="22" rx="11" fill="#0D0042" />
              <text x="0" y="11" textAnchor="middle" fontFamily="Mona Sans, sans-serif" fontSize="10" fontWeight="700" letterSpacing="0.16em" fill="#fff">PSL ENGAGEMENT</text>
            </g>

            {/* Right half: clean ascending line */}
            <path
              d="M 500 165 Q 600 150 700 120 T 950 60"
              stroke="#14B89A"
              strokeWidth="3.5"
              fill="none"
              strokeLinecap="round" />

            <circle cx="950" cy="60" r="8" fill="#14B89A" />
            <circle cx="950" cy="60" r="16" fill="none" stroke="#14B89A" strokeWidth="1.5" opacity="0.35" />
            <circle cx="950" cy="60" r="24" fill="none" stroke="#14B89A" strokeWidth="1" opacity="0.18" />

            <text x="20" y="228" fontFamily="Mona Sans, sans-serif" fontSize="10" fontWeight="600" letterSpacing="0.16em" fill="rgba(13,0,66,0.4)">DELIVERY OVER TIME</text>
            <text x="980" y="228" textAnchor="end" fontFamily="Mona Sans, sans-serif" fontSize="10" fontWeight="600" letterSpacing="0.16em" fill="rgba(13,0,66,0.4)">ON-DATE DELIVERY</text>
          </svg>

          {/* Legend */}
          <div style={{
            display: 'flex',
            gap: 28,
            marginTop: 14,
            paddingTop: 16,
            borderTop: '1px solid rgba(13,0,66,0.08)',
            flexWrap: 'wrap'
          }}>
            <div style={{ display: 'flex', alignItems: 'center', gap: 8, fontSize: 12, color: 'rgba(13,0,66,0.7)' }}>
              <span style={{ width: 22, height: 2, background: '#F472B6', borderRadius: 1, display: 'inline-block' }} />
              Reactive delivery, escalation-driven
            </div>
            <div style={{ display: 'flex', alignItems: 'center', gap: 8, fontSize: 12, color: 'rgba(13,0,66,0.7)' }}>
              <span style={{ width: 22, height: 3, background: '#14B89A', borderRadius: 1.5, display: 'inline-block' }} />
              Structured delivery after engagement
            </div>
          </div>
        </div>

        {/* Stats row */}
        <div className="hr-cs-stats" style={{
          borderTop: '1px solid rgba(13,0,66,0.15)',
          borderBottom: '1px solid rgba(13,0,66,0.15)',
          marginBottom: 40,
          background: '#FFFFFF'
        }}>
          {stats.map((s, i) =>
          <div key={i} className="hr-cs-stat" style={{
            padding: '28px 24px 26px',
            borderRight: i < 3 ? '1px solid rgba(13,0,66,0.10)' : 'none'
          }}>
              <div className="hr-cs-stat-n" style={{
              fontWeight: 600,
              letterSpacing: '-0.025em',
              lineHeight: 1.05,
              color: '#0D0042',
              marginBottom: 14,
              fontVariantNumeric: 'tabular-nums'
            }}>
                {s.n}
              </div>
              <div style={{
              fontSize: 14,
              fontWeight: 700,
              color: '#0D0042',
              letterSpacing: '-0.005em',
              marginBottom: 6
            }}>
                {s.l}
              </div>
              <div style={{
              fontSize: 13,
              lineHeight: 1.5,
              color: 'rgba(13,0,66,0.6)'
            }}>
                {s.d}
              </div>
            </div>
          )}
        </div>

        {/* Client quote — punctuates proof moment between stats and narrative */}
        <figure className="hr-cs-quote" style={{
          margin: '0 0 48px',
          padding: '38px 44px 36px',
          background: '#FFFFFF',
          border: '1px solid rgba(13,0,66,0.08)',
          borderRadius: 18,
          position: 'relative',
          maxWidth: 880
        }}>
          <div style={{
            position: 'absolute',
            top: 22,
            left: 28,
            fontFamily: 'Mona Sans, sans-serif',
            fontSize: 84,
            lineHeight: 0.7,
            fontWeight: 600,
            color: '#1F4DD8',
            opacity: 0.14,
            userSelect: 'none',
            pointerEvents: 'none'
          }} aria-hidden>“</div>
          <blockquote style={{
            margin: 0,
            padding: 0,
            fontFamily: 'Mona Sans, sans-serif',
            fontSize: 22,
            lineHeight: 1.45,
            fontWeight: 500,
            color: '#0D0042',
            letterSpacing: '-0.012em',
            textWrap: 'balance'
          }}>
            “PSL didn’t just resolve the workstream — they rebuilt the operating rhythm underneath it. The change held after they left, which is the part most consultancies don’t deliver.”
          </blockquote>
          <figcaption style={{
            marginTop: 22,
            fontFamily: 'Mona Sans, sans-serif',
            fontSize: 13,
            color: 'rgba(13,0,66,0.6)',
            display: 'flex',
            alignItems: 'center',
            gap: 10
          }}>
            <span style={{ width: 24, height: 1, background: 'rgba(13,0,66,0.3)', display: 'inline-block' }} />
            Programme Manager, FTSE-listed retailer
          </figcaption>
        </figure>

        {/* Narrative: 3 columns */}
        <div className="hr-cs-narrative">
          {rows.map((row, i) =>
          <div key={i} style={{ position: 'relative' }}>
              <div style={{
              width: 36,
              height: 2,
              background: row.accent,
              marginBottom: 18
            }} aria-hidden />
              <div style={{
              fontSize: 11,
              fontWeight: 700,
              letterSpacing: '0.22em',
              color: row.accent,
              marginBottom: 14
            }}>
                {row.label}
              </div>
              <h3 style={{
              margin: 0,
              fontSize: 22,
              fontWeight: 600,
              lineHeight: 1.25,
              color: '#0D0042',
              letterSpacing: '-0.012em',
              textWrap: 'balance'
            }}>
                {row.title}
              </h3>
              <p style={{
              margin: '14px 0 0',
              fontSize: 15,
              lineHeight: 1.65,
              color: 'rgba(13,0,66,0.72)'
            }}>
                {row.body}
              </p>
            </div>
          )}
        </div>
      </div>
    </section>);

};

/* =====================================================================
   ROOT
   ===================================================================== */
const HomeRefined = () =>
<div className="psl-page hr-root" data-screen-label="Home (refined)">
    <PSLNav theme="light" active="" overlay />
    <HRefined_Hero />
    <HRefined_Stats />
    <HRefined_BreaksDown />
    <HRefined_System />
    <HRefined_Principles />
    <HRefined_Routing />
    <HRefined_CaseStudy />
    <HRefined_Insights />
    <HRefined_FAQ />
    <PSLFooter />
  </div>;


Object.assign(window, {
  HomeRefined,
  // Expose internal sections so HomeMinimal (separate Babel scope) can reuse them.
  HRefined_Hero, HRefined_Stats, HRefined_BreaksDown, HRefined_System,
  HRefined_Principles, HRefined_Routing, HRefined_CaseStudy,
  HRefined_Insights, HRefined_FAQ
});