
.programme-diagram-band{padding:42px 0 0;background:linear-gradient(180deg,#0a0a0b 0%,#0f0f12 100%);color:#fff}
.programme-diagram-shell{max-width:1320px;margin:0 auto;padding:0 36px 24px}
.programme-diagram-intro{max-width:760px;margin:0 0 28px}
.programme-diagram-intro .eyebrow{margin-bottom:12px;color:rgba(255,255,255,.68)}
.programme-diagram-intro h2{margin:0 0 14px;font-size:clamp(32px,4vw,56px);line-height:.98;letter-spacing:-.04em}
.programme-diagram-intro p{margin:0;color:rgba(255,255,255,.66);font-size:16px;line-height:1.75}
.programme-diagram-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;align-items:stretch}
.programme-diagram-card{position:relative;padding:28px;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.1);box-shadow:0 28px 60px rgba(0,0,0,.25);overflow:hidden}
.programme-diagram-card::before{content:"";position:absolute;inset:auto -20% 0 auto;width:240px;height:240px;background:radial-gradient(circle,rgba(213,31,50,.18),transparent 68%);pointer-events:none}
.programme-diagram-card__head{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.programme-diagram-card__head>span{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#d51f32;color:#fff;font-weight:800;letter-spacing:.04em;flex:0 0 auto}
.programme-diagram-card__head .eyebrow{margin:0 0 4px;color:rgba(255,255,255,.52);font-size:11px;letter-spacing:.16em}
.programme-diagram-card__head h3{margin:0;font-size:28px;line-height:1.08;letter-spacing:-.04em;color:#fff}
.programme-flow-rail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;position:relative}
.programme-flow-rail::before{content:"";position:absolute;left:6%;right:6%;top:26px;height:2px;background:linear-gradient(90deg,rgba(213,31,50,.45),rgba(255,255,255,.18));z-index:0}
.programme-flow-step{position:relative;z-index:1;padding-top:56px}
.programme-flow-step::before{content:"";position:absolute;top:13px;left:0;width:28px;height:28px;border-radius:50%;background:#0e0e12;border:6px solid #d51f32;box-shadow:0 0 0 6px rgba(255,255,255,.04)}
.programme-flow-step b{display:block;margin:0 0 10px;font-size:18px;line-height:1.15;color:#fff}
.programme-flow-step small{display:block;font-size:13px;line-height:1.62;color:rgba(255,255,255,.66)}
.programme-cluster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.programme-cluster{position:relative;min-height:154px;padding:22px 20px 20px 20px;border-radius:22px;background:rgba(9,9,12,.82);border:1px solid rgba(213,31,50,.18)}
.programme-cluster::before{content:"";position:absolute;top:18px;right:18px;width:12px;height:12px;border-radius:50%;background:#d51f32;box-shadow:0 0 0 8px rgba(213,31,50,.12)}
.programme-cluster strong{display:block;max-width:18ch;margin-bottom:12px;font-size:20px;line-height:1.12;letter-spacing:-.03em;color:#fff}
.programme-cluster small{display:block;font-size:13px;line-height:1.7;color:rgba(255,255,255,.68)}
.programme-audience-diagram .story-body>p{margin-bottom:22px}
.audience-diagram-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:4px}
.audience-diagram-card{position:relative;padding:20px 18px 18px;border-radius:24px;background:#fff;border:1px solid rgba(11,22,42,.08);box-shadow:0 18px 40px rgba(12,18,28,.08);min-height:160px}
.audience-diagram-card span{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:999px;background:#101317;color:#fff;font-size:13px;font-weight:800;letter-spacing:.06em;margin-bottom:16px}
.audience-diagram-card strong{display:block;margin-bottom:12px;font-size:22px;line-height:1.08;letter-spacing:-.035em;color:#101317}
.audience-diagram-card small{display:block;font-size:13px;line-height:1.68;color:rgba(16,19,23,.68)}
@media (max-width:1100px){.programme-diagram-grid{grid-template-columns:1fr}.programme-flow-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.programme-flow-rail::before{display:none}.audience-diagram-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.programme-diagram-shell{padding:0 20px 16px}.programme-diagram-intro h2{font-size:34px}.programme-diagram-card{padding:22px;border-radius:24px}.programme-diagram-card__head h3{font-size:24px}.programme-flow-rail,.programme-cluster-grid,.audience-diagram-grid{grid-template-columns:1fr}.programme-flow-step{padding-top:14px;padding-left:54px}.programme-flow-step::before{top:2px}.audience-diagram-card strong{font-size:20px}}
