.site-footer{
  position:relative;
  overflow:hidden;
  border-top:1px solid var(--line);
  background:var(--night);
  color:rgba(245,230,200,.7);
}
.site-footer::before{
  content:"\0950";
  position:absolute;
  left:50%;
  bottom:-.28em;
  transform:translateX(-50%);
  color:var(--gold);
  font-family:"Cormorant Garamond",serif;
  font-size:20vw;
  line-height:1;
  opacity:.035;
  pointer-events:none;
}
.footer-container{
  position:relative;
  z-index:1;
  width:min(100%,var(--max,1180px));
  margin:0 auto;
  padding:clamp(44px,7vw,72px) 28px clamp(30px,4vw,42px);
}
.footer-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.footer-brand-mark{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-bottom:10px;
}
.footer-logo{
  width:58px;
  height:64px;
  object-fit:contain;
  mix-blend-mode:screen;
  filter:saturate(1.08) contrast(1.12);
}
.footer-wordmark{
  color:var(--cream);
  font-family:Cinzel,serif;
  font-size:14px;
  font-weight:500;
  letter-spacing:.16em;
  line-height:1.4;
  text-transform:uppercase;
}
.footer-tagline{
  max-width:none;
  color:rgba(245,230,200,.62);
  font-family:"Cormorant Garamond",serif;
  font-size:18px;
  font-style:italic;
  line-height:1.55;
  white-space:nowrap;
}
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.social-icon{
  display:inline-grid;
  place-items:center;
  width:20px;
  height:20px;
  color:currentColor;
}
.social-icon svg{
  width:100%;
  height:100%;
  fill:currentColor;
}
.icon-button{
  width:52px!important;
  min-width:52px;
  min-height:52px;
  padding:0!important;
  border-radius:50%!important;
}
.footer-social,
.footer-social-icons{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
}
.footer-social-icons{
  list-style:none;
}
.footer-social .social-icon-link{
  display:inline-grid;
  place-items:center;
  width:44px;
  height:44px;
  border:1px solid var(--line);
  border-radius:50%;
  color:var(--gold);
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
.footer-social .social-icon-link::after{
  display:none;
}
.footer-social .social-icon-link:hover,
.footer-social .social-icon-link:focus-visible{
  background:rgba(201,148,74,.1);
  border-color:var(--gold);
  color:var(--cream);
  transform:translateY(-1px);
}
.footer-rule{
  height:1px;
  margin:clamp(34px,5vw,52px) 0 28px;
  background:linear-gradient(90deg,transparent,var(--line-strong,rgba(201,148,74,.4)) 20%,var(--line-strong,rgba(201,148,74,.4)) 80%,transparent);
}
.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  text-align:left;
}
.footer-meta{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:24px;
}
.footer-legal{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:22px;
  color:var(--parchment);
  font-size:12px;
  letter-spacing:.02em;
  line-height:1.7;
}
.footer-legal a,
.footer-copyright{
  color:var(--parchment);
  font-size:12px;
  letter-spacing:.02em;
  line-height:1.7;
}
.footer-legal a{
  color:var(--parchment);
  text-decoration:underline;
  text-decoration-color:rgba(160,128,96,.4);
  text-underline-offset:3px;
  transition:color .2s ease;
}
.footer-legal a:hover{
  color:var(--gold);
}
.footer-powered{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding-left:24px;
  border-left:1px solid rgba(160,128,96,.32);
  text-decoration:none;
}
.footer-powered span{
  color:rgba(160,128,96,.78);
  font-size:12px;
  line-height:1.4;
}
.footer-powered img{
  display:block;
  width:auto;
  height:22px;
  max-width:132px;
  object-fit:contain;
}
@media(max-width:900px){
  .footer-top{
    align-items:flex-start;
  }
}
@media(max-width:560px){
  .footer-container{
    padding:34px 18px 28px;
  }
  .footer-top{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:16px;
  }
  .footer-brand{
    text-align:left;
  }
  .footer-brand-mark{
    justify-content:flex-start;
    gap:10px;
    margin-bottom:8px;
  }
  .footer-logo{
    width:52px;
    height:58px;
  }
  .footer-wordmark{
    font-size:12px;
    letter-spacing:.14em;
  }
  .footer-tagline{
    max-width:none;
    margin:0;
    font-size:13.5px;
    line-height:1.32;
    white-space:nowrap;
  }
  .footer-social,
  .footer-social-icons{
    gap:7px;
  }
  .footer-social .social-icon-link{
    width:30px;
    height:30px;
  }
  .social-icon{
    width:15px;
    height:15px;
  }
  .footer-rule{
    margin:24px 0 18px;
  }
  .footer-bottom{
    display:grid;
    justify-content:center;
    justify-items:center;
    gap:14px;
    text-align:center;
    width:100%;
  }
  .footer-meta{
    display:grid;
    justify-content:center;
    justify-items:center;
    align-items:center;
    gap:14px;
    width:100%;
    text-align:center;
  }
  .footer-legal,
  .footer-copyright,
  .footer-powered span{
    font-size:11px;
    line-height:1.5;
  }
  .footer-legal{
    gap:14px;
    justify-content:center;
    text-align:center;
    width:100%;
  }
  .footer-powered{
    gap:14px;
    justify-self:center;
    margin:0 auto;
    padding-left:14px;
    border-left:1px solid rgba(160,128,96,.32);
  }
  .footer-powered img{
    height:18px;
    max-width:112px;
  }
}
