/* Congress site header + footer for pages outside the static homepage
   (WordPress membership pages). Mirrors public/congress/index.html. */
@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap");
.ghc-chrome{ --ink:#20393A; --ink-soft:#3A5350; --line:rgba(32,57,58,0.18); --rose:#FF5A78; --lilac:#146A78; --mint:#2C8079; --bone:#E9F2EF; --bone-2:#F3FAF8; --paper:#F7FCFA; --ease:cubic-bezier(0.22,1,0.36,1);
  font-family:Inter,system-ui,sans-serif; color:var(--ink); box-sizing:border-box; }
.ghc-chrome *,.ghc-chrome *::before,.ghc-chrome *::after{ box-sizing:border-box; }
.ghc-chrome a{ color:inherit; text-decoration:none; }

/* header */
.ghc-hd{ position:sticky; top:0; z-index:900; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px clamp(20px,5vw,64px); background:rgba(243,250,248,0.92); backdrop-filter:blur(12px); border-bottom:1px solid var(--line); }
.ghc-brand{ display:flex; align-items:center; gap:10px; font-family:"Space Grotesk"; font-weight:600; }
.ghc-brand img{ height:52px; width:auto; display:block; }
.ghc-brand .dot{ width:9px; height:9px; border-radius:50%; background:var(--rose); animation:ghcBeat 1.1s var(--ease) infinite; }
@keyframes ghcBeat{ 0%,100%{transform:scale(1)} 30%{transform:scale(1.45)} }
.ghc-links{ display:flex; gap:28px; align-items:center; }
.ghc-links a{ font-size:0.86rem; color:var(--ink-soft); position:relative; }
.ghc-links a:hover{ color:var(--ink); }
.ghc-cta{ display:flex; align-items:center; gap:10px; }
.ghc-btn{ display:inline-flex; align-items:center; gap:8px; padding:9px 18px; border-radius:100px; font-size:0.8rem; font-weight:600; border:1px solid var(--line); background:rgba(255,255,255,0.6); color:var(--ink) !important; white-space:nowrap; transition:transform .3s var(--ease), background .3s; }
.ghc-btn:hover{ transform:translateY(-1px); background:#fff; }
.ghc-btn.solid{ background:#1f7a6a; border-color:transparent; color:#fff !important; }
.ghc-btn.rose{ background:var(--rose); border-color:transparent; color:#fff !important; }
.ghc-burger{ display:none; flex-direction:column; justify-content:center; gap:5px; padding:10px; background:none; border:0; cursor:pointer; }
.ghc-burger i{ width:22px; height:2px; background:var(--ink); border-radius:2px; transition:transform .3s var(--ease), opacity .3s; }
.ghc-burger[aria-expanded="true"] i:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.ghc-burger[aria-expanded="true"] i:nth-child(2){ opacity:0; }
.ghc-burger[aria-expanded="true"] i:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
@media (max-width:900px){
  .ghc-hd{ padding:10px 16px; }
  .ghc-brand img{ height:42px; }
  .ghc-burger{ display:inline-flex; }
  .ghc-links{ display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:flex-start; gap:0; padding:8px 20px 18px; background:var(--bone-2); border-bottom:1px solid var(--line); }
  .ghc-links.open{ display:flex; }
  .ghc-links a{ font-size:1rem; padding:12px 0; width:100%; }
  .ghc-cta .ghc-vf{ display:none; }
  .ghc-btn{ padding:8px 13px; font-size:0.74rem; }
}

/* footer */
.ghc-ft{ background:var(--bone); border-top:1px solid var(--line); padding:clamp(48px,8vh,88px) clamp(20px,5vw,64px) 28px; margin-top:0; }
.ghc-ft-wrap{ max-width:1320px; margin:0 auto; }
.ghc-ft-top{ display:grid; grid-template-columns:1.4fr 0.8fr 1.1fr 0.7fr 1.15fr; gap:clamp(24px,3vw,44px); align-items:start; }
.ghc-ft-logo{ height:46px; width:auto; display:block; margin-bottom:18px; }
.ghc-ft-display{ font-family:"Space Grotesk"; font-weight:600; letter-spacing:-0.02em; font-size:clamp(1.8rem,3.6vw,2.6rem); line-height:1.05; color:var(--ink); }
.ghc-ft-display span{ color:var(--rose); }
.ghc-ft-brand p{ color:var(--ink-soft); max-width:34ch; margin:14px 0 0; font-size:0.95rem; line-height:1.55; }
.ghc-mono{ font-family:"JetBrains Mono","Space Grotesk",monospace; letter-spacing:0.14em; text-transform:uppercase; font-size:0.72rem; font-weight:500; color:var(--ink-soft); margin-top:16px; line-height:1.7; }
.ghc-ft-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:20px; }
.ghc-social{ display:flex; gap:12px; margin-top:20px; }
.ghc-social a{ display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; border:1px solid var(--line); color:var(--ink-soft); }
.ghc-social a:hover{ color:var(--ink); border-color:var(--ink-soft); }
.ghc-org{ display:block; margin-top:22px; padding-top:16px; border-top:1px solid var(--line); max-width:32ch; }
.ghc-org b{ display:block; font-family:"Space Grotesk"; font-weight:600; }
.ghc-org span{ font-size:0.85rem; color:var(--ink-soft); }
.ghc-col h4{ font-family:"Space Grotesk"; font-size:0.74rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--ink-soft); font-weight:600; padding-bottom:12px; margin:0 0 10px; border-bottom:1px solid var(--line); }
.ghc-col a{ display:block; padding:9px 0; font-size:0.93rem; color:var(--ink); white-space:nowrap; }
.ghc-col a:hover{ color:var(--lilac); }
.ghc-col address{ font-style:normal; }
.ghc-col address a{ white-space:normal; line-height:1.5; }
.ghc-ft-bot{ display:flex; flex-direction:column; align-items:center; gap:14px; margin-top:clamp(40px,7vh,80px); padding-top:24px; border-top:1px solid var(--line); color:var(--ink-soft); font-size:0.82rem; }
.ghc-ft-row{ display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; width:100%; }
.ghc-legal{ display:flex; gap:18px; flex-wrap:wrap; }
.ghc-legal a:hover{ color:var(--ink); }
.ghc-made{ display:inline-flex; gap:0.4ch; font-size:0.8rem; padding:8px 14px; border:1px solid var(--line); border-radius:100px; }
.ghc-made b{ color:var(--rose); font-weight:400; }
@media (max-width:900px){ .ghc-ft-top{ grid-template-columns:1fr 1fr; } .ghc-ft-brand{ grid-column:1 / -1; } }
@media (max-width:520px){ .ghc-ft-top{ grid-template-columns:1fr; } .ghc-col a{ white-space:normal; } .ghc-ft-row{ flex-direction:column; align-items:flex-start; } }
.ghc-links a.on{ color:var(--ink); font-weight:600; box-shadow:inset 0 -2px 0 var(--mint); }
@media (max-width:900px){ .ghc-links a.on{ box-shadow:none; color:var(--mint); } }
