.section[data-astro-cid-cmnnbfj6]{padding:2.5rem 0}@media(min-width:640px){.section[data-astro-cid-cmnnbfj6]{padding:4.5rem 0}}.empty-state[data-astro-cid-cmnnbfj6]{text-align:center;padding:5rem 2rem;background:var(--color-surface);border:2px dashed var(--color-border);border-radius:var(--radius-2xl)}.empty-icon-svg[data-astro-cid-cmnnbfj6]{color:var(--color-slate-300);margin-bottom:1rem}.empty-title[data-astro-cid-cmnnbfj6]{font-size:1rem;font-weight:600;color:var(--color-slate-600);margin:0 0 .5rem}.empty-sub[data-astro-cid-cmnnbfj6]{font-size:.875rem;color:var(--color-text-faint);margin:0}.courses-grid[data-astro-cid-cmnnbfj6]{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:480px){.courses-grid[data-astro-cid-cmnnbfj6]{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}}.section-brand-light[data-astro-cid-cmnnbfj6]{background:linear-gradient(135deg,var(--color-brand-50),#e6faf8)}.section-past[data-astro-cid-cmnnbfj6]{background:var(--color-surface);border-top:1px solid var(--color-border-subtle)}.past-header[data-astro-cid-cmnnbfj6]{max-width:720px;margin:0 auto 3rem;text-align:center}.past-label[data-astro-cid-cmnnbfj6]{display:inline-block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-faint);margin-bottom:.75rem}.past-title[data-astro-cid-cmnnbfj6]{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;color:var(--color-text);letter-spacing:-.02em;margin:0 0 1rem}.past-desc[data-astro-cid-cmnnbfj6]{font-size:1rem;color:var(--color-text-muted);line-height:1.75;margin:0}.online-cta[data-astro-cid-cmnnbfj6]{display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem}@media(min-width:768px){.online-cta[data-astro-cid-cmnnbfj6]{flex-direction:row;align-items:center;justify-content:space-between;gap:2rem}}.online-title[data-astro-cid-cmnnbfj6]{font-size:1.75rem;font-weight:800;color:var(--color-text);margin:0 0 .5rem}.online-desc[data-astro-cid-cmnnbfj6]{font-size:1rem;color:var(--color-text-muted);margin:0;line-height:1.6}.btn[data-astro-cid-cmnnbfj6]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;border-radius:var(--radius-md);text-decoration:none;border:none;transition:all var(--transition-base);font-family:inherit;cursor:pointer}.btn-brand[data-astro-cid-cmnnbfj6]{background:linear-gradient(135deg,var(--color-brand-500),var(--color-brand-600));color:#fff}.btn-brand[data-astro-cid-cmnnbfj6]:hover{transform:translateY(-1px);box-shadow:var(--shadow-brand)}.btn-outline[data-astro-cid-cmnnbfj6]{background:#fff;border:1.5px solid var(--color-border);color:var(--color-text)}.btn-outline[data-astro-cid-cmnnbfj6]:hover{border-color:var(--color-brand-400);color:var(--color-brand-600)}.load-more-wrap[data-astro-cid-cmnnbfj6]{display:flex;justify-content:center;margin-top:2.5rem}.section-upcoming-intro[data-astro-cid-cmnnbfj6]{padding:2rem 0 0;background:#fff;border-bottom:1px solid var(--color-border-subtle)}.upcoming-intro[data-astro-cid-cmnnbfj6]{display:flex;flex-direction:column;gap:.75rem;align-items:center;max-width:800px;margin:0 auto;padding-bottom:2rem;text-align:center}.upcoming-label[data-astro-cid-cmnnbfj6]{font-size:clamp(1.375rem,3vw,2rem);font-weight:800;color:var(--color-text);letter-spacing:-.02em}.upcoming-desc[data-astro-cid-cmnnbfj6]{font-size:clamp(1rem,1.5vw,1.125rem);color:var(--color-text-muted);line-height:1.8;margin:0}#past-grid .course-card{background:#fff;border:1px solid var(--color-border-subtle);border-radius:var(--radius-3xl);overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;flex-direction:column}#past-grid .course-card:hover{transform:translateY(-4px);box-shadow:0 20px 60px #0000001a;border-color:var(--color-brand-100)}#past-grid .card-link{text-decoration:none;color:inherit;display:flex;flex-direction:column;height:100%}#past-grid .card-image{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--color-surface)}#past-grid .card-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s}#past-grid .course-card:hover .card-image img{transform:scale(1.05)}#past-grid .card-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-brand-50),var(--color-brand-100))}#past-grid .card-badges{position:absolute;top:.75rem;left:.75rem;right:.75rem;display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}#past-grid .format-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .625rem;background:#ffffffe6;backdrop-filter:blur(8px);border-radius:var(--radius-full);font-size:.7rem;font-weight:700;color:var(--color-slate-600);border:1px solid rgba(255,255,255,.6)}#past-grid .past-badge{font-size:.65rem;font-weight:700;padding:.25rem .625rem;border-radius:var(--radius-full);backdrop-filter:blur(8px);background:#00000059;color:#fff}#past-grid .card-body{padding:1.25rem;display:flex;flex-direction:column;gap:.625rem;flex:1}#past-grid .card-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}#past-grid .category-badge{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .5rem;border-radius:var(--radius-sm)}#past-grid .card-date{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--color-text-faint);font-weight:500;margin-left:auto}#past-grid .cpd-tag{display:inline-flex;align-items:center;gap:.25rem;font-size:.65rem;font-weight:700;color:var(--color-brand-600);background:var(--color-brand-50);padding:.2rem .5rem;border-radius:var(--radius-sm)}#past-grid .card-title{font-size:1rem;font-weight:700;color:var(--color-text);line-height:1.35;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}#past-grid .card-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--color-border-subtle);margin-top:auto}#past-grid .lecturer-info{display:flex;align-items:center;gap:.5rem;min-width:0}#past-grid .lecturer-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid var(--color-brand-50)}#past-grid .lecturer-avatar-placeholder{width:28px;height:28px;border-radius:50%;background:var(--color-brand-50);display:flex;align-items:center;justify-content:center;flex-shrink:0}#past-grid .lecturer-name{font-size:.75rem;color:var(--color-text-muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
