/* Additive styles for the GRiT Academy × NexCurve collaboration. */
.public-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.programme-hero .public-actions .button { margin-top:12px; }
.public-secondary { border:1px solid rgba(255,255,255,.65); color:var(--white); }
.public-secondary:hover { background:rgba(255,255,255,.08); }
.public-programmes-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.public-programme-card { padding:30px; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); display:flex; flex-direction:column; }
.public-programme-card .eyebrow { font-size:.72rem; letter-spacing:.12em; line-height:1.6; }
.public-programme-card h3 { font-size:1.65rem; line-height:1.2; margin:0 0 16px; }
.public-programme-card h3::after { content:""; display:block; width:44px; height:3px; background:var(--orange-bright); margin-top:18px; }
.public-programme-card p { color:var(--muted); }
.public-programme-card .public-duration { color:var(--charcoal); font-weight:700; }
.public-card-links { margin-top:auto; padding-top:16px; display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.public-card-links a { text-decoration:underline; text-underline-offset:4px; }
.public-card-links .text-link { color:#925814; }
.public-card-links a:last-child { font-size:.95rem; }
.public-actions a:focus-visible,.public-card-links a:focus-visible { outline:3px solid var(--orange-bright); outline-offset:5px; }
#joint-programmes { scroll-margin-top:110px; }
@media(max-width:700px) { .public-programmes-grid { grid-template-columns:1fr; } .public-programme-card { padding:24px; } .public-actions { align-items:stretch; flex-direction:column; } }

.programme-hero .public-collaboration-image img { height:auto; aspect-ratio:3 / 2; object-fit:contain; }
