.site-footer{position:relative;overflow:hidden;background:var(--black);color:var(--paper)}
.site-footer::before{position:absolute;top:0;right:0;left:0;height:1px;background:rgba(255,255,255,.15);content:""}
.footer-landing-wrap{padding-top:clamp(.85rem,1.6vw,1.4rem)}
.footer-landing-directory{border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.footer-landing-directory summary{display:grid;min-height:4.75rem;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:clamp(1rem,2.5vw,2.25rem);cursor:pointer;list-style:none}
.footer-landing-directory summary::-webkit-details-marker{display:none}
.footer-landing-directory summary:focus{outline:0}
.footer-landing-directory summary:focus-visible{outline:1px solid rgba(255,255,255,.5);outline-offset:-3px}
.footer-landing-directory__intro{display:flex;align-items:baseline;gap:clamp(.85rem,1.7vw,1.5rem)}
.footer-landing-directory__eyebrow{color:rgba(255,255,255,.38);font-size:.55rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
.footer-landing-directory__title{color:var(--paper);font-family:var(--font-serif);font-size:clamp(1.05rem,1.5vw,1.35rem);font-weight:400;letter-spacing:-.015em;line-height:1.1}
.footer-landing-directory__meta{color:rgba(255,255,255,.48);font-size:.62rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.footer-landing-directory__toggle{position:relative;width:2.15rem;height:2.15rem;border:1px solid rgba(255,255,255,.2);border-radius:50%;transition:border-color 180ms ease,background 180ms ease}
.footer-landing-directory__toggle::before,.footer-landing-directory__toggle::after{position:absolute;top:50%;left:50%;width:.75rem;height:1px;transform:translate(-50%,-50%);background:var(--paper);content:"";transition:transform 240ms var(--ease)}
.footer-landing-directory__toggle::after{transform:translate(-50%,-50%) rotate(90deg)}
.footer-landing-directory summary:hover .footer-landing-directory__toggle{border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.06)}
.footer-landing-directory[open] .footer-landing-directory__toggle::after{transform:translate(-50%,-50%) rotate(0)}
.footer-landing-directory__panel{max-height:min(16rem,42vh);padding:.25rem 0 1rem;overflow-y:auto;scrollbar-color:rgba(255,255,255,.3) transparent;scrollbar-width:thin}
.footer-landing-directory__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.12);border-left:1px solid rgba(255,255,255,.12)}
.footer-landing-directory__grid--few{max-width:72rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),28rem));gap:.45rem;border:0}
.footer-landing-directory__grid a{display:grid;min-height:3.75rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.75rem 1rem;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.72);font-size:.73rem;line-height:1.35;transition:background 180ms ease,color 180ms ease}
.footer-landing-directory__grid--few a{border:1px solid rgba(255,255,255,.12)}
.footer-landing-directory__number{color:rgba(255,255,255,.3);font-size:.55rem;letter-spacing:.12em}
.footer-landing-directory__arrow{color:rgba(255,255,255,.36);font-size:.85rem;transition:transform 180ms ease,color 180ms ease}
.footer-landing-directory__grid a:hover{background:var(--paper);color:var(--black)}
.footer-landing-directory__grid a:hover .footer-landing-directory__number,.footer-landing-directory__grid a:hover .footer-landing-directory__arrow{color:rgba(0,0,0,.48)}
.footer-landing-directory__grid a:hover .footer-landing-directory__arrow{transform:translate(.15rem,-.15rem)}
.footer-main{display:grid;grid-template-columns:minmax(12rem,.48fr) minmax(0,1.52fr);gap:clamp(3rem,7vw,8rem);padding-top:clamp(4rem,7vw,7rem);padding-bottom:clamp(4rem,7vw,7rem)}
.footer-brand img{width:clamp(7.5rem,10vw,10rem);height:5rem;margin-bottom:.4rem;object-fit:contain}
.footer-brand p{text-align:center;width:10rem;margin:0;color:rgba(255,255,255,.4);font-size:.5rem;font-weight:500;justify-content:space-between;letter-spacing:.04em;line-height:1.7;text-transform:uppercase;white-space:nowrap}
.footer-navigation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.5rem,3.5vw,3.75rem)}
.footer-navigation>div{display:flex;align-items:flex-start;flex-direction:column;gap:.75rem}
.footer-navigation h3{margin-bottom:.65rem;color:rgba(255,255,255,.9);font-family:var(--font-sans);font-size:.7rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.footer-navigation a{position:relative;color:rgba(255,255,255,.48);font-size:.85rem;font-weight:300;transition:color 180ms ease,transform 220ms var(--ease)}
.footer-navigation a>.sl-icon{display:inline-block;width:.7rem;height:.7rem;margin-left:.25rem;color:rgba(255,255,255,.7);transition:transform 220ms var(--ease)}
.footer-navigation a:hover>.sl-icon{transform:translate(.12rem,-.12rem)}
.footer-navigation a::before{position:absolute;top:50%;left:-.8rem;width:.35rem;height:1px;transform:scaleX(0);transform-origin:right;background:var(--paper);content:"";transition:transform 180ms ease}
.footer-navigation a:hover{transform:translateX(.8rem);color:var(--paper)}
.footer-navigation a:hover::before{transform:scaleX(1)}
.footer-bottom{display:grid;min-height:5.25rem;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.38);font-size:.65rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.footer-bottom p{margin:0}
.footer-bottom>div{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2rem)}
.footer-bottom>div:last-child{justify-content:flex-end}
.footer-bottom a,.footer-bottom button{transition:color 180ms ease}
.footer-bottom button{padding:0;border:0;background:transparent;color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit}
.footer-bottom a:hover,.footer-bottom button:hover{color:var(--paper)}
@media (max-width:56rem){
.footer-landing-directory__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.footer-main{grid-template-columns:1fr;gap:3.5rem}
.footer-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem 2rem}
.footer-bottom{grid-template-columns:1fr auto;padding-block:1.5rem}
.footer-bottom p{grid-column:1/-1}
}
@media (max-width:38rem){
.footer-landing-wrap{padding-top:.75rem}
.footer-landing-directory summary{min-height:4.6rem;grid-template-columns:minmax(0,1fr) auto;gap:.8rem}
.footer-landing-directory__intro{align-items:flex-start;flex-direction:column;gap:.35rem}
.footer-landing-directory__title{max-width:15rem;font-size:1.05rem;line-height:1.08}
.footer-landing-directory__meta{display:none}
.footer-landing-directory__toggle{width:2rem;height:2rem}
.footer-landing-directory__panel{max-height:13rem;padding:.15rem 0 .75rem}
.footer-landing-directory__grid{grid-template-columns:1fr}
.footer-landing-directory__grid a{min-height:3.6rem}
.footer-main{gap:2.75rem;padding-top:3.5rem;padding-bottom:3.5rem}
.footer-brand{display:flex;align-items:center;flex-direction:column}
.footer-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.75rem 1.5rem}
.footer-bottom{grid-template-columns:1fr;gap:1.2rem}
.footer-bottom p{grid-column:auto}
.footer-bottom>div,.footer-bottom>div:last-child{justify-content:flex-start;flex-wrap:wrap}
.footer-bottom a,.footer-bottom button,.footer-navigation a{display:inline-flex;min-height:2rem;align-items:center}
}
