.upcoming-courses{padding:56px 0 44px;background:radial-gradient(ellipse at 90% 0,rgba(15,142,216,.07),transparent 55%),#fff}
.upcoming-heading{margin-bottom:24px}
.upcoming-heading h2{margin:6px 0 0;color:#055487;font-size:clamp(24px,2.5vw,34px);line-height:1.5}
.upcoming-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.upcoming-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;color:#071b3d;background:linear-gradient(150deg,#fff,#f3f8fc);border-radius:14px;box-shadow:0 10px 35px rgba(5,84,135,.07);transition:transform .35s ease,box-shadow .35s ease}
.upcoming-image{position:relative;aspect-ratio:16/10;overflow:hidden;background:#e8f2f8}
.upcoming-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(3,29,50,.45));pointer-events:none}
.upcoming-image img{width:100%;height:100%;object-fit:cover;object-position:35% center;display:block;transition:transform .7s ease}
.upcoming-hours{position:absolute;z-index:1;inset-inline-start:16px;bottom:14px;padding:4px 11px;color:#fff;background:rgba(5,50,78,.65);backdrop-filter:blur(12px);border-radius:5px;font-size:11px;font-weight:600}
.upcoming-body{padding:20px 18px 16px;display:flex;flex-direction:column;flex:1}
.upcoming-date{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;color:#055487;font-size:11px;font-weight:700}
.upcoming-date>span{color:#677c8b;font-weight:400}
.upcoming-card h3{font-size:17px;line-height:1.8;margin:12px 0 8px;font-weight:700;color:#071b3d;min-height:92px}
.upcoming-card p{font-size:12px;line-height:1.9;margin:0 0 20px;color:#617789}
.upcoming-discover{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:14px;border-top:1px solid rgba(5,84,135,.1);font-size:12px;font-weight:700;color:#055487}
.upcoming-discover>span{font-size:20px;font-weight:400}
.upcoming-card:hover{transform:translateY(-5px);box-shadow:0 20px 45px rgba(5,84,135,.14)}
.upcoming-card:hover img{transform:scale(1.045)}
.upcoming-card:focus-visible{outline:3px solid #0f8ed8;outline-offset:5px}
.upcoming-more-card{position:relative;isolation:isolate;background:#edf6fb;min-height:390px}
.upcoming-more-card .upcoming-more-background{position:absolute;inset:0;aspect-ratio:auto}
.upcoming-more-background:after{background:linear-gradient(180deg,rgba(241,249,255,.3),rgba(241,249,255,.88) 36%,rgba(241,249,255,.96) 100%)}
.upcoming-more-background img{object-position:35% center;animation:more-photo-drift 12s ease-in-out infinite alternate}
.upcoming-more-card:hover .upcoming-more-background img,.upcoming-more-card:focus-within .upcoming-more-background img{animation-play-state:paused}
@keyframes more-photo-drift{from{transform:scale(1.02);opacity:.95}to{transform:scale(1.075) translateX(-1%);opacity:.78}}
.upcoming-more-icon{position:absolute;z-index:1;top:64px;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);box-shadow:0 4px 24px rgba(5,84,135,.2);color:#055487}
.upcoming-more-icon svg{width:32px;height:32px}
.upcoming-more-card .upcoming-body{position:relative;z-index:2;padding-top:145px;text-shadow:0 1px 8px #ffffff90}
.upcoming-more-card .upcoming-date,.upcoming-more-card h3,.upcoming-more-card .upcoming-discover{color:#055487}
.upcoming-more-card p{color:#435e70}
.upcoming-more-card .upcoming-discover{border-color:#05548725}
@media(max-width:1100px){.upcoming-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.upcoming-card h3{min-height:62px}}
@media(max-width:560px){.upcoming-courses{padding:36px 0 28px}.upcoming-grid{grid-template-columns:1fr;gap:20px}.upcoming-image{aspect-ratio:16/9}.upcoming-card h3{min-height:0;font-size:17px}.upcoming-body{padding:18px}.upcoming-heading{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){.upcoming-card,.upcoming-image img{transition:none}.upcoming-more-background img{animation:none;opacity:1}.upcoming-card:hover,.upcoming-card:hover img{transform:none}}
