/* Homepage header: campus photograph, 30-year logo in the sky beside the building,
   headline styled like the About page banner title. */
body:has(.v4-home-hero) .header.v4-header{
  position:sticky!important;
  top:0;
  background:#fff!important;
}
body:has(.v4-home-hero) .hero.v4-home-hero{
  position:relative;
  min-height:0!important;
  height:clamp(360px,37.5vw,720px)!important;
  padding:0!important;
  display:flex!important;
  align-items:flex-end!important;
  background:#0b1830!important;
  overflow:hidden;
  isolation:isolate;
}
body:has(.v4-home-hero) .hero.v4-home-hero::before{
  content:""!important;
  display:block!important;
  position:absolute;
  inset:0;
  z-index:1;
  transform:none!important;
  filter:none!important;
  background:
    linear-gradient(0deg,rgba(6,14,32,.55) 0%,rgba(6,14,32,.18) 38%,rgba(6,14,32,0) 55%),
    linear-gradient(90deg,rgba(6,14,32,.5) 0%,rgba(6,14,32,.22) 34%,rgba(6,14,32,0) 52%)!important;
}
.home-hero-media{
  position:absolute;
  inset:0;
}
.home-hero-media>picture:not(.home-hero-badge){display:contents}
.home-hero-image{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:68% 50%;
}
/* Percentages track the photo, so the logo stays just left of the building wall. */
.home-hero-badge{
  position:absolute;
  z-index:2;
  top:6%;
  right:47.5%;
  width:19%;
}
.home-hero-logo{
  display:block;
  width:100%;
  height:auto;
  filter:drop-shadow(0 3px 14px rgba(6,14,32,.45));
}
.home-hero-badge-stacked{display:none}
body:has(.v4-home-hero) .home-hero-copy{
  position:relative;
  z-index:2;
  width:100%;
  padding:0 0 2.6vw 4.5vw;
}
body:has(.v4-home-hero) .hero.v4-home-hero .home-hero-copy .wrap{
  max-width:none;
  margin:0;
  padding:0!important;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left!important;
}
body:has(.v4-home-hero) .hero.v4-home-hero h1.home-hero-title{
  margin:0 0 14px!important;
  max-width:none!important;
  color:#fff!important;
  font:800 clamp(40px,5.5vw,76px)/1.1 Manrope,Arial,sans-serif!important;
  letter-spacing:-.045em!important;
  text-transform:uppercase;
  text-align:left!important;
  text-shadow:0 2px 18px rgba(6,14,32,.45);
}
body:has(.v4-home-hero) .hero.v4-home-hero p.home-hero-intro{
  margin:0!important;
  max-width:min(660px,47vw)!important;
  color:#e0e9ec!important;
  font-size:clamp(15px,1.25vw,18px)!important;
  font-weight:500;
  line-height:1.7!important;
  text-align:left!important;
  text-shadow:0 1px 10px rgba(6,14,32,.6);
}

/* Below this width the photo is too short for logo, headline and intro together:
   headline on a sky-blue band, photo below at its natural shape. */
@media(max-width:1180px){
  body:has(.v4-home-hero) .hero.v4-home-hero{
    height:auto!important;
    flex-direction:column!important;
    align-items:stretch!important;
    background:linear-gradient(180deg,#0a1a3a 0%,#132b57 100%)!important;
  }
  body:has(.v4-home-hero) .hero.v4-home-hero::before{display:none!important}
  body:has(.v4-home-hero) .home-hero-copy{order:1;padding:26px 0 26px}
  body:has(.v4-home-hero) .hero.v4-home-hero p.home-hero-intro{max-width:640px!important;font-size:17px!important}
  body:has(.v4-home-hero) .hero.v4-home-hero .home-hero-copy .wrap{
    padding-left:clamp(16px,4.5vw,30px)!important;
    padding-right:clamp(16px,4.5vw,30px)!important;
  }
  .home-hero-media{
    order:2;
    position:relative;
    inset:auto;
    aspect-ratio:1024/384;
  }
}
@media(max-width:700px){
  .home-hero-media{aspect-ratio:4/3}
  .home-hero-image{object-position:80% 50%}
  .home-hero-badge{display:none}
  .home-hero-badge-stacked{display:block;width:clamp(170px,50vw,230px);margin-bottom:18px}
  body:has(.v4-home-hero) .home-hero-copy{padding:30px 0 20px}
}
@media(max-width:600px){
  body:has(.v4-home-hero) .hero.v4-home-hero h1.home-hero-title{
    font-size:clamp(31px,8vw,44px)!important;
    overflow-wrap:break-word;
  }
  body:has(.v4-home-hero) .hero.v4-home-hero p.home-hero-intro{font-size:16px!important;line-height:1.65!important}
}
