/* VGaint v6.12 — sitewide design tokens / shared layout foundation.
   Loaded LAST on all HTML pages. Page-specific hero content remains autonomous.
   Edit this file rather than stacking further page-specific alignment overrides. */
:root {
  --vg-site-width: 1348px;
  --vg-site-gutter: 32px;
  --vg-font-family: "DM Sans", system-ui, -apple-system, Arial, sans-serif;
  --vg-body-font-size: 15px;
  --vg-header-height: 60px;
  --vg-control-min-height: 38px;
}
html { text-size-adjust:100%; -webkit-text-size-adjust:100%; }
html body { font-family:var(--vg-font-family); font-size:var(--vg-body-font-size); }
/* Same desktop ruler reference for every topbar/header/footer and content shell. */
html body .container,
html body .cx-shell {
  box-sizing:border-box !important;
  width: min(var(--vg-site-width), calc(100% - 2 * var(--vg-site-gutter))) !important;
  max-width:var(--vg-site-width) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
html body .site-header .header-inner { min-height:var(--vg-header-height); height:auto; }
html body .site-header .brand-copy strong { font-family:var(--vg-font-family); }
html body .site-header .nav-link,
html body .site-header .nav-cta { font-family:var(--vg-font-family); }
html body footer { font-family:var(--vg-font-family); }
/* Intrinsic height prevents content clipping when text wraps. */
html body .cx-hero { height:auto; }
html body main, html body section { min-width:0; }
html body input, html body select, html body textarea, html body button { font-family:inherit; }
@media (max-width:780px) {
 :root { --vg-site-gutter:18px; }
 html body .site-header .header-inner { min-height:60px; }
 html body .site-header .nav { max-width:100vw; }
}
@media (max-width:480px) { :root { --vg-site-gutter:16px; } }
