/* Shared site footer (.gf) */
.gf { --gf-bg:#F3F4EA; --gf-ink:#16241C; --gf-green:#1E6E4F; --gf-line:rgba(22,36,28,.14); --gf-muted:#6B7367;
  background:var(--gf-bg); color:var(--gf-ink); font-family:Inter,system-ui,sans-serif; padding:clamp(48px,6vw,88px) 0 28px; -webkit-font-smoothing:antialiased; }
.gf-inner { max-width:1180px; margin:0 auto; padding:0 clamp(20px,4vw,40px); }
.gf-top { display:flex; flex-wrap:wrap; gap:clamp(40px,5vw,56px) 64px; align-items:flex-start; }
.gf-brand { flex:1 1 260px; max-width:420px; display:flex; flex-direction:column; align-items:flex-start; gap:20px; }
.gf-lockup { display:flex; align-items:center; gap:10px; }
.gf-lockup img { width:26px; height:26px; display:block; }
.gf-lockup span { font-size:20px; font-weight:700; letter-spacing:-.02em; }
.gf-tagline { margin:0; font-size:16px; line-height:1.5; max-width:320px; text-wrap:pretty; }
.gf-social { display:flex; gap:10px; }
.gf-social a { position:relative; width:36px; height:36px; border-radius:999px; border:1px solid var(--gf-line); display:inline-flex; align-items:center; justify-content:center; color:var(--gf-ink); transition:background .18s ease,color .18s ease,border-color .18s ease; }
.gf-social a::before { content:''; position:absolute; inset:-4px; border-radius:999px; }
.gf-social svg { width:18px; height:18px; display:block; }
.gf-social a:hover { background:var(--gf-ink); border-color:var(--gf-ink); color:var(--gf-bg); }
.gf-g2 { position:relative; display:inline-flex; align-items:center; gap:9px; height:38px; padding:0 16px; border-radius:999px; border:1px solid var(--gf-line); color:var(--gf-ink); font-size:14px; line-height:1; white-space:nowrap; transition:background .18s ease,color .18s ease,border-color .18s ease; }
.gf-g2::before { content:''; position:absolute; inset:-3px; border-radius:999px; }
.gf-g2:hover { background:var(--gf-ink); border-color:var(--gf-ink); color:var(--gf-bg); }
.gf-g2-ico { width:16px; height:16px; display:block; flex:none; background:currentColor; -webkit-mask:url(/assets/img/g2-mask.png) center/contain no-repeat; mask:url(/assets/img/g2-mask.png) center/contain no-repeat; }
.gf-cols { flex:3 1 440px; display:grid; grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); gap:36px 24px; }
.gf-col { display:flex; flex-direction:column; }
.gf-col h3 { margin:0 0 6px; font-size:13px; font-weight:600; color:var(--gf-ink); }
.gf-col a { min-height:44px; display:inline-flex; align-items:center; font-size:15px; transition:opacity .15s ease; }
.gf-col a.gf-all { font-weight:500; }
.gf-col a.gf-all:hover { opacity:1; color:var(--gf-green); }
.gf a { color:var(--gf-ink); text-decoration:none; }
.gf-col a:hover { opacity:.62; }
.gf-bottom { margin-top:clamp(40px,5vw,64px); border-top:1px solid var(--gf-line); padding-top:24px; display:flex; flex-direction:column; gap:18px; }
.gf-bottom p { margin:0; font-size:13px; color:var(--gf-muted); }
.gf-disclaimer { line-height:1.6; max-width:860px; text-wrap:pretty; }
@media (max-width:640px) {
  .gf-brand { flex:1 1 100%; max-width:none; }
  .gf-cols { flex:1 1 100%; grid-template-columns:repeat(2,minmax(0,1fr)); }
}
