/* ══════════════════════════════════════════════════════════════════════════
   Site footer, redesigned 4 Nov 2026: one dark footer. The two marks sit on their own paper card,
   exactly as supplied. The hashtag is set large as the page's last word.
   ══════════════════════════════════════════════════════════════════════════ */
.gf { --gf-paper: #f5f0e8; --gf-gold: #f0c842; --gf-line: rgba(245,240,232,.1); --gf-dim: rgba(245,240,232,.58);
  position: relative; background: #0b0b0b; color: var(--gf-paper); font-family: "Plus Jakarta Sans", -apple-system, "Segoe UI", sans-serif; overflow: hidden; }
.gf::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 520px; background: radial-gradient(900px 420px at 85% -10%, rgba(240,200,66,.09), transparent 65%); pointer-events: none; }
.gf a { color: inherit; text-decoration: none; }
.gf-wrap { position: relative; max-width: var(--max, 1720px); margin: 0 auto; padding: 0 var(--gutter, clamp(1.25rem, 3.2vw, 3rem)); }
.gf-flag { display: grid; grid-template-columns: 3fr 1fr 3fr 1fr 3fr; height: 4px; }
.gf-flag i:nth-child(1) { background: #2a2a2a; } .gf-flag i:nth-child(2), .gf-flag i:nth-child(4) { background: var(--gf-paper); }
.gf-flag i:nth-child(3) { background: #c8102e; } .gf-flag i:nth-child(5) { background: #1f8a4c; }

.gf-head { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem 2rem; flex-wrap: wrap; padding: clamp(2.5rem, 5vw, 4rem) 0 clamp(2rem, 4vw, 3rem); border-bottom: 1px solid var(--gf-line); }
.gf-id { display: inline-flex; align-items: center; gap: 1.1rem; }
.gf-card { display: inline-flex; align-items: center; gap: 1.1rem; padding-right: 1.4rem; border-right: 1px solid rgba(245,240,232,.14); }
.gf-card img { display: block; width: auto; }
.gf-card img:first-child { height: 58px; }
.gf-card img:last-child { height: 50px; }
.gf-rule { width: 1px; height: 40px; background: rgba(245,240,232,.22); }
.gf-name b { display: block; font-size: 1.12rem; font-weight: 800; letter-spacing: -.02em; }
.gf-name small { display: block; margin-top: .2rem; font-size: .84rem; color: var(--gf-dim); }
.gf-ctas { display: flex; gap: .6rem; flex-wrap: wrap; }
.gf-btn { display: inline-flex; align-items: center; height: 48px; padding: 0 1.3rem; border-radius: 999px; border: 1px solid rgba(245,240,232,.25); font-weight: 700; font-size: .92rem; transition: background .15s, border-color .15s, color .15s; }
.gf-btn:hover { border-color: var(--gf-paper); }
.gf-btn--gold { background: var(--gf-gold); border-color: var(--gf-gold); color: #0e0e0e !important; }
.gf-btn--gold:hover { background: #f5d465; border-color: #f5d465; }

.gf-grid { display: grid; grid-template-columns: minmax(0, 4fr) repeat(4, minmax(0, 2fr)); gap: clamp(1.75rem, 3.5vw, 3.5rem); padding: clamp(2.5rem, 4.5vw, 3.75rem) 0; }
.gf-about { margin: 0; max-width: 30rem; font-size: 1.02rem; line-height: 1.75; color: rgba(245,240,232,.72); }
.gf-col h2 { margin: 0 0 1rem; font-size: .9rem; font-weight: 700; color: var(--gf-paper); }
.gf-col > a { display: block; width: fit-content; padding: .34rem 0; font-size: .94rem; color: var(--gf-dim); transition: color .15s; }
.gf-col > a:hover { color: var(--gf-paper); }
.gf-social { display: flex; flex-wrap: wrap; gap: .45rem; }
.gf-social a { width: 42px; height: 42px; border-radius: 12px; background: rgba(245,240,232,.06); display: grid; place-items: center; color: rgba(245,240,232,.8); transition: background .15s, color .15s; }
.gf-social a:hover { background: var(--gf-gold); color: #0e0e0e; }
.gf-social svg { width: 17px; height: 17px; fill: currentColor; }
.gf-contact { margin-top: 1.2rem; display: grid; gap: .3rem; font-size: .9rem; color: var(--gf-dim); }
.gf-contact a:hover { color: var(--gf-paper); }

.gf-credits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem 2rem; padding: 1.4rem 0; border-top: 1px solid var(--gf-line); border-bottom: 1px solid var(--gf-line); }
.gf-credits p { margin: 0; font-size: .82rem; line-height: 1.55; color: var(--gf-dim); }
.gf-credits span { display: block; font-size: .72rem; font-weight: 700; color: rgba(245,240,232,.4); margin-bottom: .15rem; }
.gf-credits a { text-decoration: underline; text-decoration-color: rgba(245,240,232,.25); text-underline-offset: 3px; }
.gf-credits a:hover { color: var(--gf-paper); }

.gf-statement { position: relative; padding: clamp(1.5rem, 3vw, 2.5rem) var(--gutter, clamp(1.25rem, 3.2vw, 3rem)) 0; text-align: center; line-height: .82; user-select: none; }
.gf-statement span { display: block; font-size: clamp(1.5rem, 8.2vw, 10.5rem); font-weight: 800; letter-spacing: -.06em; white-space: nowrap;
  background: linear-gradient(180deg, rgba(240,200,66,.92) 0%, rgba(240,200,66,.42) 45%, rgba(196,148,22,.06) 96%); -webkit-background-clip: text; background-clip: text; color: transparent; }

.gf-bottom { display: flex; align-items: center; gap: 1rem 2rem; flex-wrap: wrap; padding-top: 1.4rem; padding-bottom: 1.6rem; font-size: .84rem; color: rgba(245,240,232,.5); }
.gf-tags { flex: 1; text-align: center; font-weight: 600; color: rgba(245,240,232,.62); }
.gf-top-link { display: inline-flex; align-items: center; gap: .35rem; font-weight: 700; color: rgba(245,240,232,.8) !important; }
.gf-top-link svg { width: 15px; height: 15px; }
.gf-top-link:hover { color: var(--gf-gold) !important; }
.gf a:focus-visible { outline: 3px solid var(--gf-gold); outline-offset: 3px; border-radius: 6px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }

@media (max-width: 1200px) { .gf-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } .gf-about { grid-column: 1 / -1; } .gf-credits { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .gf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gf-credits { grid-template-columns: 1fr; }
  .gf-card img:first-child { height: 44px; } .gf-card img:last-child { height: 38px; }
  .gf-name small { font-size: .78rem; }
  .gf-ctas, .gf-btn { width: 100%; } .gf-btn { justify-content: center; }
  .gf-tags { order: 3; flex-basis: 100%; text-align: left; }
}
