/* Site footer. Memberships tiles are data-driven (config/memberships.php). */
.site-footer{background:#17181C;color:rgba(255,255,255,.72);padding:3.5rem 5vw 6.5rem;font-weight:300}
.site-footer a{color:inherit;text-decoration:none}
.site-footer a:focus-visible{outline:2px solid #E8C9AE;outline-offset:3px;border-radius:4px}
.ft-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.35fr .8fr .95fr 1.2fr;gap:3.5rem;padding-bottom:3.5rem}
.ft-logo{font-family:var(--serif);font-size:1.8rem;font-weight:700;line-height:1;color:#fff}
.ft-logo span{color:var(--accent)}
.ft-logo-sub{display:block;font-size:.66rem;letter-spacing:.05em;color:rgba(255,255,255,.72);margin:.4rem 0 1.1rem}
.ft-desc{font-size:.84rem;line-height:1.75;color:rgba(255,255,255,.55);margin:0 0 1.6rem;max-width:38ch}
.ft-contact{list-style:none;margin:0;padding:0;display:grid;gap:.85rem;font-size:.85rem}
.ft-contact li{display:grid;grid-template-columns:5.2rem 1fr;gap:.6rem;align-items:baseline}
.ft-contact b{font-weight:500;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:#E8C9AE}
.ft-val{display:grid;gap:.1rem;min-width:0;color:#fff}
.ft-val a:hover{color:#E8C9AE}
.ft-val small{font-size:.72rem;color:rgba(255,255,255,.5)}
.ft-title{margin:0 0 1.3rem;font-size:.7rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.ft-col ul{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.ft-col ul a{font-size:.9rem;font-weight:400;color:rgba(255,255,255,.72);transition:color .2s}
.ft-col ul a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}

.ft-marks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem 1rem}
.ft-marks figure{margin:0;display:grid;gap:.55rem;align-content:start}
.ft-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;width:100%;aspect-ratio:1;max-width:140px;padding:11px;border-radius:14px;text-align:center;transition:transform .25s,box-shadow .25s,background .25s}
.ft-logo-tile{background:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.14),0 8px 20px rgba(0,0,0,.35)}
.ft-logo-tile picture,.ft-logo-tile img{display:block;width:100%;height:100%}
.ft-logo-tile img{object-fit:contain}
.ft-stat{background:rgba(176,138,110,.09);box-shadow:inset 0 0 0 1px rgba(176,138,110,.45);color:#E8C9AE}
.ft-stat .icon{width:26px;height:26px;margin-bottom:.3rem;color:var(--accent)}
.ft-stat small{font-size:.6rem;font-weight:500;line-height:1.3;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.ft-stat strong{font-family:var(--serif);font-size:1.05rem;font-weight:700;line-height:1.15;color:#fff;font-variant-numeric:tabular-nums}
a.ft-tile:hover{transform:translateY(-3px)}
a.ft-logo-tile:hover{box-shadow:0 0 0 1px rgba(232,201,174,.7),0 12px 26px rgba(0,0,0,.45)}
a.ft-stat:hover{background:rgba(176,138,110,.2)}
.ft-marks figcaption{font-size:.7rem;line-height:1.4;color:rgba(255,255,255,.5);max-width:140px}
.ft-marks figcaption a{color:rgba(255,255,255,.72);text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(255,255,255,.3)}
.ft-marks figcaption a:hover{color:#fff}

.ft-legal{max-width:1240px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.4rem 2rem;padding-top:1.6rem;border-top:1px solid rgba(255,255,255,.09);font-size:.75rem;color:rgba(255,255,255,.5)}
.ft-legal-l{display:grid;gap:.7rem}
.ft-legal ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.4rem}
.ft-legal nav a{color:rgba(255,255,255,.72)}
.ft-legal nav a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}
.ft-social{display:flex;flex-wrap:wrap;gap:.45rem}
.ft-soc{flex:none;width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.72);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);transition:background .2s,color .2s,transform .2s,border-color .2s}
.ft-soc .icon{width:15px;height:15px}
.ft-soc:hover{background:var(--c,var(--accent));border-color:transparent;color:#fff;transform:translateY(-2px)}

@media(max-width:1080px){.ft-grid{grid-template-columns:1fr 1fr;gap:3rem 2.5rem}.ft-brand{grid-column:1/-1}.ft-desc{max-width:60ch}}
@media(max-width:600px){.ft-grid{grid-template-columns:1fr;gap:2.4rem}.site-footer{padding-top:3rem;padding-bottom:7.5rem}.ft-marks{max-width:300px}}
@media(prefers-reduced-motion:reduce){.site-footer *{transition:none!important}}

/* Touch: every footer link/button gets a >=44px hit area, and the smallest text is raised for phones */
@media (pointer:coarse),(max-width:1080px){
  .ft-col ul{gap:0}
  .ft-col ul a{display:flex;align-items:center;min-height:44px}
  .ft-val a{display:flex;align-items:center;min-height:44px;margin-block:-.35rem}
  .ft-contact{gap:.6rem}
  .ft-marks figcaption a{display:inline-flex;align-items:center;min-height:44px}
  .ft-legal ul{gap:0 1.2rem}
  .ft-legal nav a{display:inline-flex;align-items:center;min-height:44px}
  .ft-social{gap:.5rem}
  .ft-soc{width:44px;height:44px}
  .ft-soc .icon{width:18px;height:18px}
  .ft-stat small{font-size:.7rem}
  .ft-marks figcaption{font-size:.78rem}
  .ft-logo-sub{font-size:.75rem}
  .ft-contact b{font-size:.7rem}
  .ft-val small{font-size:.78rem}
}
@media(max-width:600px){.ft-grid{gap:2rem}}
@media(max-width:600px){.ft-social{gap:.3rem}.ft-soc{width:40px;height:44px}}
