/* ==========================================================================
   THE CLIMB — FOOTER
   One implementation, used identically on every page.
   Grid-based (matches header.css's approach) so the centered logo is
   always truly centered regardless of how wide the left/right nav
   groups are — a flexbox space-between approach here visibly drifts
   off-center whenever the two nav groups have different widths.
   ========================================================================== */

.site-footer{
  border-top:1px solid rgba(211,162,46,.55);
  background:
    radial-gradient(circle at 50% -80%,rgba(211,162,46,.08),transparent 42%),
    var(--onyx);
}
.footer-shell{
  min-height:180px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  grid-template-rows:auto auto;
  align-items:center;
  gap:26px 42px;
  padding:34px var(--page-pad) 28px;
}
.footer-nav{display:flex;gap:clamp(24px,3vw,56px)}
.footer-right{justify-content:flex-end}
.footer-brand{width:clamp(190px,22vw,330px)}
.footer-meta{
  grid-column:1/-1;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:22px;
  color:rgba(247,247,243,.56);
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.footer-social{display:flex;gap:13px;align-items:center}
.footer-social a{
  width:28px;height:28px;
  display:grid;place-items:center;
  color:var(--gold);
  transition:transform .2s ease,color .2s ease;
}
.footer-social a:hover{transform:translateY(-2px);color:var(--porcelain)}
.footer-social img{width:21px;height:21px}

/* ===== Tablet ===== */
@media (max-width:980px){
  .footer-shell{grid-template-columns:1fr;justify-items:center;text-align:center}
  .footer-left,.footer-right{justify-content:center;flex-wrap:wrap}
  .footer-brand{grid-row:1}
  .footer-meta{grid-column:1;justify-content:center;flex-wrap:wrap}
}

/* ===== Mobile ===== */
@media (max-width:640px){
  .footer-shell{
    min-height:0;
    grid-template-columns:1fr;
    grid-template-rows:auto;
    justify-items:center;
    gap:0;
    padding:34px var(--page-pad-mobile) 30px;
  }
  .footer-brand{
    grid-row:auto;
    width:174px;
    margin-bottom:28px;
  }
  .footer-nav{
    width:100%;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0;
  }
  .footer-left{order:2}
  .footer-right{order:3}
  .footer-nav a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:4px 6px;
    font-size:9px;
    line-height:1.4;
    letter-spacing:.12em;
    text-align:center;
  }
  .footer-meta{
    grid-column:1;
    order:4;
    width:100%;
    margin-top:24px;
    padding-top:22px;
    border-top:1px solid rgba(255,255,255,.08);
    display:flex;
    flex-direction:column-reverse;
    justify-content:center;
    gap:16px;
    font-size:9px;
  }
  .footer-social{gap:16px;justify-content:center}
  .footer-social a{width:34px;height:34px}
  .footer-social img{width:20px;height:20px}
}

@media (max-width:380px){
  .footer-nav a{font-size:8.5px;letter-spacing:.09em}
}
