/* =========================================================
   LAU-TAM HOME HERO - INITIAL LANDING HERO FIX
   File: assets/hero/2026/ranking-2025/hero.css
   Fixes missing/black first hero by using the included hero media.
   ========================================================= */

@keyframes ltHomeHeroFadeUp{
  from{opacity:0;transform:translateY(18px);filter:blur(2px);}
  to{opacity:1;transform:translateY(0);filter:blur(0);}
}

#hero.home-hero{
  position:relative!important;
  min-height:100svh!important;
  width:auto!important;
  margin:0!important;
  padding:6rem var(--page-pad,5vw) calc(clamp(4.75rem,8vh,7rem) + 42px)!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
  clip-path:none!important;
  animation:none!important;
  background:
    linear-gradient(90deg,rgba(0,5,14,.82) 0%,rgba(6,27,53,.58) 48%,rgba(0,5,14,.30) 100%),
    url("hero.jpg") center center / cover no-repeat,
    #00050E!important;
  color:#fff!important;
}

#hero.home-hero .home-hero-video,
#hero.home-hero .hero-video{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  opacity:.96!important;
  filter:saturate(.82) contrast(1.06) brightness(.78)!important;
  transform:none!important;
  pointer-events:none!important;
}

#hero.home-hero .hero-video-overlay{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,rgba(0,5,14,.86) 0%,rgba(6,27,53,.60) 46%,rgba(0,5,14,.24) 100%),
    linear-gradient(180deg,rgba(0,5,14,.08) 0%,rgba(0,5,14,.02) 44%,rgba(0,5,14,.72) 100%)!important;
}

#hero.home-hero::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  background-image:radial-gradient(rgba(255,255,255,.055) 1px,transparent 1px)!important;
  background-size:28px 28px!important;
  opacity:.26!important;
  mix-blend-mode:screen!important;
  pointer-events:none!important;
}

#hero.home-hero::after{
  content:""!important;
  position:absolute!important;
  right:-14vw!important;
  bottom:-24vw!important;
  z-index:2!important;
  width:58vw!important;
  height:58vw!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.025)!important;
  pointer-events:none!important;
}

#hero.home-hero .home-hero-body{
  position:relative!important;
  z-index:3!important;
  width:100%!important;
  max-width:1540px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(390px,440px)!important;
  gap:clamp(4rem,6vw,7.25rem)!important;
  align-items:center!important;
}

#hero.home-hero .home-hero-main{
  max-width:780px!important;
  padding-left:clamp(.25rem,1.5vw,2.25rem)!important;
  color:#fff!important;
}

#hero.home-hero .home-hero-label{
  margin:0 0 1.25rem!important;
  color:var(--gold,#C8A45D)!important;
  letter-spacing:.24em!important;
  opacity:0;
  animation:ltHomeHeroFadeUp .72s var(--ease,cubic-bezier(.77,0,.18,1)) .16s forwards!important;
}

#hero.home-hero .home-hero-title{
  max-width:720px!important;
  margin:0!important;
  font-family:var(--fd,"Playfair Display",Georgia,serif)!important;
  font-size:clamp(3.25rem,6vw,6.7rem)!important;
  font-weight:500!important;
  line-height:.92!important;
  letter-spacing:-.058em!important;
  color:#fff!important;
  text-shadow:0 18px 52px rgba(0,5,14,.50)!important;
  opacity:0;
  animation:ltHomeHeroFadeUp .78s var(--ease,cubic-bezier(.77,0,.18,1)) .28s forwards!important;
}

#hero.home-hero .home-hero-copy{
  max-width:620px!important;
  margin:1.45rem 0 0!important;
  font-family:var(--fb,"Georama",Arial,sans-serif)!important;
  font-size:clamp(1rem,1.3vw,1.16rem)!important;
  line-height:1.72!important;
  color:rgba(255,255,255,.80)!important;
  opacity:0;
  animation:ltHomeHeroFadeUp .78s var(--ease,cubic-bezier(.77,0,.18,1)) .40s forwards!important;
}

#hero.home-hero .hero-awards-card{
  width:100%!important;
  max-width:440px!important;
  justify-self:end!important;
  align-self:center!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  padding:0!important;
  opacity:0;
  animation:ltHomeHeroFadeUp .82s var(--ease,cubic-bezier(.77,0,.18,1)) .48s forwards!important;
}

#hero.home-hero .hero-awards-head{
  display:none!important;
}

#hero.home-hero .hero-badges{
  width:100%!important;
  max-width:440px!important;
  display:flex!important;
  flex-direction:row!important;
  justify-content:flex-end!important;
  align-items:flex-start!important;
  gap:1.05rem!important;
}

#hero.home-hero .hero-badge{
  position:relative!important;
  width:clamp(168px,13.2vw,190px)!important;
  min-width:168px!important;
  max-width:190px!important;
  height:252px!important;
  min-height:252px!important;
  padding:1.02rem 1rem .95rem!important;
  display:grid!important;
  grid-template-rows:72px auto 1fr!important;
  row-gap:.28rem!important;
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(255,255,255,.62)!important;
  box-shadow:0 18px 42px rgba(0,5,14,.26), inset 0 0 0 1px rgba(6,41,108,.055)!important;
  color:var(--text,#00050E)!important;
  overflow:hidden!important;
  text-decoration:none!important;
  cursor:pointer!important;
  transition:transform .22s var(--ease,cubic-bezier(.77,0,.18,1)), background .22s ease, border-color .22s ease!important;
}

#hero.home-hero .hero-badge:hover,
#hero.home-hero .hero-badge:focus-visible{
  transform:translateY(-2px)!important;
  background:#fff!important;
  border-color:rgba(255,255,255,.82)!important;
  outline:none!important;
}

#hero.home-hero .hero-badge-logo{
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  height:66px!important;
  margin:.06rem 0 0!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
}

#hero.home-hero .hero-badge-logo img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:grayscale(1) contrast(1.06) brightness(.66)!important;
  opacity:.9!important;
}

#hero.home-hero .hero-badge:nth-child(1) .hero-badge-logo img{
  max-width:144px!important;
  max-height:44px!important;
  transform:translateY(4px)!important;
}

#hero.home-hero .hero-badge:nth-child(2) .hero-badge-logo,
#hero.home-hero .hero-badge:nth-child(2) .hero-badge-logo img{
  transform:translateY(18px)!important;
}

#hero.home-hero .hero-badge:nth-child(2) .hero-badge-logo img{
  max-width:142px!important;
  max-height:40px!important;
}

#hero.home-hero .hero-badge-rank{
  position:relative!important;
  z-index:1!important;
  align-self:start!important;
  margin:0!important;
  max-width:146px!important;
  font-family:var(--fd,"Playfair Display",Georgia,serif)!important;
  font-size:.98rem!important;
  font-weight:700!important;
  line-height:1.12!important;
  letter-spacing:-.01em!important;
  color:#030914!important;
}

#hero.home-hero .hero-badge-year{
  position:relative!important;
  z-index:1!important;
  align-self:end!important;
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding-top:.78rem!important;
  font-family:var(--fd,"Playfair Display",Georgia,serif)!important;
  font-size:1.35rem!important;
  line-height:1!important;
  color:var(--navy,#06296C)!important;
}

#hero.home-hero .hero-badge-year::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:0!important;
  height:1px!important;
  background:linear-gradient(90deg,var(--gold,#C8A45D),rgba(200,164,93,.38),transparent)!important;
}

#hero.home-hero .hero-awards-cta{
  width:max-content!important;
  max-width:100%!important;
  margin:1.38rem auto 0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.55rem!important;
  color:rgba(255,255,255,.86)!important;
  font-family:var(--fb,"Georama",Arial,sans-serif)!important;
  font-size:.68rem!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  transition:color .22s ease, transform .24s var(--ease,cubic-bezier(.77,0,.18,1))!important;
}

#hero.home-hero .hero-awards-cta:hover,
#hero.home-hero .hero-awards-cta:focus-visible{
  color:var(--gold,#C8A45D)!important;
  transform:translateY(-1px)!important;
  outline:none!important;
}

#hero.home-hero .hero-awards-cta-line{display:none!important;}
#hero.home-hero .hero-awards-cta svg{width:16px!important;height:16px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.55!important;stroke-linecap:round!important;stroke-linejoin:round!important;}

#hero.home-hero .hero-slider-controls{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:14!important;
  height:42px!important;
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  padding:0 clamp(2rem,5vw,5rem)!important;
  background:linear-gradient(180deg,rgba(0,5,14,0) 0%,rgba(0,5,14,.46) 42%,rgba(0,5,14,.72) 100%)!important;
  opacity:.88!important;
}

#hero.home-hero .hero-slider-step{
  position:relative!important;
  flex:0 0 76px!important;
  height:24px!important;
  padding:10px 0!important;
  opacity:.58!important;
  cursor:pointer!important;
  transition:flex-basis .38s var(--ease,cubic-bezier(.77,0,.18,1)), opacity .22s ease!important;
}

#hero.home-hero .hero-slider-step.is-active{
  flex-basis:min(360px,28vw)!important;
  opacity:.88!important;
}

#hero.home-hero .hero-slider-track{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:3px!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.28)!important;
}

#hero.home-hero .hero-slider-progress{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  background:rgba(201,157,85,.92)!important;
  transform:scaleX(var(--hero-step-progress,0))!important;
  transform-origin:left center!important;
  transition:transform .08s linear!important;
}

@media(max-width:1180px){
  #hero.home-hero .home-hero-body{
    grid-template-columns:1fr!important;
    gap:2.8rem!important;
  }

  #hero.home-hero .hero-awards-card{
    max-width:440px!important;
    justify-self:start!important;
  }

  #hero.home-hero .hero-badges{
    justify-content:flex-start!important;
  }
}

@media(max-width:640px){
  #hero.home-hero{
    min-height:100svh!important;
    padding:5rem 1.25rem calc(5.75rem + 34px)!important;
    align-items:flex-start!important;
    background:
      linear-gradient(180deg,rgba(0,5,14,.80) 0%,rgba(0,5,14,.62) 48%,rgba(0,5,14,.84) 100%),
      url("hero-mobile.jpg") center center / cover no-repeat,
      #00050E!important;
  }

  #hero.home-hero .home-hero-video,
  #hero.home-hero .hero-video{
    object-position:center center!important;
    filter:saturate(.72) contrast(1.04) brightness(.74)!important;
  }

  #hero.home-hero .home-hero-body{
    gap:2.2rem!important;
  }

  #hero.home-hero .home-hero-main{
    padding-left:0!important;
  }

  #hero.home-hero .home-hero-title{
    font-size:clamp(2.75rem,12.5vw,4.25rem)!important;
    line-height:.94!important;
  }

  #hero.home-hero .home-hero-copy{
    font-size:1rem!important;
    line-height:1.65!important;
  }

  #hero.home-hero .hero-awards-card{
    width:100%!important;
    max-width:none!important;
  }

  #hero.home-hero .hero-badges{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.78rem!important;
  }

  #hero.home-hero .hero-badge{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:184px!important;
    min-height:184px!important;
    padding:1rem .9rem .9rem!important;
    grid-template-rows:50px auto 1fr!important;
  }

  #hero.home-hero .hero-badge-logo{
    height:46px!important;
  }

  #hero.home-hero .hero-badge:nth-child(1) .hero-badge-logo img{
    max-width:124px!important;
    max-height:34px!important;
    transform:translateY(3px)!important;
  }

  #hero.home-hero .hero-badge:nth-child(2) .hero-badge-logo,
  #hero.home-hero .hero-badge:nth-child(2) .hero-badge-logo img{
    transform:translateY(4px)!important;
  }

  #hero.home-hero .hero-badge:nth-child(2) .hero-badge-logo img{
    max-width:116px!important;
    max-height:30px!important;
  }

  #hero.home-hero .hero-badge-rank{
    max-width:100%!important;
    font-size:.82rem!important;
  }

  #hero.home-hero .hero-badge-year{
    font-size:1.08rem!important;
  }

  #hero.home-hero .hero-slider-controls{
    height:34px!important;
    gap:7px!important;
    padding:0 1rem!important;
  }

  #hero.home-hero .hero-slider-step{
    flex:1 1 0!important;
    height:22px!important;
  }

  #hero.home-hero .hero-slider-step.is-active{
    flex:2.7 1 0!important;
  }

  #hero.home-hero .hero-slider-track{height:2px!important;}
}

@media(max-width:390px){
  #hero.home-hero{padding:4.5rem 1rem calc(4.75rem + 34px)!important;}
  #hero.home-hero .home-hero-title{font-size:clamp(2.45rem,12vw,3.6rem)!important;}
  #hero.home-hero .hero-badge{height:156px!important;min-height:156px!important;}
}

@media(prefers-reduced-motion:reduce){
  #hero.home-hero *,
  #hero.home-hero *::before,
  #hero.home-hero *::after{animation:none!important;transition:none!important;}
  #hero.home-hero .home-hero-label,
  #hero.home-hero .home-hero-title,
  #hero.home-hero .home-hero-copy,
  #hero.home-hero .hero-awards-card{opacity:1!important;transform:none!important;filter:none!important;}
}

/* =========================================================
   HERO RANKING PLAQUES ALIGNMENT - FINAL
   Aligns ranking logos optically, removes the distracting
   top gold rule, and centers the CTA under the two plaques.
   Keep this block last.
   ========================================================= */
#hero.home-hero .hero-awards-card{
  width:max-content!important;
  max-width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
}

#hero.home-hero .hero-badges{
  width:auto!important;
  max-width:none!important;
  display:grid!important;
  grid-template-columns:repeat(2,clamp(168px,13.2vw,190px))!important;
  gap:1.05rem!important;
  justify-content:center!important;
  align-items:stretch!important;
}

#hero.home-hero .hero-badge{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  grid-template-rows:82px auto 1fr!important;
  row-gap:.18rem!important;
  padding:1.16rem 1.08rem .98rem!important;
}

/* Kill the decorative line above the logos. It was fighting the marks. */
#hero.home-hero .hero-badge::before,
#hero.home-hero .hero-badge-logo::before,
#hero.home-hero .hero-badge-logo::after{
  display:none!important;
  content:none!important;
}

#hero.home-hero .hero-badge-logo{
  width:100%!important;
  height:76px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  transform:none!important;
}

#hero.home-hero .hero-badge-logo img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
  filter:grayscale(1) contrast(1.06) brightness(.66)!important;
  opacity:.92!important;
  transform:none!important;
}

#hero.home-hero .hero-badge:nth-child(1) .hero-badge-logo,
#hero.home-hero .hero-badge:nth-child(1) .hero-badge-logo img,
#hero.home-hero .hero-badge:nth-child(2) .hero-badge-logo,
#hero.home-hero .hero-badge:nth-child(2) .hero-badge-logo img{
  transform:none!important;
}

#hero.home-hero .hero-badge:nth-child(1) .hero-badge-logo img{
  max-width:146px!important;
  max-height:43px!important;
}

#hero.home-hero .hero-badge:nth-child(2) .hero-badge-logo img{
  max-width:146px!important;
  max-height:43px!important;
}

#hero.home-hero .hero-badge-rank{
  max-width:100%!important;
  min-height:2.25em!important;
}

#hero.home-hero .hero-badge-year{
  margin-top:.44rem!important;
}

#hero.home-hero .hero-awards-cta{
  align-self:center!important;
  margin:1.28rem auto 0!important;
  width:max-content!important;
  max-width:100%!important;
  display:inline-flex!important;
  justify-content:center!important;
  text-align:center!important;
  transform:none!important;
}

#hero.home-hero .hero-awards-cta:hover,
#hero.home-hero .hero-awards-cta:focus-visible{
  transform:translateY(-1px)!important;
}

@media(max-width:760px){
  #hero.home-hero .hero-badges{
    width:100%!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.78rem!important;
  }

  #hero.home-hero .hero-badge{
    height:178px!important;
    min-height:178px!important;
    grid-template-rows:56px auto 1fr!important;
    padding:1rem .9rem .9rem!important;
  }

  #hero.home-hero .hero-badge-logo{
    height:52px!important;
  }

  #hero.home-hero .hero-badge:nth-child(1) .hero-badge-logo img,
  #hero.home-hero .hero-badge:nth-child(2) .hero-badge-logo img{
    max-width:118px!important;
    max-height:32px!important;
  }

  #hero.home-hero .hero-awards-cta{
    margin-top:1rem!important;
  }
}

@media(max-width:390px){
  #hero.home-hero .hero-badge{
    height:154px!important;
    min-height:154px!important;
  }

  #hero.home-hero .hero-badge:nth-child(1) .hero-badge-logo img,
  #hero.home-hero .hero-badge:nth-child(2) .hero-badge-logo img{
    max-width:104px!important;
    max-height:28px!important;
  }
}


/* =========================================================
   LANDING HERO MOBILE FIX - FINAL
   Fixes first recognition/ranking hero being cut on phones.
   Keep this block LAST in hero.css.
   ========================================================= */

@media (max-width:640px){
  #hero.home-hero{
    min-height:auto!important;
    height:auto!important;
    padding:
      clamp(2.6rem,6.5vh,3.65rem)
      1.25rem
      clamp(4.85rem,8.5vh,6.25rem)!important;
    align-items:flex-start!important;
    overflow:visible!important;
  }

  #hero.home-hero .home-hero-video,
  #hero.home-hero .hero-video{
    object-fit:cover!important;
    object-position:center center!important;
  }

  #hero.home-hero .hero-video-overlay{
    background:
      linear-gradient(
        180deg,
        rgba(0,5,14,.84) 0%,
        rgba(0,5,14,.60) 46%,
        rgba(0,5,14,.86) 100%
      )!important;
  }

  #hero.home-hero .home-hero-body{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:1.65rem!important;
    align-items:start!important;
    margin:0!important;
    padding:0!important;
  }

  #hero.home-hero .home-hero-main{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    padding-left:0!important;
  }

  #hero.home-hero .home-hero-label{
    margin-bottom:.82rem!important;
    font-size:.60rem!important;
    line-height:1.15!important;
    letter-spacing:.17em!important;
  }

  #hero.home-hero .home-hero-title{
    width:100%!important;
    max-width:none!important;
    font-size:clamp(2.36rem,11.2vw,3.72rem)!important;
    line-height:.94!important;
    letter-spacing:-.052em!important;
  }

  #hero.home-hero .home-hero-copy{
    width:100%!important;
    max-width:none!important;
    margin-top:.96rem!important;
    font-size:.92rem!important;
    line-height:1.54!important;
  }

  #hero.home-hero .hero-awards-card{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    justify-self:stretch!important;
    align-self:start!important;
    align-items:stretch!important;
    margin:0!important;
    padding:0!important;
  }

  #hero.home-hero .hero-badges{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.68rem!important;
    justify-content:stretch!important;
    align-items:stretch!important;
  }

  #hero.home-hero .hero-badge{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:128px!important;
    padding:.78rem .72rem .72rem!important;
    grid-template-rows:40px auto 1fr!important;
    row-gap:.16rem!important;
  }

  #hero.home-hero .hero-badge-logo{
    width:100%!important;
    height:38px!important;
    min-width:0!important;
    max-width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  #hero.home-hero .hero-badge:nth-child(1) .hero-badge-logo img,
  #hero.home-hero .hero-badge:nth-child(2) .hero-badge-logo img{
    max-width:94px!important;
    max-height:24px!important;
    object-fit:contain!important;
  }

  #hero.home-hero .hero-badge-rank{
    max-width:100%!important;
    min-height:0!important;
    font-size:.68rem!important;
    line-height:1.12!important;
    letter-spacing:-.005em!important;
  }

  #hero.home-hero .hero-badge-year{
    margin-top:.28rem!important;
    padding-top:.50rem!important;
    font-size:.96rem!important;
    line-height:1!important;
  }

  #hero.home-hero .hero-awards-cta{
    width:100%!important;
    max-width:none!important;
    min-height:40px!important;
    margin:.82rem 0 0!important;
    padding:.74rem .25rem!important;
    display:flex!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:.58rem!important;
    line-height:1.2!important;
    letter-spacing:.12em!important;
  }

  #hero.home-hero .hero-slider-controls{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    height:30px!important;
    padding:0 1rem!important;
    gap:6px!important;
  }

  #hero.home-hero .hero-slider-step{
    height:20px!important;
    padding:9px 0!important;
  }

  #hero.home-hero .hero-slider-track{
    height:2px!important;
  }
}

@media (max-width:390px){
  #hero.home-hero{
    padding:
      clamp(2.25rem,5.8vh,3.15rem)
      1rem
      clamp(4.5rem,8vh,5.75rem)!important;
  }

  #hero.home-hero .home-hero-body{
    gap:1.35rem!important;
  }

  #hero.home-hero .home-hero-title{
    font-size:clamp(2.18rem,10.8vw,3.18rem)!important;
  }

  #hero.home-hero .home-hero-copy{
    font-size:.88rem!important;
    line-height:1.5!important;
  }

  #hero.home-hero .hero-badge{
    min-height:116px!important;
    padding:.70rem .66rem .66rem!important;
  }

  #hero.home-hero .hero-badge:nth-child(1) .hero-badge-logo img,
  #hero.home-hero .hero-badge:nth-child(2) .hero-badge-logo img{
    max-width:86px!important;
    max-height:22px!important;
  }

  #hero.home-hero .hero-badge-rank{
    font-size:.63rem!important;
  }

  #hero.home-hero .hero-badge-year{
    font-size:.90rem!important;
  }
}

/* =========================================================
   HERO BADGES RESPONSIVE STABILITY - FINAL V8
   The ranking plaques now shrink as a single system.
   Logos no longer keep fixed desktop dimensions when the
   right column narrows.
   Keep this block at the absolute end of hero.css.
   ========================================================= */

#hero.home-hero .hero-awards-card,
#hero.home-hero .hero-badges,
#hero.home-hero .hero-badge,
#hero.home-hero .hero-badge-logo,
#hero.home-hero .hero-badge-logo img{
  min-width:0!important;
  box-sizing:border-box!important;
}

#hero.home-hero .home-hero-body{
  grid-template-columns:minmax(0,1fr) minmax(320px,440px)!important;
  gap:clamp(2.75rem,5.2vw,7.25rem)!important;
}

#hero.home-hero .hero-awards-card{
  width:100%!important;
  max-width:440px!important;
  align-items:center!important;
}

#hero.home-hero .hero-badges{
  width:100%!important;
  max-width:440px!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(.78rem,1.15vw,1.05rem)!important;
  justify-content:stretch!important;
  align-items:stretch!important;
}

#hero.home-hero .hero-badge{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:clamp(214px,19.8vw,252px)!important;
  min-height:0!important;
  padding:clamp(.92rem,1.05vw,1.16rem) clamp(.82rem,1vw,1.08rem) .95rem!important;
  grid-template-rows:clamp(54px,5.9vw,82px) auto 1fr!important;
  row-gap:.18rem!important;
}

#hero.home-hero .hero-badge-logo{
  width:100%!important;
  max-width:100%!important;
  height:clamp(48px,5.4vw,76px)!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  transform:none!important;
}

#hero.home-hero .hero-badge-logo img,
#hero.home-hero .hero-badge:nth-child(1) .hero-badge-logo img,
#hero.home-hero .hero-badge:nth-child(2) .hero-badge-logo img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:min(82%,146px)!important;
  max-height:clamp(28px,3.35vw,43px)!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  filter:grayscale(1) contrast(1.06) brightness(.66)!important;
  opacity:.92!important;
}

#hero.home-hero .hero-badge-rank{
  max-width:100%!important;
  min-height:2.25em!important;
  font-size:clamp(.82rem,1.08vw,.98rem)!important;
  line-height:1.1!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

#hero.home-hero .hero-badge-year{
  font-size:clamp(1.08rem,1.45vw,1.35rem)!important;
}

@media (max-width:1320px) and (min-width:1181px){
  #hero.home-hero .home-hero-body{
    grid-template-columns:minmax(0,1fr) minmax(330px,380px)!important;
    gap:clamp(2.5rem,4vw,5.25rem)!important;
  }

  #hero.home-hero .hero-awards-card,
  #hero.home-hero .hero-badges{
    max-width:380px!important;
  }

  #hero.home-hero .hero-badge{
    height:224px!important;
    grid-template-rows:58px auto 1fr!important;
  }

  #hero.home-hero .hero-badge-logo{
    height:54px!important;
  }

  #hero.home-hero .hero-badge-logo img,
  #hero.home-hero .hero-badge:nth-child(1) .hero-badge-logo img,
  #hero.home-hero .hero-badge:nth-child(2) .hero-badge-logo img{
    max-width:min(80%,124px)!important;
    max-height:34px!important;
  }

  #hero.home-hero .hero-badge-rank{
    font-size:.86rem!important;
  }
}

@media (max-width:1180px){
  #hero.home-hero .home-hero-body{
    grid-template-columns:1fr!important;
  }

  #hero.home-hero .hero-awards-card,
  #hero.home-hero .hero-badges{
    width:100%!important;
    max-width:400px!important;
  }

  #hero.home-hero .hero-badge{
    height:214px!important;
    grid-template-rows:54px auto 1fr!important;
  }

  #hero.home-hero .hero-badge-logo{
    height:50px!important;
  }

  #hero.home-hero .hero-badge-logo img,
  #hero.home-hero .hero-badge:nth-child(1) .hero-badge-logo img,
  #hero.home-hero .hero-badge:nth-child(2) .hero-badge-logo img{
    max-width:min(80%,118px)!important;
    max-height:32px!important;
  }
}

@media (max-width:760px){
  #hero.home-hero .hero-awards-card,
  #hero.home-hero .hero-badges{
    width:100%!important;
    max-width:none!important;
  }

  #hero.home-hero .hero-badges{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.68rem!important;
  }

  #hero.home-hero .hero-badge{
    height:auto!important;
    min-height:128px!important;
    padding:.78rem .72rem .72rem!important;
    grid-template-rows:40px auto 1fr!important;
  }

  #hero.home-hero .hero-badge-logo{
    height:38px!important;
  }

  #hero.home-hero .hero-badge-logo img,
  #hero.home-hero .hero-badge:nth-child(1) .hero-badge-logo img,
  #hero.home-hero .hero-badge:nth-child(2) .hero-badge-logo img{
    max-width:min(78%,94px)!important;
    max-height:24px!important;
  }

  #hero.home-hero .hero-badge-rank{
    min-height:0!important;
    font-size:.68rem!important;
    line-height:1.12!important;
  }
}

@media (max-width:390px){
  #hero.home-hero .hero-badge{
    min-height:116px!important;
  }

  #hero.home-hero .hero-badge-logo img,
  #hero.home-hero .hero-badge:nth-child(1) .hero-badge-logo img,
  #hero.home-hero .hero-badge:nth-child(2) .hero-badge-logo img{
    max-width:min(76%,86px)!important;
    max-height:22px!important;
  }
}

/* =========================================================
   MOBILE HERO TOP BREATHING ROOM
   Gives the mobile hero more air below the browser chrome.
   ========================================================= */
@media (max-width:640px){
  #hero.home-hero{
    padding-top:calc(clamp(2.6rem,6.5vh,3.65rem) + 1rem)!important;
  }
}

@media (max-width:390px){
  #hero.home-hero{
    padding-top:calc(clamp(2.25rem,5.8vh,3.15rem) + 1rem)!important;
  }
}
