/* Shared by planned/completed academy lists, scoped to these pages. */
.academy-page .academy-section { padding:34px 0 64px; }
.academy-page .academy-heading { max-width:780px; margin-bottom:28px; }
.academy-page .academy-eyebrow { display:block; color:#158dbb; font-size:14px; font-weight:600; margin-bottom:10px; }
.academy-page h1 { margin:0 0 14px; font-size:clamp(28px,3vw,40px); line-height:1.2; font-weight:650; letter-spacing:-.8px; color:#353550; }
.academy-page .academy-heading p { margin:0; font-size:16px; line-height:1.75; color:#68778b; }
.academy-page .academy-tabs { display:flex; gap:8px; flex-wrap:wrap; padding:6px; margin-bottom:30px; width:fit-content; max-width:100%; border:1px solid #e1e9ef; border-radius:15px; background:#fff; }
.academy-page .academy-tabs a { display:flex; align-items:center; gap:9px; padding:13px 20px; border-radius:10px; font-size:14px; font-weight:500; line-height:1.5; color:#526479; transition:background .2s,color .2s; }
.academy-page .academy-tabs a[aria-current] { background:#2198cc; color:#fff; }
.academy-page .academy-tabs a:not([aria-current]):hover { background:#eef7fb; color:#147da8; }
.academy-page .academy-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.academy-page .academy-card { min-width:0; border:1px solid #e3e9ef; border-radius:18px; overflow:hidden; background:#fff; box-shadow:0 5px 20px #214f6805; }
.academy-page .academy-card-link { display:flex; flex-direction:column; height:100%; color:inherit; }
.academy-page .academy-poster { display:grid; place-items:center; aspect-ratio:4/3; padding:14px; overflow:hidden; background:#edf3f7; }
.academy-page .academy-poster img { width:100%; height:100%; min-height:0; object-fit:contain; transition:transform .3s; }
.academy-page .academy-poster > i { font-size:56px; color:#2198cc; }
.academy-page .academy-card-link:hover .academy-poster img { transform:scale(1.025); }
.academy-page .academy-card-body { flex:1; display:flex; flex-direction:column; align-items:flex-start; padding:24px; }
.academy-page .academy-status { background:#edf7fb; color:#177ea9; border-radius:6px; padding:5px 9px; font-size:12px; font-weight:500; line-height:1.4; margin-bottom:14px; }
.academy-page .academy-card h2 { font-size:20px; line-height:1.5; margin:0 0 14px; color:#353550; font-weight:600; overflow-wrap:anywhere; }
.academy-page .academy-speaker { display:flex; align-items:baseline; gap:8px; font-size:14px; line-height:1.6; color:#6b7b8f; margin:0 0 24px; }
.academy-page .academy-details { margin-top:auto; padding-top:18px; border-top:1px solid #edf0f5; display:flex; justify-content:space-between; align-items:center; gap:12px; width:100%; font-size:14px; font-weight:500; color:#178ebd; }
.academy-page .academy-card-link:hover h2 { color:#168cbc; }
.academy-page .academy-empty { padding:54px 28px; border:1px solid #e2eaf0; border-radius:20px; background:#fff; text-align:center; }
.academy-page .academy-empty-icon { display:grid; place-items:center; width:68px; height:68px; border-radius:20px; background:#edf7fb; color:#2198cc; font-size:30px; margin:0 auto 24px; }
.academy-page .academy-empty h2 { font-size:25px; line-height:1.4; color:#353550; margin:0 0 12px; }
.academy-page .academy-empty p { max-width:540px; margin:0 auto 24px; color:#6b7b8f; font-size:15px; line-height:1.8; }
.academy-page .academy-empty a { display:inline-flex; align-items:center; gap:16px; color:#178ab9; font-size:15px; font-weight:500; }
.academy-page a:focus-visible { outline:3px solid #167fa9; outline-offset:4px; }
.academy-page .academy-card:focus-within { outline:3px solid #167fa9; outline-offset:3px; }
@media(max-width:991px) { .academy-page .academy-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; } }
@media(max-width:575px) {
 .academy-page .academy-section { padding:24px 0 40px; }
 .academy-page .academy-grid { grid-template-columns:1fr; gap:20px; }
 .academy-page .academy-tabs { display:grid; grid-template-columns:1fr 1fr; width:100%; gap:4px; }
 .academy-page .academy-tabs a { padding:11px 8px; font-size:13px; justify-content:center; text-align:center; }
 .academy-page .academy-tabs i { display:none; }
 .academy-page .academy-card-body { padding:22px; }
 .academy-page .academy-empty { padding:36px 22px; }
 .academy-page .academy-empty h2 { font-size:22px; }
}
@media(prefers-reduced-motion:reduce) { .academy-page .academy-poster img,.academy-page .academy-tabs a { transition:none; } .academy-page .academy-card-link:hover .academy-poster img { transform:none; } }
