/* Homepage location image cards */
.local-banner{padding:84px 0 88px;overflow:hidden}
.local-banner>.wrap{
  position:relative;
  z-index:1;
  display:block;
}
.local-banner-copy{max-width:820px;margin-bottom:38px}
.local-banner-copy h2{margin-bottom:20px}
.local-banner-copy>p:not(.eyebrow){max-width:620px;margin-bottom:0;color:#c1d0db;font-size:15px}
.local-banner .locations{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
  width:100%;
}
.local-banner .locations a{
  position:relative;
  isolation:isolate;
  display:flex;
  min-width:0;
  min-height:230px;
  padding:20px;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
  border:1px solid #ffffff2b;
  border-radius:8px;
  background-image:linear-gradient(180deg,#071e332e 16%,#071e33e8 100%),var(--location-image);
  background-position:center;
  background-size:cover;
  color:#fff;
  text-decoration:none;
  box-shadow:0 16px 35px #00111e33;
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease,background-size .35s ease;
}
.local-banner .locations a:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:#071e3324;
  transition:background-color .24s ease;
}
.local-banner .locations a span{
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:clamp(26px,2.2vw,36px);
  font-weight:400;
  line-height:1;
  letter-spacing:.01em;
  text-wrap:balance;
}
.local-banner .locations a small{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:12px;
  padding-top:11px;
  border-top:1px solid #ffffff42;
  color:#d0e0e7;
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  line-height:1.2;
  text-transform:uppercase;
}
.local-banner .locations a small b{color:#5ed7d9;font-size:17px;line-height:1}
.local-banner .locations a:hover,
.local-banner .locations a:focus-visible{
  transform:translateY(-5px);
  border-color:#39c9cb;
  box-shadow:0 22px 44px #00111e80;
}
.local-banner .locations a:hover:before,
.local-banner .locations a:focus-visible:before{background:#071e330b}
.local-banner .locations a:focus-visible{outline:3px solid #5ed7d9;outline-offset:3px}

@media(max-width:1100px){
  .local-banner .locations{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .local-banner{padding:66px 0 70px}
  .local-banner-copy{margin-bottom:30px}
  .local-banner .locations{
    display:flex;
    flex-wrap:nowrap;
    width:auto;
    margin-right:calc(50% - 50vw);
    padding-right:20px;
    gap:12px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .local-banner .locations::-webkit-scrollbar{display:none}
  .local-banner .locations a{
    flex:0 0 min(74vw,350px);
    min-height:250px;
    scroll-snap-align:start;
  }
  .local-banner .locations a span{font-size:34px}
}
@media(max-width:430px){
  .local-banner .locations a{flex-basis:72vw;min-height:235px}
}
@media(prefers-reduced-motion:reduce){
  .local-banner .locations a{transition:none}
  .local-banner .locations{scroll-behavior:auto}
}

