/* ============================================================
   The Gathering CTX — Shared site shell
   Single source of truth for nav, mobile menu, and footer.
   Locked to the homepage look: gold #b8935a, near-black, uppercase
   sans labels. Loaded by every page via:
     <link rel="stylesheet" href="/assets/site.css">
   Markup for the header/footer is injected by /assets/site.js.

   All shell rules use LITERAL colors (not var()) on purpose, so a
   page's own :root variables can never change how the shell looks.
   ============================================================ */

/* ---- NAV ---- */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 48px;height:72px;background:rgba(10,10,10,0.93);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,0.04);}
.nav-brand{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1;display:inline-block;color:#fff;text-decoration:none;}
.nav-the{display:block;font-size:0.5rem;letter-spacing:0.3em;text-transform:uppercase;opacity:0.38;}
.nav-name{font-size:0.9rem;letter-spacing:0.22em;text-transform:uppercase;}
.nav-links{display:flex;align-items:center;gap:32px;}
.nav-links a{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.62);transition:color 0.2s;text-decoration:none;}
.nav-links a:hover{color:#fff;}
.nav-links a.active{color:#fff;}
.nav-links a.nav-give-btn,.nav-links a.nav-give{background:#fff;color:#0a0a0a !important;padding:9px 22px;font-weight:600 !important;}

/* ---- HAMBURGER ---- */
.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;background:none;border:none;margin-left:12px;}
.nav-hamburger span{display:block;width:24px;height:2px;background:#fff;transition:all 0.25s;}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-hamburger.open span:nth-child(2){opacity:0;}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.nav-hamburger:focus-visible{outline:2px solid #b8935a;outline-offset:2px;}

/* ---- MOBILE MENU ---- */
.nav-mobile-menu{display:none;flex-direction:column;position:fixed;top:72px;left:0;right:0;background:rgba(10,10,10,0.98);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid #1a1a1a;z-index:99;padding:20px 24px 32px;max-height:calc(100vh - 72px);overflow-y:auto;}
.nav-mobile-menu.open{display:flex;}
.nav-mobile-menu a{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:0.95rem;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,255,255,0.72);padding:14px 0;border-bottom:1px solid #1a1a1a;display:block;text-decoration:none;transition:color 0.2s;}
.nav-mobile-menu a:last-child{border-bottom:none;}
.nav-mobile-menu a:hover,.nav-mobile-menu a.active{color:#fff;}
.nav-mobile-menu .mob-give{color:#b8935a;font-weight:600;border-bottom:none;margin-top:4px;}

/* ---- FOOTER ---- */
.site-footer{background:#060606;border-top:1px solid #1a1a1a;padding:72px 56px 32px;font-family:'Georgia','Times New Roman',serif;}
.site-footer a{text-decoration:none;color:inherit;}
.footer-inner{display:grid;grid-template-columns:1.8fr 1.2fr 1.2fr 1fr;gap:48px;max-width:1200px;margin:0 auto 56px;}
.f-logo-the{display:block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:0.52rem;letter-spacing:0.3em;text-transform:uppercase;opacity:0.35;margin-bottom:2px;}
.f-logo-name{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:1rem;letter-spacing:0.2em;text-transform:uppercase;}
.f-tagline{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:0.82rem;color:rgba(255,255,255,0.45);margin-top:14px;margin-bottom:20px;font-style:italic;line-height:1.5;}
.f-social{display:flex;gap:16px;}
.f-social a{color:rgba(255,255,255,0.3);transition:color 0.2s;}
.f-social a:hover{color:#b8935a;}
.f-col-label{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:0.58rem;letter-spacing:0.22em;text-transform:uppercase;color:#b8935a;margin-bottom:18px;display:block;}
.f-col-line{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:0.8rem;color:rgba(255,255,255,0.45);line-height:1.9;display:block;}
.f-col-link{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:0.8rem;color:rgba(255,255,255,0.45);line-height:1.9;display:block;transition:color 0.2s;}
.f-col-link:hover{color:#fff;}
.f-map{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:#b8935a;display:inline-block;margin-top:12px;}
.footer-bottom{max-width:1200px;margin:0 auto;padding-top:28px;border-top:1px solid #111;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.footer-bottom p{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:0.65rem;color:rgba(255,255,255,0.18);}
.footer-bottom a{color:rgba(255,255,255,0.28);}

/* Pages that had no nav before adopting the shell add this class so the
   fixed nav does not overlap their first line. Pages with a full-bleed
   hero (like the homepage) omit it on purpose. */
body.has-shell-nav{padding-top:72px;}

/* ---- RESPONSIVE ---- */
@media(max-width:900px){
  .nav{padding:0 24px;}
  .nav-hamburger{display:flex;}
  .nav-links a:not(.nav-give):not(.nav-give-btn){display:none;}
  .footer-inner{grid-template-columns:1fr 1fr;gap:40px;}
  .site-footer{padding:56px 28px 28px;}
}
@media(max-width:580px){
  .nav{padding:0 20px;height:64px;}
  body.has-shell-nav{padding-top:64px;}
  .nav-mobile-menu{top:64px;max-height:calc(100vh - 64px);}
  .nav-links a:not(.nav-give):not(.nav-give-btn){display:none;}
  .footer-inner{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column;text-align:center;gap:6px;}
}
