/* Full-width main slideshow. Existing photography is displayed unchanged. */
.hero-carousel{position:relative;isolation:isolate;min-height:580px;height:min(760px,calc(100svh - 124px));max-height:880px;overflow:hidden;touch-action:pan-y;background:#142e3e;color:#fff}
.hero-slides,.hero-slide{position:absolute;inset:0}
.hero-slide{opacity:0;transition:opacity 1s ease;pointer-events:none;overflow:hidden}
.hero-slide.is-active{opacity:1}
.hero-slide img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 68%}

.hero-slide::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,27,39,.86),rgba(6,27,39,.52) 33%,rgba(6,27,39,.08) 74%),linear-gradient(0deg,rgba(6,27,39,.65),transparent 35%)}
.hero-carousel .hero-content{position:relative;z-index:1;max-width:1304px;margin:auto;padding:38px 44px 120px;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.hero-carousel .hero-school-brand{margin-bottom:26px;gap:17px}
.hero-carousel .hero-school-brand>img{width:64px;height:64px;flex-basis:64px;border-width:3px}
.hero-carousel .hero-school-brand>div>span{font-size:12px}
.hero-carousel .hero-school-brand small{font-size:8px;letter-spacing:1.5px}
.hero-carousel h1{font-family:var(--sans);font-size:clamp(44px,4.4vw,66px);line-height:1.25;letter-spacing:-2.5px;font-weight:600;margin:0;white-space:normal;text-shadow:0 2px 20px #09202d40}
.hero-carousel h1 em{display:block;color:#ebd3a3;font:inherit;margin-top:10px}
.hero-carousel .hero-description{margin-top:25px;font-size:15px;color:#edf1f0;line-height:1.9}
.hero-carousel .hero-links{display:flex;align-items:center;gap:26px;margin-top:30px}
.hero-carousel .hero-links .button{margin:0;min-height:49px;padding:13px 23px;gap:34px;font-size:12px}
.hero-carousel .hero-secondary{margin:0;color:white;font-size:12px;text-underline-offset:5px}
.hero-carousel-bottom{position:absolute;z-index:2;bottom:37px;left:0;right:0;max-width:1304px;padding:0 44px;margin:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
.hero-controls{display:flex;align-items:center;gap:13px}
.hero-slide-count{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:1px;font-variant-numeric:tabular-nums;margin-right:4px}
.hero-slide-count strong{font-size:15px;font-weight:500}
.hero-slide-count span{color:#c2cccf}
.hero-slide-selectors{display:flex;gap:7px;align-items:center}
.hero-slide-selectors button{width:35px;height:44px;padding:0;display:flex;align-items:center;position:relative}
.hero-slide-selectors button::before{content:'';width:100%;height:2px;background:#ffffff55}
.hero-slide-selectors button[aria-pressed=true]::before{background:#e8d09c}
.hero-slide-selectors button[aria-pressed=true]::after{content:'';position:absolute;left:0;height:2px;width:100%;background:white;transform-origin:left}
.is-playing .hero-slide-selectors button[aria-pressed=true]::after{animation:hero-progress 6s linear both}
.hero-control-button{width:42px;height:42px;border:1px solid #ffffff55;border-radius:50%;padding:0;display:grid;place-items:center;color:white;background:#112b3930;transition:background .2s}
.hero-control-button:hover{background:#ffffff25}
.hero-control-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6}
.hero-control-button .play-icon{display:none}
.hero-control-button[data-paused=true] .play-icon{display:block}
.hero-control-button[data-paused=true] .pause-icon{display:none}
.hero-photo-label{text-align:right;font-size:13px;line-height:1.7}
.hero-photo-label small{display:block;font-size:9px;color:#d3dcdc;letter-spacing:.4px;margin-top:4px}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes hero-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:960px){.hero-carousel{min-height:620px;height:calc(85svh - 110px)}.hero-carousel .hero-content{padding:45px 30px 145px}.hero-carousel-bottom{padding:0 30px}.hero-carousel h1{font-size:54px}.hero-carousel .hero-school-brand>img{width:58px;height:58px;flex-basis:58px}.hero-photo-label small{max-width:180px}.hero-controls{gap:9px}.hero-slide-selectors button{width:29px}}
@media(max-width:660px){.hero-carousel{min-height:650px;height:calc(100svh - 104px);max-height:780px}.hero-carousel .hero-content{padding:39px 25px 160px;justify-content:flex-start}.hero-carousel h1{font-size:47px;line-height:1.25;letter-spacing:-2px}.hero-carousel h1 em{margin-top:7px}.hero-carousel .hero-school-brand{margin-bottom:28px;gap:12px}.hero-carousel .hero-school-brand>img{width:54px;height:54px;flex-basis:54px}.hero-carousel .hero-school-brand>div>span{font-size:10px}.hero-carousel .hero-school-brand small{font-size:6px;letter-spacing:1px}.hero-carousel .hero-description{font-size:13px;line-height:1.9;margin-top:22px}.hero-carousel .hero-links{margin-top:25px;gap:22px;flex-wrap:wrap}.hero-carousel .hero-links .button{padding:12px 18px;min-height:46px;gap:23px;font-size:11px}.hero-carousel .hero-secondary{font-size:11px}.hero-slide img{object-position:58% bottom}.hero-slide::after{background:linear-gradient(90deg,#061b27c9,#061b2730),linear-gradient(0deg,#061b27c4,transparent 45%)}.hero-carousel-bottom{bottom:23px;padding:0 25px;flex-direction:column;align-items:flex-start;gap:14px}.hero-controls{gap:11px;width:100%}.hero-slide-selectors{margin-right:auto;gap:6px}.hero-slide-selectors button{width:25px}.hero-control-button{width:37px;height:37px;flex-shrink:0}.hero-slide-count{gap:7px;font-size:10px;margin:0}.hero-slide-count strong{font-size:13px}.hero-photo-label{text-align:left;font-size:11px}.hero-photo-label small{display:none}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}.is-playing .hero-slide-selectors button[aria-pressed=true]::after{animation:none}}

.hero-carousel[data-single=true] .hero-controls{display:none}.hero-slide picture{display:contents}
@media(max-width:660px){.hero-slide img{object-position:center 68%}.hero-slide-selectors{max-width:130px;flex:1}.hero-slide-selectors button{width:auto;flex:1;min-width:6px}}
