.hero-slideshow{position:relative;background:#101820;color:white;isolation:isolate}.hero-slide-stage{position:relative;min-height:550px}.hero-slide{position:relative;min-height:550px;display:flex;align-items:center;overflow:hidden}.hero-slide[hidden]{display:none!important}.hero-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.hero-slide.fit-contain>img{object-fit:contain}.hero-slide.focal-top>img{object-position:center top}.hero-slide.focal-bottom>img{object-position:center bottom}.hero-slide-shade{position:absolute;inset:0;background:linear-gradient(90deg,#000e 0%,#0009 45%,#0002 100%);z-index:-1}.hero-slide-caption{padding-top:65px;padding-bottom:115px}.hero-slide-caption h1,.hero-slide-caption h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(32px,4.4vw,62px);line-height:1.15;color:white;max-width:820px;margin:0 0 22px;overflow-wrap:anywhere}.hero-slide-caption p{font-size:18px;line-height:1.7;max-width:760px;color:#f6f8fa;margin:0 0 26px;overflow-wrap:anywhere}.hero-slide-link a{display:inline-block;background:var(--yellow,#f9e600);color:#111;padding:13px 23px;font-size:14px;font-weight:bold}.hero-slide-controls{position:absolute;bottom:22px;left:0;right:0;display:flex;gap:10px;align-items:center;flex-wrap:wrap;z-index:2}.hero-slide-controls[hidden]{display:none}.hero-slide-controls button{border:1px solid #fff8;background:#101820c9;color:white;min-width:42px;min-height:42px;padding:9px 13px;font:inherit;font-size:13px;cursor:pointer}.hero-slide-controls button:hover,.hero-slide-controls button[aria-current=true]{background:var(--yellow,#f9e600);color:#111}.hero-slide-controls button:focus-visible,.hero-slide-link a:focus-visible{outline:3px solid white;outline-offset:3px}.hero-slide-dots{display:flex;gap:6px;flex-wrap:wrap}.hero-slide-counter{font-size:13px;margin-left:auto}@media(max-width:640px){.hero-slide-stage,.hero-slide{min-height:510px}.hero-slide-caption{padding-top:42px;padding-bottom:150px}.hero-slide-caption p{font-size:15px;line-height:1.6}.hero-slide-caption h1,.hero-slide-caption h2{font-size:34px}.hero-slide-controls{gap:6px;bottom:16px}.hero-slide-dots{order:5;flex-basis:100%;gap:5px}.hero-slide-dots button{padding:5px;min-width:32px;min-height:36px}.hero-slide-counter{margin-left:8px}.hero-slide-shade{background:linear-gradient(90deg,#000e,#0008)}}

/* Full-width top banner; text stays aligned to the page content. */
.hero-slideshow,.hero{width:100%;max-width:none;margin-left:0;margin-right:0;border-radius:0}.hero-slideshow{display:block}.hero-slide-stage,.hero-slide{width:100%;max-width:none}.hero-slide>img{width:100%;max-width:none}.hero-slideshow .hero-slide-caption,.hero-slideshow .hero-slide-controls{max-width:var(--wrap,1200px);width:calc(100% - 48px);margin-left:auto;margin-right:auto}@media(max-width:640px){.hero-slideshow .hero-slide-caption,.hero-slideshow .hero-slide-controls{width:calc(100% - 32px)}}

/* Top slideshow photos fill the page edge to edge. */
.hero-slideshow .hero-slide>img,.hero-slideshow .hero-slide.fit-contain>img{object-fit:cover;width:100%;height:100%;max-width:none}
#main>.hero-slideshow,#main>.hero{width:100%;max-width:none;margin:0;border-radius:0}

/* Lower-left captions, compact icon controls in the lower-right corner. */
.hero-slideshow .hero-slide{align-items:flex-end}
.hero-slideshow .hero-slide-caption{max-width:none;width:100%;margin:0;padding:180px clamp(22px,3vw,56px) 38px;box-sizing:border-box}
.hero-slideshow .hero-slide-caption h1,.hero-slideshow .hero-slide-caption h2{max-width:850px}
.hero-slideshow .hero-slide-caption p{max-width:760px}
.hero-slideshow .hero-slide-controls{left:auto;right:24px;bottom:20px;max-width:none;width:auto;margin:0;display:flex;flex-wrap:nowrap;gap:6px}
.hero-slideshow .hero-slide-controls[hidden]{display:none}
.hero-slideshow .hero-slide-controls button{width:40px;height:40px;min-width:40px;min-height:40px;padding:6px;border-radius:50%;font-size:17px;line-height:1;display:grid;place-items:center;background:#073b56b8;border:1px solid #ffffffa0}
.hero-slideshow .hero-slide-controls button:hover{background:#006b47;color:#fff}
@media(max-width:640px){.hero-slideshow .hero-slide-caption{padding:100px 18px 78px}.hero-slideshow .hero-slide-caption h1,.hero-slideshow .hero-slide-caption h2{font-size:30px}.hero-slideshow .hero-slide-caption p{font-size:14px}.hero-slideshow .hero-slide-controls{right:16px;bottom:16px}}

/* Shade only the caption block; keep the rest of the photograph unobscured. */
.hero-slideshow .hero-slide-shade{display:none}
.hero-slideshow .hero-caption-backdrop{display:table;max-width:min(900px,100%);box-sizing:border-box;padding:18px 22px;background:rgba(8,24,30,.84);border-radius:8px;color:#fff}
.hero-slideshow .hero-caption-backdrop h1,.hero-slideshow .hero-caption-backdrop h2{margin-bottom:12px}
.hero-slideshow .hero-caption-backdrop p{margin-bottom:16px}
.hero-slideshow .hero-caption-backdrop p:last-child{margin-bottom:0}
@media(max-width:640px){.hero-slideshow .hero-caption-backdrop{display:block;padding:14px 16px;border-radius:6px}}

/* Caption hugs the bottom-left edge with a lighter local backdrop. */
.hero-slideshow .hero-slide-caption{padding-left:0;padding-right:0;padding-bottom:0}
.hero-slideshow .hero-caption-backdrop{max-width:min(900px,calc(100% - 160px));background:rgba(8,24,30,.35);border-radius:0 8px 0 0;text-shadow:0 1px 3px #000b}
.hero-slideshow .hero-slide-link{text-shadow:none}
@media(max-width:640px){.hero-slideshow .hero-slide-caption{padding-left:0;padding-right:0;padding-bottom:0}.hero-slideshow .hero-caption-backdrop{max-width:calc(100% - 136px);padding:12px 14px;border-radius:0 6px 0 0}}

/* Compact banner headings and geometric playback icons. */
.hero-slideshow .hero-slide-caption h1,.hero-slideshow .hero-slide-caption h2{font-size:clamp(26px,3vw,42px);line-height:1.2}
.banner-playback-icon{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:16px;height:16px}
.banner-playback-icon::before,.banner-playback-icon::after{content:"";display:block;width:3px;height:14px;background:currentColor;border-radius:0;flex:none}
.banner-playback-icon.is-paused::before{width:0;height:0;background:none;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:11px solid currentColor;margin-left:2px}
.banner-playback-icon.is-paused::after{display:none}
@media(max-width:640px){.hero-slideshow .hero-slide-caption h1,.hero-slideshow .hero-slide-caption h2{font-size:24px}}

/* Controls sit below the caption, aligned with its left text inset. */
.hero-slideshow.has-controls .hero-slide-caption{padding-bottom:64px}
.hero-slideshow .hero-slide-controls{left:22px;right:auto;bottom:12px;justify-content:flex-start}
.hero-slideshow .hero-caption-backdrop{max-width:min(900px,100%)}
@media(max-width:640px){.hero-slideshow.has-controls .hero-slide-caption{padding-bottom:62px}.hero-slideshow .hero-slide-controls{left:14px;right:auto;bottom:10px}.hero-slideshow .hero-caption-backdrop{max-width:100%}}

/* Full-width slideshow with a stable height across all slides. */
#main>.hero-slideshow .hero-slide-stage,#main>.hero-slideshow .hero-slide{height:550px;min-height:0;max-height:550px;overflow:hidden}
#main>.hero-slideshow .hero-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:640px){#main>.hero-slideshow .hero-slide-stage,#main>.hero-slideshow .hero-slide{height:510px;min-height:0;max-height:510px}}

/* V86: join the homepage banner directly to the header's green navigation strip. */
body:has(>#main>.hero-slideshow)>header.institution-header{margin-bottom:0;padding-bottom:0;box-shadow:none}
body:has(>#main>.hero-slideshow)>header.institution-header .institution-nav-band{margin-bottom:0;border-bottom:3px solid #006b47;box-shadow:none}
#main:has(>.hero-slideshow){margin-top:0;padding-top:0}
#main>.hero-slideshow{margin:0;padding:0;border:0;border-radius:0;display:block}
#main>.hero-slideshow .hero-slide-stage{margin-top:0;padding-top:0;border-top:0}
#main>.hero-slideshow .hero-slide>img,#main>.hero-slideshow .hero-slide.fit-contain>img{object-position:center bottom;margin-top:0}

/* V87: restore the original full-width banner proportions, with CMS height controls. */
#main>.hero-slideshow,#main>.hero-slideshow .hero-slide-stage{width:100%;max-width:none}
#main>.hero-slideshow .hero-slide-stage,#main>.hero-slideshow .hero-slide{height:var(--banner-desktop-height,550px);min-height:0;max-height:var(--banner-desktop-height,550px);aspect-ratio:auto;overflow:hidden}
#main>.hero-slideshow .hero-slide{position:relative;display:flex;align-items:flex-end}
#main>.hero-slideshow .hero-slide>img,#main>.hero-slideshow .hero-slide.fit-contain>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center bottom}
@media(min-width:641px) and (max-width:1100px){#main>.hero-slideshow .hero-slide-stage,#main>.hero-slideshow .hero-slide{height:var(--banner-tablet-height,550px);max-height:var(--banner-tablet-height,550px)}}
@media(max-width:640px){#main>.hero-slideshow .hero-slide-stage,#main>.hero-slideshow .hero-slide{height:var(--banner-mobile-height,510px);max-height:var(--banner-mobile-height,510px)}}
