.bv-footer{
  border-top:1px solid var(--color-border-metallic);
  background:radial-gradient(circle at top,#1a1410 0,#050507 70%,#020203 100%);
  padding-top:var(--space-10);
  padding-bottom:var(--space-8);
}
.bv-footer__inner{
  display:flex;
  flex-direction:column;
  gap:var(--space-8);
}
.bv-footer__primary{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-8);
  align-items:flex-start;
}
.bv-footer__brand-block{
  flex:1 1 260px;
  max-width:360px;
  display:flex;
  flex-direction:column;
  gap:var(--space-4);
}
.bv-footer__brand{
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
}
.bv-footer__logo{
  display:inline-flex;
  align-items:baseline;
  gap:0.35rem;
  font-family:var(--font-serif-display);
  letter-spacing:0.3em;
  text-transform:uppercase;
  font-size:var(--font-size-lg);
}
.bv-footer__logo-word--accent{
  color:var(--color-accent-gold);
}
.bv-footer__tagline{
  font-size:var(--font-size-sm);
  color:var(--color-text-muted);
  max-width:22rem;
}
.bv-footer__details{
  font-size:var(--font-size-xs);
  color:var(--color-text-muted);
}
.bv-footer__grid{
  flex:2 1 380px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-6);
}
.bv-footer__heading{
  font-size:var(--font-size-sm);
  letter-spacing:0.2em;
  text-transform:uppercase;
  margin-bottom:var(--space-4);
  color:var(--color-accent-gold);
}
.bv-footer__list{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:0.55rem;
}
.bv-footer__link{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:0.45rem;
  font-size:var(--font-size-sm);
  color:var(--color-text-muted);
}
.bv-footer__link::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:999px;
  border:1px solid rgba(217,119,6,0.75);
  box-shadow:0 0 0 1px rgba(0,0,0,0.9);
  background:radial-gradient(circle at 30% 0,rgba(217,119,6,0.7),rgba(5,5,7,1));
  opacity:0;
  transform:scale(0.5);
  transition:opacity var(--transition-base),transform var(--transition-base);
}
.bv-footer__link:hover::before{
  opacity:1;
  transform:scale(1);
}
.bv-footer__link:focus-visible{
  outline:var(--focus-ring-width) solid var(--focus-ring-color);
  outline-offset:3px;
}
.bv-footer__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid rgba(61,47,32,0.9);
  padding-top:var(--space-4);
}
.bv-footer__copy{
  width:100%;
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-3);
  justify-content:space-between;
  align-items:center;
  font-size:var(--font-size-xs);
  color:var(--color-text-muted);
}
@media (max-width:900px){
  .bv-footer__primary{
    flex-direction:column;
  }
  .bv-footer__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:640px){
  .bv-footer{
    padding-top:var(--space-8);
  }
  .bv-footer__grid{
    grid-template-columns:1fr;
  }
  .bv-footer__bottom{
    padding-top:var(--space-3);
  }
  .bv-footer__copy{
    flex-direction:column;
    align-items:flex-start;
  }
}
.bv-cookie{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:60;
  pointer-events:none;
}
.bv-cookie__inner{
  margin:0 auto var(--space-4);
  max-width:var(--container-max-width);
  border-radius:var(--radius-lg);
  border:1px solid var(--color-border-metallic);
  background:radial-gradient(circle at top,#241319 0,#050507 60%,#020203 100%);
  box-shadow:var(--shadow-hard);
  padding:var(--space-4) var(--space-5);
  display:flex;
  gap:var(--space-4);
  align-items:center;
  justify-content:space-between;
  transform:translateY(150%);
  opacity:0;
  transition:transform var(--transition-slow),opacity var(--transition-slow);
  pointer-events:auto;
}
.bv-cookie--visible .bv-cookie__inner{
  transform:translateY(0);
  opacity:1;
}
.bv-cookie__text{
  flex:1 1 auto;
  min-width:0;
}
.bv-cookie__title{
  font-size:var(--font-size-sm);
  letter-spacing:0.16em;
  text-transform:uppercase;
  margin-bottom:var(--space-2);
}
.bv-cookie__description{
  font-size:var(--font-size-xs);
  color:var(--color-text-muted);
}
.bv-cookie__actions{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-2);
}
.bv-cookie__btn{
  white-space:nowrap;
}
@media (max-width:640px){
  .bv-cookie__inner{
    margin:0 var(--space-3) var(--space-3);
    flex-direction:column;
    align-items:flex-start;
  }
  .bv-cookie__actions{
    width:100%;
    justify-content:flex-end;
  }
  .bv-cookie__btn{
    flex:1 1 auto;
    justify-content:center;
  }
}
@media (prefers-reduced-motion:reduce){
  .bv-cookie__inner{
    transition:none;
  }
}