/* Extras that the original site injected at runtime */
@keyframes tab-cursor {
  0% { opacity: 0; transform: translate(45px, 45px) scale(1); }
  30% { opacity: 1; transform: translate(0, 0) scale(1); }
  40% { transform: translate(0, 0) scale(1); }
  46% { transform: translate(0, 0) scale(0.85); }
  54% { transform: translate(0, 0) scale(1); }
  82% { opacity: 1; transform: translate(0, 0) scale(1); }
  100% { opacity: 0; transform: translate(0, 0) scale(1); }
}
@keyframes tab-ripple {
  0%, 44% { opacity: 0; transform: scale(0.2); }
  46% { opacity: 0.9; transform: scale(0.3); }
  75%, 100% { opacity: 0; transform: scale(1.6); }
}
@keyframes tab-dot {
  0%, 100% { opacity: 0.45; transform: scale(0.8); }
  50% { opacity: 1; transform: scale(1.25); }
}
[hidden] { display: none !important; }

/* Academics: "Academic rigour" section */
.rigour { display: grid; gap: 3rem; align-items: start; }
@media (min-width: 1024px) { .rigour { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 4.5rem; } .rigour-intro { position: sticky; top: 7rem; } }
.rigour-lead { margin-top: 1.25rem; font-size: 1.0625rem; line-height: 1.7; color: var(--academics-muted); max-width: 32rem; }
.rigour-produce { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--academics-border); }
.rigour-produce-label { font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--academics-muted); }
.rigour-chips { margin-top: .875rem; display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; }
.rigour-chips li { border-radius: 9999px; background: var(--academics-peach); color: var(--academics-orange); font-size: .875rem; font-weight: 600; padding: .45rem 1rem; }
.rigour-grid { display: grid; gap: 1.25rem; }
@media (min-width: 640px) { .rigour-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rigour-grid > div { height: 100%; }
.rigour-card { height: 100%; display: flex; flex-direction: column; border-radius: 1.5rem; border: 1px solid var(--academics-border); background: var(--academics-soft); padding: 1.75rem; transition: transform .3s var(--ease-reference, ease), border-color .3s, box-shadow .3s; }
.rigour-card:hover { transform: translateY(-3px); border-color: var(--academics-navy); box-shadow: 0 18px 40px -24px rgba(0, 56, 87, .35); }
.rigour-card-top { display: flex; align-items: center; justify-content: space-between; }
.rigour-icon-wrap { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 1rem; background: #fff; color: var(--academics-navy); border: 1px solid var(--academics-border); }
.rigour-icon { width: 1.375rem; height: 1.375rem; }
.rigour-num { font-family: var(--font-display); font-size: 1.125rem; font-weight: 700; color: var(--academics-orange); }
.rigour-card-title { margin-top: 1.25rem; font-size: 1.25rem; font-weight: 800; line-height: 1.3; color: var(--academics-navy); }
.rigour-card-text { margin-top: .625rem; font-size: .9375rem; line-height: 1.65; color: var(--academics-muted); }
.rigour-card--feature { background: var(--academics-navy); border-color: var(--academics-navy); }
.rigour-card--feature .rigour-icon-wrap { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.2); color: #fff; }
.rigour-card--feature .rigour-num { color: var(--academics-orange-soft); }
.rigour-card--feature .rigour-card-title { color: #fff; }
.rigour-card--feature .rigour-card-text { color: var(--academics-on-navy); }

/* Master's programs: "Learn more" beside the details toggle */
.detail-actions { display: flex; align-items: center; gap: .875rem; }
@media (min-width: 1024px) { .detail-actions { justify-content: flex-end; margin-top: 1rem; } }
.detail-more { font-size: .875rem; font-weight: 600; color: var(--color-accent, #ae5721); background: none; border: 0; padding: 0; cursor: pointer; text-underline-offset: 4px; }
.detail-more:hover { text-decoration: underline; }
