/* programmes.css — Research Intake, VRC, Research Support */
.prog-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.prog-card { border: 1.5px solid var(--border); border-radius: var(--r-lg); padding: 22px; background: var(--white); position: relative; overflow: hidden; transition: .15s; cursor: pointer; }
.prog-card:hover { border-color: var(--blue-border); box-shadow: var(--shadow); }
.prog-card.featured { border-color: var(--blue-d); background: var(--blue-d); }
.prog-accent { position: absolute; top: 0; right: 0; width: 70px; height: 70px; border-radius: 0 var(--r-lg) 0 70px; opacity: .12; background: var(--blue-l); }
.prog-tag  { font-size: 10px; font-weight: 800; color: var(--blue); letter-spacing: .6px; font-family: var(--ff-h); margin-bottom: 10px; text-transform: uppercase; }
.prog-card.featured .prog-tag { color: rgba(255,255,255,.7); }
.prog-name { font-family: var(--ff-h); font-size: 16px; font-weight: 800; color: var(--blue-d); margin-bottom: 8px; line-height: 1.2; }
.prog-card.featured .prog-name { color: var(--white); }
.prog-desc { font-size: 13px; color: var(--muted); line-height: 1.6; margin-bottom: 14px; }
.prog-card.featured .prog-desc { color: rgba(255,255,255,.6); }
.prog-pills { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.prog-pill { font-size: 10.5px; padding: 3px 10px; border-radius: 20px; background: var(--off-white); color: var(--muted); font-weight: 500; }
.prog-card.featured .prog-pill { background: rgba(255,255,255,.1); color: rgba(255,255,255,.72); }
.prog-price { font-family: var(--ff-h); font-size: 20px; font-weight: 800; color: var(--blue-d); margin-bottom: 3px; }
.prog-card.featured .prog-price { color: var(--white); }
.prog-psub { font-size: 10.5px; color: var(--light); }
.prog-card.featured .prog-psub { color: rgba(255,255,255,.45); }
.prog-cta { font-size: 13px; font-weight: 700; color: var(--blue); font-family: var(--ff-h); cursor: pointer; display: inline-flex; align-items: center; gap: 4px; }
.prog-card.featured .prog-cta { color: rgba(255,255,255,.8); }
/* Phase flow */
.phase-flow { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; margin-bottom: 32px; border: 1.5px solid var(--border); border-radius: var(--r-lg); overflow: hidden; }
.phase { padding: 22px 16px; text-align: center; border-right: 1px solid var(--border); }
.phase:last-child { border-right: none; }
.phase-n     { font-family: var(--ff-h); font-size: 32px; font-weight: 900; margin-bottom: 8px; }
.phase-label { font-family: var(--ff-h); font-size: 13px; font-weight: 700; margin-bottom: 6px; }
.phase-sub   { font-size: 12px; color: var(--muted); line-height: 1.5; }
.phase.p1 { background: var(--blue-d); } .phase.p1 .phase-n, .phase.p1 .phase-label { color: var(--white); } .phase.p1 .phase-sub { color: rgba(255,255,255,.55); }
.phase.p2 { background: var(--blue-pale); } .phase.p2 .phase-n { color: var(--blue); } .phase.p2 .phase-label { color: var(--blue-d); }
.phase.p3 { background: var(--off-white); } .phase.p3 .phase-n { color: var(--blue-mid); } .phase.p3 .phase-label { color: var(--blue-d); }
.phase.p4 { background: var(--blue-xl); } .phase.p4 .phase-n { color: rgba(255,255,255,.8); } .phase.p4 .phase-label { color: var(--white); } .phase.p4 .phase-sub { color: rgba(255,255,255,.5); }
@media (max-width: 640px) { .phase-flow { grid-template-columns: repeat(2,1fr); } .phase { border-bottom: 1px solid var(--border); } .prog-grid { grid-template-columns: 1fr; } }
/* Curriculum table */
.curriculum-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.curriculum-table th { background: var(--blue-d); color: var(--white); padding: 11px 14px; text-align: left; font-family: var(--ff-h); font-size: 12px; font-weight: 700; }
.curriculum-table td { padding: 10px 14px; border-bottom: 1px solid var(--border); color: var(--text); }
.curriculum-table tr:nth-child(even) td { background: var(--off-white); }
.curriculum-table tr:last-child td { background: var(--blue-xl); color: var(--white); font-weight: 700; font-family: var(--ff-h); }
/* Pricing */
.price-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; margin-bottom: 28px; }
.price-box  { border: 2px solid var(--blue); border-radius: var(--r-lg); padding: 28px; text-align: center; background: var(--white); }
.price-box.featured { border-color: var(--blue-d); background: var(--blue-pale); }
.price-label { font-size: 11px; font-weight: 700; color: var(--muted); letter-spacing: .8px; text-transform: uppercase; font-family: var(--ff-h); margin-bottom: 10px; }
.price-amt   { font-family: var(--ff-h); font-size: 36px; font-weight: 900; color: var(--blue-d); margin-bottom: 4px; }
.price-gst   { font-size: 12px; color: var(--muted); margin-bottom: 16px; }
/* RI Tabs */
.ri-tab-btn { flex: 1; padding: 13px 20px; border: none; cursor: pointer; font-family: var(--ff-h); font-size: 13.5px; font-weight: 700; background: rgba(255,255,255,.1); color: rgba(255,255,255,.55); transition: .15s; }
.ri-tab-btn.active { background: var(--white); color: var(--blue-d); }
/* VRC */
.services-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.svc-card  { border: 1.5px solid var(--border); border-radius: var(--r-lg); padding: 18px; background: var(--white); }
.svc-freq  { font-size: 11px; font-weight: 700; color: var(--blue); font-family: var(--ff-h); letter-spacing: .3px; margin-bottom: 8px; }
.svc-name  { font-family: var(--ff-h); font-size: 14px; font-weight: 700; color: var(--blue-d); margin-bottom: 7px; }
.svc-desc  { font-size: 12.5px; color: var(--muted); line-height: 1.6; }
.mem-grid  { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.mem-card  { border: 1.5px solid var(--border); border-radius: var(--r-lg); padding: 18px; background: var(--white); text-align: center; }
.mem-tier  { font-family: var(--ff-h); font-size: 13px; font-weight: 800; color: var(--blue-d); margin-bottom: 8px; }
.mem-price { font-family: var(--ff-h); font-size: 20px; font-weight: 900; color: var(--blue); margin-bottom: 8px; }
.mem-who   { font-size: 12px; color: var(--muted); margin-bottom: 10px; line-height: 1.4; }
.mem-features { font-size: 11.5px; color: var(--muted); line-height: 1.6; text-align: left; }
@media (max-width: 640px) { .services-grid { grid-template-columns: 1fr; } .mem-grid { grid-template-columns: repeat(2,1fr); } }
