.banner-stage{background:#173b44}.live-banner{min-height:500px;background:#173b44}.banner-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none}.banner-video.is-playing{opacity:1}.banner-copy{min-height:500px;padding-top:70px;padding-bottom:90px;color:#fff;background:linear-gradient(90deg,rgba(7,26,33,.85),rgba(7,26,33,.5) 65%,rgba(7,26,33,.1))}.banner-copy h1{font-size:clamp(30px,3.4vw,54px);line-height:1.25;color:#fff;white-space:pre-line;max-width:850px;margin:12px 0}.banner-copy .banner-subtitle{margin:0;font-size:17px;font-weight:700;color:#78e3e9;white-space:pre-line}.banner-copy .banner-description{margin:20px 0 26px;line-height:1.65;font-size:19px;max-width:740px}.banner-copy .primary{background:#009fb2;color:#fff}.banner-controls{z-index:3;background:rgba(7,26,33,.8);color:white;bottom:18px;gap:12px}.banner-controls button{border:0;background:transparent;color:inherit;font:inherit;min-height:38px}.banner-controls button:focus-visible{outline:2px solid #78e3e9;outline-offset:2px}.banner-stage.motion-enabled .is-active .banner-copy>*{animation:banner-reveal .65s both}.banner-stage.motion-enabled .is-active .banner-copy .banner-subtitle{animation-delay:.1s}.banner-stage.motion-enabled .is-active .banner-copy h1{animation-delay:.65s}.banner-stage.motion-enabled .is-active .banner-copy .banner-description{animation-delay:1.3s}.banner-stage.motion-enabled .is-active .banner-copy .primary{animation-delay:1.8s}.banner-stage.is-paused .banner-copy>*{animation-play-state:paused!important}@keyframes banner-reveal{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:750px){.live-banner,.banner-copy{min-height:460px}.banner-copy{padding:42px 22px 100px;background:linear-gradient(90deg,rgba(7,26,33,.85),rgba(7,26,33,.45))}.banner-copy .banner-description{font-size:16px}.banner-copy .banner-subtitle{font-size:14px}.banner-controls{right:18px}.banner-copy h1{letter-spacing:-.8px}}@media(prefers-reduced-motion:reduce){.banner-stage.motion-enabled .is-active .banner-copy>*{animation:none}.banner-video{display:none}}
.banner-stage.is-paused.is-paused .banner-copy>*{animation:none!important;opacity:1;transform:none}
.banner-stage{position:relative}
.banner-icon-controls{position:absolute;bottom:18px;right:28px;display:flex;align-items:center;gap:12px;z-index:6;background:none;padding:0;border:0}
.banner-icon-controls #banner-seek{width:160px;accent-color:#fff;cursor:pointer}
.banner-icon-controls #banner-seek[hidden]{display:none}
.banner-icon-controls button{display:grid;place-items:center;width:44px;height:44px;border:0;padding:0;background:transparent;color:#fff;cursor:pointer;filter:drop-shadow(0 1px 2px #000)}
.banner-icon-controls svg{fill:currentColor}
.banner-icon-controls .play-symbol{display:none}
.banner-icon-controls .is-stopped .play-symbol{display:block}
.banner-icon-controls .is-stopped .pause-symbol{display:none}
.banner-icon-controls button:focus-visible,.banner-icon-controls input:focus-visible{outline:2px solid #78e3e9;outline-offset:3px}
@media(max-width:750px){.banner-icon-controls{bottom:8px;right:14px}.banner-icon-controls #banner-seek{width:110px}}
.banner-stage{--banner-height:clamp(320px,32vw,480px)}
.banner-stage .live-banner,.banner-stage .banner-copy{height:var(--banner-height);min-height:0}
.banner-stage .banner-copy{position:relative;padding-top:32px;padding-bottom:32px;overflow:auto;justify-content:safe center}
.banner-stage .banner-copy>*{flex-shrink:0}
.banner-stage .banner-copy h1{margin-top:8px;margin-bottom:8px}
.banner-stage .banner-copy .banner-description{margin-top:12px;margin-bottom:0}
@media(max-width:750px){.banner-stage{--banner-height:300px}.banner-stage .banner-copy{padding-top:24px;padding-bottom:24px}}
.live-banner{position:relative}
.banner-copy{position:relative;z-index:1}
.banner-course-link{position:absolute;inset:0;z-index:2}
.banner-course-link:focus-visible{outline:3px solid #78e3e9;outline-offset:-5px}
.banner-stage.motion-enabled .is-active .banner-copy>.banner-course-link{animation:none!important;transform:none;opacity:1}
.banner-copy:has(.banner-course-link){position:static}
.banner-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:44px;height:56px;border:0;border-radius:24px;background:#071a21b3;color:#fff;font-size:36px;cursor:pointer}
.banner-prev{left:12px}.banner-next{right:12px}
.banner-arrow:disabled{opacity:.25;cursor:default}
.banner-arrow:focus-visible{outline:3px solid #78e3e9}
.banner-controls{position:absolute;display:flex;align-items:center;right:24px;left:auto;max-width:calc(100% - 48px);padding:8px 14px;border-radius:12px;z-index:6;flex-wrap:wrap}
.banner-seek-label{display:flex;align-items:center;gap:8px;font-size:12px}
.banner-seek-label[hidden]{display:none}
#banner-seek{width:180px;accent-color:#78e3e9;cursor:pointer}
#banner-time{font-size:12px;font-variant-numeric:tabular-nums}
#banner-status{font-size:12px}
@media(max-width:750px){.banner-arrow{width:30px;height:44px;font-size:28px}.banner-prev{left:4px}.banner-next{right:4px}.banner-copy{padding-left:42px;padding-right:42px}#banner-seek{width:100px}.banner-controls{right:12px;max-width:calc(100% - 24px);gap:6px}.banner-seek-label{font-size:0}}
@media(prefers-reduced-motion:reduce){.banner-video{display:block}}
