/* Vanta Garage dedicated footer styles */
.vgl-footer{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 0%, rgba(215,255,57,.12), transparent 28%),
    radial-gradient(circle at 92% 20%, rgba(79,195,255,.10), transparent 30%),
    linear-gradient(180deg,#07090d 0%,#050609 100%);
  color:#fff;
  border-top:1px solid rgba(255,255,255,.13);
  z-index:5;
}
.vgl-footer:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:72px 72px;
  opacity:.45;
  pointer-events:none;
  mask-image:linear-gradient(180deg,#000,transparent 92%);
}
.vgl-footer:after{
  content:"";
  position:absolute;
  left:-20%;
  top:0;
  width:42%;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--acid),rgba(79,195,255,.55),transparent);
  box-shadow:0 0 24px rgba(215,255,57,.62),0 0 50px rgba(79,195,255,.22);
  animation:vglFooterScan 7.5s linear infinite;
  pointer-events:none;
  opacity:.7;
}
@keyframes vglFooterScan{
  from{transform:translateX(0)}
  to{transform:translateX(330%)}
}
.vgl-footer-shell{
  position:relative;
  z-index:1;
  max-width:var(--max);
  margin:0 auto;
  padding:64px 34px 26px;
}
.vgl-footer-top{
  display:grid;
  grid-template-columns:minmax(320px,1.18fr) minmax(360px,1fr);
  gap:28px;
  align-items:stretch;
  margin-bottom:32px;
}
.vgl-footer-brand-card,
.vgl-footer-cta-card{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(17,23,32,.78);
  backdrop-filter:blur(18px);
  box-shadow:0 36px 100px rgba(0,0,0,.34);
}
.vgl-footer-brand-card{
  padding:30px;
  min-height:270px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:28px;
}
.vgl-footer-brand-row{
  display:flex;
  align-items:center;
  gap:18px;
}
.vgl-footer-logo{
  width:70px;
  height:70px;
  min-width:70px;
  display:grid;
  place-items:center;
  background:#fff;
  color:#050609;
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:38px;
  line-height:1;
  clip-path:polygon(0 0,100% 0,82% 100%,18% 100%);
}
.vgl-footer-kicker{
  display:block;
  color:var(--acid);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:11px;
  font-weight:900;
  margin-bottom:8px;
}
.vgl-footer-brand-card h2{
  margin:0;
  font-family:"Bebas Neue",Impact,sans-serif;
  font-weight:400;
  line-height:.88;
  font-size:clamp(44px,5vw,76px);
  color:#fff;
}
.vgl-footer-lede{
  max-width:680px;
  color:#cbd4df;
  font-size:16px;
  margin:0;
}
.vgl-footer-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.12);
}
.vgl-footer-stats div{
  background:rgba(5,6,9,.72);
  padding:16px 15px;
}
.vgl-footer-stats strong{
  display:block;
  font-family:"Bebas Neue",Impact,sans-serif;
  font-weight:400;
  font-size:34px;
  line-height:.85;
  color:#fff;
}
.vgl-footer-stats span{
  display:block;
  margin-top:8px;
  color:#aeb7c3;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:10px;
  font-weight:900;
}
.vgl-footer-cta-card{
  padding:30px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:24px;
  position:relative;
  overflow:hidden;
}
.vgl-footer-cta-card:before{
  content:"";
  position:absolute;
  right:-70px;
  bottom:-70px;
  width:220px;
  height:220px;
  border:1px solid rgba(215,255,57,.22);
  border-radius:50%;
  pointer-events:none;
}
.vgl-footer-cta-card h3{
  position:relative;
  z-index:1;
  margin:0;
  color:#fff;
  font-size:30px;
  line-height:1.02;
}
.vgl-footer-cta-card p{
  position:relative;
  z-index:1;
  max-width:560px;
  color:#cbd4df;
  margin:12px 0 0;
}
.vgl-footer-actions{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.vgl-footer-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:13px 18px;
  border:1px solid var(--acid);
  background:var(--acid);
  color:#050609;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:12px;
  font-weight:900;
  transition:transform .32s var(--ease),background .32s var(--ease),color .32s var(--ease),border-color .32s var(--ease);
}
.vgl-footer-btn:hover{
  transform:translateY(-2px);
  background:#fff;
  border-color:#fff;
}
.vgl-footer-btn.is-ghost{
  background:transparent;
  color:#fff;
  border-color:rgba(255,255,255,.28);
}
.vgl-footer-btn.is-ghost:hover{
  background:#fff;
  color:#050609;
  border-color:#fff;
}
.vgl-footer-status{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.vgl-footer-status span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.05);
  color:#d8e0ea;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:10px;
  font-weight:900;
}
.vgl-footer-status span:before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--acid);
  box-shadow:0 0 12px rgba(215,255,57,.7);
}
.vgl-footer-links{
  display:grid;
  grid-template-columns:1.15fr repeat(3,1fr);
  gap:1px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.12);
  margin-bottom:24px;
}
.vgl-footer-panel{
  background:rgba(8,11,16,.86);
  padding:24px;
  min-height:235px;
}
.vgl-footer-panel h3{
  margin:0 0 16px;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.15em;
  font-size:12px;
  line-height:1.3;
}
.vgl-footer-panel p{
  color:#b8c2ce;
  margin:0 0 14px;
  font-size:14px;
}
.vgl-footer-link-list{
  display:grid;
  gap:7px;
}
.vgl-footer-link-list a,
.vgl-footer-contact a{
  color:#cbd4df;
  font-size:14px;
  margin:0;
  display:inline-flex;
  width:max-content;
  max-width:100%;
  transition:color .28s var(--ease),transform .28s var(--ease);
}
.vgl-footer-link-list a:hover,
.vgl-footer-contact a:hover{
  color:var(--acid);
  transform:translateX(3px);
}
.vgl-footer-contact{
  display:grid;
  gap:10px;
}
.vgl-footer-contact span{
  color:#7f8997;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:10px;
  font-weight:900;
}
.vgl-footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.12);
  color:#8793a2;
  font-size:13px;
}
.vgl-footer-bottom-links{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}
.vgl-footer-bottom a{
  color:#aab4c0;
  margin:0;
}
.vgl-footer-bottom a:hover{
  color:var(--acid);
}

@media(max-width:1180px){
  .vgl-footer-shell{
    padding:56px 28px 24px;
  }
  .vgl-footer-top,
  .vgl-footer-links{
    grid-template-columns:1fr 1fr;
  }
  .vgl-footer-panel:first-child{
    grid-column:span 2;
  }
}
@media(max-width:760px){
  .vgl-footer-shell{
    padding:44px 18px 22px;
  }
  .vgl-footer-top,
  .vgl-footer-links{
    grid-template-columns:1fr;
  }
  .vgl-footer-panel:first-child{
    grid-column:auto;
  }
  .vgl-footer-brand-card,
  .vgl-footer-cta-card,
  .vgl-footer-panel{
    padding:22px;
  }
  .vgl-footer-brand-row{
    align-items:flex-start;
    gap:14px;
  }
  .vgl-footer-logo{
    width:58px;
    height:58px;
    min-width:58px;
    font-size:31px;
  }
  .vgl-footer-brand-card h2{
    font-size:44px;
  }
  .vgl-footer-stats{
    grid-template-columns:1fr;
  }
  .vgl-footer-cta-card h3{
    font-size:25px;
  }
  .vgl-footer-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .vgl-footer-btn{
    width:100%;
  }
  .vgl-footer-panel{
    min-height:0;
  }
  .vgl-footer-link-list a,
  .vgl-footer-contact a{
    width:100%;
    padding:5px 0;
  }
  .vgl-footer-bottom{
    display:grid;
    justify-items:start;
    gap:12px;
  }
  .vgl-footer-bottom-links{
    gap:10px 14px;
  }
}

/* v22: make the footer read as a full-width section */
.vgl-footer{
  width:100% !important;
  max-width:none !important;
}
.vgl-footer-shell{
  width:100% !important;
  max-width:none !important;
}
@media(min-width:1181px){
  body.footer-zone .site{margin-left:0 !important;}
  body.footer-zone .vgl-footer{width:100vw !important;}
}
@media(max-width:820px){
  .vgl-footer{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }
  .vgl-footer-shell{
    width:100% !important;
    max-width:100% !important;
    padding-left:18px !important;
    padding-right:18px !important;
  }
  .vgl-footer-top,
  .vgl-footer-links,
  .vgl-footer-brand-card,
  .vgl-footer-cta-card,
  .vgl-footer-panel,
  .vgl-footer-bottom{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
}
