/* ==========================================================================
   Shared site chrome for InvestGlobal.io: primary CTA, legal strip, drafts.
   Loaded on every page after the page's own <style> block.
   ========================================================================== */

/* ---------- primary CTA (one per page, same destination sitewide) ---------- */
.nav .ig-cta{flex:none;display:inline-flex;align-items:center;justify-content:center;min-height:38px;
  font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:#000;background:#fff;border:1px solid #fff;border-radius:2px;padding:0 16px;white-space:nowrap;text-decoration:none;
  transition:background .2s,color .2s}
.nav .ig-cta:hover,.nav .ig-cta:focus-visible{background:transparent;color:#fff}
@media(max-width:900px){
  .nav .ig-cta{display:inline-flex !important;margin-left:auto;min-height:44px;padding:0 14px;font-size:10.5px}
}
@media(max-width:380px){
  .nav .ig-cta{padding:0 10px;letter-spacing:.06em}
}

/* ---------- legal strip (footer disclaimer + legal links) ---------- */
.ig-legal{max-width:1180px;margin:22px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);
  font-family:"Instrument Sans",system-ui,sans-serif;font-size:12.5px;line-height:1.6;color:rgba(255,255,255,.66);
  display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between;text-transform:none;letter-spacing:0}
.ig-legal p{margin:0;max-width:760px}
.ig-legal nav{display:flex;flex-wrap:wrap;gap:4px 18px}
.ig-legal a{color:rgba(255,255,255,.82);text-decoration:underline;text-underline-offset:2px;display:inline-block;padding:6px 0}
.ig-legal a:hover{color:#fff}
.ig-legal button{background:none;border:none;padding:6px 0;cursor:pointer;font:inherit;color:rgba(255,255,255,.82);
  text-decoration:underline;text-underline-offset:2px}
.ig-legal button:hover{color:#fff}

/* compact one-line variant for full-screen pages without a footer (globe, intro) */
.ig-legal-fixed{position:fixed;left:0;right:0;bottom:0;z-index:30;margin:0;padding:3px 16px;border-top:none;
  background:rgba(0,0,0,.72);font-size:11px;line-height:1.4;justify-content:center;align-items:center;gap:0 18px;flex-wrap:nowrap}
.ig-legal-fixed p{white-space:nowrap}
.ig-legal-fixed nav{gap:0 14px;flex-wrap:nowrap}
.ig-legal-fixed a,.ig-legal-fixed button{padding:3px 0}
@media(max-width:700px){ .ig-legal-fixed p{display:none} }

/* ---------- required-field marker + inline errors (all forms) ---------- */
.ig-req{color:rgba(255,255,255,.82);margin-left:3px}
.ig-err{display:block;margin-top:6px;font-family:"Instrument Sans",system-ui,sans-serif;font-size:12.5px;
  line-height:1.4;color:#ffb4a8;text-transform:none;letter-spacing:0}
[aria-invalid="true"]{border-color:#ffb4a8 !important}

/* ---------- draft legal banner ---------- */
.ig-draft{background:#fff;color:#000;text-align:center;padding:12px 16px;
  font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500}

/* CTA label: full on desktop, short on small phones so it never crowds the logo */
.ig-cta-s{display:none}
@media(max-width:560px){ .nav .ig-cta .ig-cta-l{display:none} .nav .ig-cta .ig-cta-s{display:inline} }

/* ---------- touch targets (WCAG 2.5.8 / 44px on touch layouts) ---------- */
@media(max-width:900px){
  .nav .brand{min-height:44px}
  .social a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  .ig-legal:not(.ig-legal-fixed) a,.ig-legal:not(.ig-legal-fixed) button{min-height:44px;display:inline-flex;align-items:center}
  .ig-legal-fixed a,.ig-legal-fixed button{min-height:28px;display:inline-flex;align-items:center}
}

/* keep the primary CTA on-screen on mid-width desktops with long navs */
@media(min-width:901px) and (max-width:1400px){
  .nav .navlinks{gap:18px}
  .nav .ig-cta{padding:0 12px}
}

/* ---------- performance: the closed mobile menu is a full-screen layer; with a
   live backdrop blur it forces the browser to re-blur the page every frame. ---------- */
.mmenu:not(.on){visibility:hidden;-webkit-backdrop-filter:none !important;backdrop-filter:none !important}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}

/* build: small-phone nav fit (perf/optimize.js) */
@media (max-width:374px){
  .nav{padding-left:14px!important;padding-right:14px!important;gap:8px!important}
  .nav .nav-left{gap:8px!important}
  .nav .brand{gap:8px}
  .nav .brand,.nav .brand .wordmark{font-size:11px;letter-spacing:.1em}
  .nav .brand img{margin-right:8px}
  .nav .ig-cta{padding:0 8px}
  .toolbar{flex-wrap:wrap;row-gap:8px}
}
