.research-page .programme-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:28px;align-items:center;margin:16px 0 54px;padding:clamp(24px,4vw,54px);border:1px solid var(--line);border-radius:28px;background:radial-gradient(circle at 80% 25%,rgba(64,190,210,.13),transparent 40%),linear-gradient(135deg,var(--surface),var(--panel-solid));box-shadow:var(--shadow);overflow:hidden}
.programme-hero h2{font-size:clamp(2rem,4vw,3.7rem);line-height:1.08;max-width:14ch;margin:.5rem 0 1rem;color:var(--heading)}
.programme-hero p{max-width:62ch;line-height:1.7}
.programme-hero .programme-kicker{color:var(--cyan);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;font-weight:750}
.programme-hero .programme-status{display:inline-flex;align-items:center;gap:.6rem;margin:1.1rem 0;padding:.55rem .8rem;border:1px solid var(--line);border-radius:99px;font-size:.82rem;font-weight:750}
.programme-status::before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:#45d9ac;box-shadow:0 0 13px #45d9ac}
.programme-hero .research-boundary{border-left:2px solid #45d9ac;padding-left:1rem;font-size:.92rem}
.programme-visual{position:relative;min-height:330px;display:grid;place-items:center}
.programme-visual img{display:block;width:min(100%,510px);height:auto;filter:drop-shadow(0 0 30px rgba(46,184,216,.12))}
.programme-visual figcaption{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:.75rem;opacity:.7}
.research-page .programme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.research-page .programme-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.programme-tile{padding:23px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.programme-tile h3{margin:.25rem 0 .65rem;color:var(--heading);font-size:1.12rem}
.programme-tile p{margin:0;line-height:1.6}
.programme-tile .type-code{font-size:.75rem;letter-spacing:.15em;color:var(--cyan);font-weight:800}
.research-page .programme-note{padding:18px 22px;border-left:3px solid #45d9ac;border-radius:0 12px 12px 0;background:var(--surface);line-height:1.65}
.research-page .programme-jump{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 6px}
.programme-jump a,.programme-link{display:inline-block;padding:9px 14px;border:1px solid var(--line);border-radius:999px;color:var(--heading);text-decoration:none;font-size:.85rem}
.programme-jump a:hover,.programme-link:hover{border-color:var(--cyan);color:var(--cyan)}
.research-page .publication-feature{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:24px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(120deg,var(--surface),var(--panel-solid));margin-bottom:16px}
.publication-feature h3{margin:.45rem 0;color:var(--heading)}
.publication-feature p{margin:.5rem 0;max-width:75ch}
.publication-feature .pill{white-space:nowrap}
.research-page .domain-list{display:flex;flex-wrap:wrap;gap:10px}
.domain-list span{padding:11px 15px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
@media(max-width:900px){.research-page .programme-hero{grid-template-columns:1fr}.research-page .programme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.programme-visual{min-height:250px}}
@media(max-width:620px){.research-page .programme-grid,.research-page .programme-grid.two,.research-page .publication-feature{grid-template-columns:1fr}.programme-hero h2{max-width:none}.programme-visual{min-height:220px}}
@media(prefers-reduced-motion:reduce){.programme-visual img{animation:none!important}}
