/* Clean footer aligned with the main navigation style. */
.site-footer{
  position:relative;
  z-index:4;
  padding:clamp(30px,3.6vw,48px) var(--page-gutter) max(22px,env(safe-area-inset-bottom));
  color:var(--text);
  background:linear-gradient(180deg,rgba(5,7,5,0),rgba(5,7,5,.76) 18%,#050705 68%);
}
.site-footer-shell{
  position:relative;
  width:min(1240px,100%);
  margin:0 auto;
}
.site-footer-shell::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(217,201,142,.64),rgba(245,242,223,.36),transparent);
  box-shadow:0 0 18px rgba(217,201,142,.18);
  opacity:.86;
}
.site-footer-main{
  display:grid;
  grid-template-columns:minmax(260px,340px) minmax(0,1fr);
  align-items:start;
  column-gap:clamp(34px,4.4vw,68px);
  padding:clamp(16px,2vw,24px) 0 6px;
}
.site-footer-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  min-width:0;
}
.site-footer-logo-link{
  width:60px;
  height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  text-decoration:none;
  line-height:0;
}
.site-footer-logo{
  width:auto;
  height:44px;
  max-width:60px;
  object-fit:contain;
  filter:drop-shadow(0 0 18px rgba(245,242,223,.16));
}
.site-footer-brand p{
  max-width:330px;
  margin:14px 0 0;
  color:rgba(255,248,232,.58);
  font-size:.88rem;
  line-height:1.62;
}
.site-footer-brand p strong{
  color:rgba(255,248,232,.86);
  font-weight:900;
  letter-spacing:.08em;
}
.site-footer-meta{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-top:17px;
  color:rgba(255,248,232,.42);
  font-size:.8rem;
  line-height:1.42;
}
.site-footer-meta a{
  position:relative;
  width:fit-content;
  color:rgba(255,248,232,.62);
  text-decoration:none;
  transition:color .18s var(--ease), text-shadow .18s var(--ease);
}
.site-footer-links-panel{
  display:flex;
  flex-direction:column;
  min-width:0;
  align-self:start;
}
.site-footer-columns{
  display:grid;
  grid-template-columns:repeat(4,minmax(130px,1fr));
  align-items:start;
  column-gap:clamp(22px,2.8vw,46px);
  row-gap:16px;
  min-width:0;
}
.site-footer-column{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}
.site-footer-column h3{
  margin:0 0 3px;
  min-height:0;
  display:flex;
  align-items:center;
  color:rgba(255,248,232,.86);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.14em;
  line-height:1;
  text-transform:uppercase;
}
.site-footer-column a,
.site-footer-column button{
  position:relative;
  width:fit-content;
  border:0;
  padding:0 0 5px;
  margin-bottom:-5px;
  background:transparent;
  color:rgba(255,248,232,.55);
  font:inherit;
  font-size:.88rem;
  line-height:1.42;
  text-decoration:none;
  cursor:pointer;
  text-align:left;
  transition:color .18s var(--ease),text-shadow .18s var(--ease),opacity .18s var(--ease);
}
.site-footer-social{
  width:100%;
  margin:8px 0 0;
  padding:0;
}
.site-footer-social-links{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px;
  margin:0;
  padding:0;
}
.site-footer-social-link{
  position:relative;
  width:46px;
  height:46px;
  display:inline-grid;
  place-items:center;
  padding:0 0 6px;
  margin-bottom:-6px;
  color:rgba(255,248,232,.62);
  text-decoration:none;
  transition:color .18s var(--ease), text-shadow .18s var(--ease), opacity .18s var(--ease), transform .18s var(--ease);
}
.site-footer-social-link svg{
  width:26px;
  height:26px;
  display:block;
  fill:currentColor;
}
.site-footer-bottom{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:4px;
  padding-top:10px;
  color:rgba(255,248,232,.42);
  font-size:.82rem;
}
.site-footer-bottom::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(217,201,142,.50),rgba(245,242,223,.28),transparent);
  box-shadow:0 0 14px rgba(217,201,142,.13);
  opacity:.72;
}
.site-footer-bottom p{
  margin:0;
}
.site-footer-bottom-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  justify-content:flex-end;
}
.site-footer-bottom-links a{
  position:relative;
  display:inline-flex;
  padding-bottom:5px;
  margin-bottom:-5px;
  color:rgba(255,248,232,.55);
  text-decoration:none;
  transition:color .18s var(--ease), text-shadow .18s var(--ease);
}
.site-footer-meta a::after,
.site-footer-column a::after,
.site-footer-column button::after,
.site-footer-bottom-links a::after,
a.site-footer-social-link::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(244,241,223,.74),rgba(217,201,142,.34),transparent);
  opacity:0;
  transition:opacity .22s var(--ease);
  pointer-events:none;
}
.site-footer-meta a:hover,
.site-footer-meta a:focus-visible,
.site-footer-column a:hover,
.site-footer-column button:hover,
.site-footer-column a:focus-visible,
.site-footer-column button:focus-visible,
.site-footer-bottom-links a:hover,
.site-footer-bottom-links a:focus-visible,
a.site-footer-social-link:hover,
a.site-footer-social-link:focus-visible{
  color:#fffbea;
  text-shadow:0 0 14px rgba(245,242,223,.24);
  outline:none;
}
a.site-footer-social-link:hover,
a.site-footer-social-link:focus-visible{
  transform:translateY(-1px);
}
.site-footer-meta a:hover::after,
.site-footer-meta a:focus-visible::after,
.site-footer-column a:hover::after,
.site-footer-column a:focus-visible::after,
.site-footer-column button:hover::after,
.site-footer-column button:focus-visible::after,
.site-footer-bottom-links a:hover::after,
.site-footer-bottom-links a:focus-visible::after,
a.site-footer-social-link:hover::after,
a.site-footer-social-link:focus-visible::after{
  opacity:1;
}
.site-footer-social-link.is-disabled{
  cursor:default;
  opacity:.72;
}
.site-footer-social-link.is-disabled:hover{
  color:rgba(255,248,232,.62);
  text-shadow:none;
  transform:none;
}

@media (max-width:1080px){
  .site-footer-main{
    grid-template-columns:1fr;
    row-gap:22px;
  }
  .site-footer-columns{
    grid-template-columns:repeat(2,minmax(180px,1fr));
    column-gap:42px;
  }
  .site-footer-social{margin-top:10px;}
}
@media (max-width:760px){
  .site-footer{padding-top:42px;}
  .site-footer-main{row-gap:18px;}
  .site-footer-columns{
    grid-template-columns:1fr 1fr;
    column-gap:28px;
    row-gap:14px;
  }
  .site-footer-bottom{align-items:flex-start;flex-direction:column;}
  .site-footer-bottom-links{justify-content:flex-start;}
}
@media (max-width:540px){
  .site-footer-columns{grid-template-columns:1fr;column-gap:0;row-gap:18px;}
  .site-footer-social-links{justify-content:flex-start;}
}
