.footer{
  margin-top:var(--space-10);
}
.footer-inner{
  max-width:var(--content-max-width);
  margin:0 auto;
}
.footer-brand .footer-title{
  letter-spacing:0.16em;
  text-transform:uppercase;
}
.footer-brand .footer-meta a{
  color:var(--color-accent-gold);
}
.footer-brand .footer-meta a:hover{
  color:var(--color-heading);
}
.footer-nav{
  align-items:flex-start;
}
.footer-nav-group-title{
  font-weight:500;
}
.footer-nav-link{
  font-size:var(--font-size-sm);
}
.footer-bottom{
  max-width:var(--content-max-width);
  margin:0 auto;
  padding:var(--space-4) var(--space-4) var(--space-6);
}
@media(min-width:768px){
  .footer-bottom{
    padding:var(--space-4) var(--space-6) var(--space-8);
  }
}
.footer-bottom-text{
  display:flex;
  align-items:center;
  gap:var(--space-2);
}
.cookie-banner{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:60;
  background:rgba(8,10,11,0.98);
  border-top:1px solid rgba(255,255,255,0.09);
  box-shadow:0 -12px 30px rgba(0,0,0,0.85);
  transform:translateY(100%);
  opacity:0;
  transition:transform var(--transition-slow),opacity var(--transition-slow);
}
.cookie-banner[hidden]{
  display:none;
}
.cookie-banner-visible{
  transform:translateY(0);
  opacity:1;
}
.cookie-banner-inner{
  max-width:var(--content-max-width);
  margin:0 auto;
  padding:var(--space-4);
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
}
@media(min-width:768px){
  .cookie-banner-inner{
    padding:var(--space-4) var(--space-6);
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-6);
  }
}
.cookie-banner-title{
  font-family:var(--font-serif);
  font-size:var(--font-size-md);
  color:var(--color-heading);
  margin-bottom:var(--space-2);
}
.cookie-banner-description{
  margin-bottom:0;
}
.cookie-banner-actions{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-2);
}
.cookie-banner-actions .btn{
  font-size:var(--font-size-xs);
}
@media(max-width:479.98px){
  .cookie-banner-actions{
    flex-direction:column;
  }
  .cookie-banner-actions .btn{
    width:100%;
    justify-content:center;
  }
}
.age-modal{
  position:fixed;
  inset:0;
  z-index:70;
  display:flex;
  align-items:center;
  justify-content:center;
}
.age-modal[hidden]{
  display:none;
}
.age-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.82);
}
.age-modal-content{
  position:relative;
  z-index:71;
  max-width:480px;
  width:calc(100% - 32px);
  padding:var(--space-6);
  border-radius:var(--radius-xl);
  background:radial-gradient(circle at top,rgba(13,41,41,0.55) 0,transparent 55%),radial-gradient(circle at bottom,rgba(64,21,31,0.6) 0,transparent 55%),var(--color-surface);
  border:1px solid rgba(255,255,255,0.12);
  box-shadow:var(--shadow-elevated);
}
.age-modal-title{
  font-size:var(--font-size-2xl);
  margin-bottom:var(--space-3);
}
.age-modal-description{
  margin-bottom:var(--space-3);
}
.age-modal-note{
  font-size:var(--font-size-xs);
  color:var(--color-text-muted);
  margin-bottom:var(--space-4);
}
.age-modal-actions{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-3);
  justify-content:flex-end;
}
.age-modal-actions .btn{
  font-size:var(--font-size-xs);
}
@media(max-width:479.98px){
  .age-modal-actions{
    flex-direction:column-reverse;
  }
  .age-modal-actions .btn{
    width:100%;
    justify-content:center;
  }
}
body.age-modal-open{
  overflow:hidden;
}
@media(prefers-reduced-motion:reduce){
  .cookie-banner{
    transition:none;
  }
}