/* --- footer --- */
.foot{
  position:relative;
  padding:clamp(3rem,6vh,4.5rem) 0 clamp(1.5rem,3.5vh,2.25rem);
}

.foot-cols{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid oklch(1 0 0 / .16);
}
.fcol{
  padding:clamp(1.5rem,3vh,2rem) clamp(1rem,2vw,1.75rem);
  border-right:1px solid oklch(1 0 0 / .14);
  border-bottom:1px solid oklch(1 0 0 / .14);
}
.fcol:first-child{padding-left:0;}
.fcol:last-child{border-right:0;padding-right:0;}

.foot-h{
  display:block;margin-bottom:1.125rem;
  font-size:.625rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.12em;
  color:oklch(1 0 0 / .4);
}
.foot-list{display:flex;flex-direction:column;gap:.0625rem;}
.foot-list a{
  position:relative;display:flex;align-items:center;
  padding:.375rem 0;
  color:oklch(1 0 0 / .7);text-decoration:none;
  font-size:.875rem;
  transition:color .2s;
}
.foot-list a span{
  position:relative;
  transition:transform .32s cubic-bezier(.16,1,.3,1);
}
.foot-list a span::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;
  background:currentColor;transform:scaleX(0);transform-origin:right;
  transition:transform .32s cubic-bezier(.16,1,.3,1);
}
.foot-list a:hover{color:#fff;}
.foot-list a:hover span{transform:translateX(4px);}
.foot-list a:hover span::after{transform:scaleX(1);transform-origin:left;}

/* contact column */
.foot-addr{
  margin:0;color:oklch(1 0 0 / .5);
  font-size:.8125rem;line-height:1.75;font-style:normal;
}
.foot-addr b{
  display:block;color:oklch(1 0 0 / .82);font-weight:600;margin-bottom:.25rem;
}
.foot-social{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;}
.soc{
  display:inline-flex;align-items:center;justify-content:center;
  width:2.25rem;height:2.25rem;border-radius:9999px;
  border:1px solid oklch(1 0 0 / .2);
  color:oklch(1 0 0 / .7);
  transition:all .25s cubic-bezier(.16,1,.3,1);
}
.soc svg{width:.9375rem;height:.9375rem;}
.soc:hover{
  background:#fff;color:var(--foreground);border-color:transparent;
  transform:translateY(-2px);
}

/* status strip */
.foot-status{
  display:flex;align-items:center;gap:.5rem;
  margin-top:1.25rem;
  font-size:.75rem;color:oklch(1 0 0 / .55);
}
.foot-status i{
  width:.4375rem;height:.4375rem;border-radius:9999px;
  background:oklch(.78 0 0);
  box-shadow:0 0 0 3px oklch(1 0 0 / .08);
}

.foot-base{
  display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;
  padding-top:clamp(1.25rem,3vh,1.75rem);
}
.foot-copy{margin:0;color:oklch(1 0 0 / .42);font-size:.75rem;}
.foot-legal{display:flex;flex-wrap:wrap;gap:1.25rem;margin-left:auto;}
.foot-legal a{
  color:oklch(1 0 0 / .42);text-decoration:none;font-size:.75rem;
  transition:color .15s;
}
.foot-legal a:hover{color:#fff;}
.to-top{
  display:inline-flex;align-items:center;justify-content:center;
  width:2rem;height:2rem;border-radius:9999px;
  border:1px solid oklch(1 0 0 / .2);background:none;cursor:pointer;
  color:oklch(1 0 0 / .7);
  transition:all .25s cubic-bezier(.16,1,.3,1);
}
.to-top svg{width:.8125rem;height:.8125rem;}
.to-top:hover{background:#fff;color:var(--foreground);border-color:transparent;transform:translateY(-2px);}

@media (max-width:940px){
  .foot-cols{grid-template-columns:repeat(2,minmax(0,1fr));}
  .fcol:nth-child(2n){border-right:0;padding-right:0;}
  .fcol:nth-child(2n+1){padding-left:0;}
}
@media (max-width:620px){
  .foot-cols{grid-template-columns:1fr;}
  .fcol{border-right:0;padding-left:0;padding-right:0;}
  .foot-legal{margin-left:0;}
}
@media (prefers-reduced-motion:reduce){
  .close-glow{transition:none;}
}
@media (max-width:560px){
  .close-acts .luma-btn{width:100%;}
  .close-grid{display:none;}
}
