
.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;}
}
