/* Public content uses the homepage's responsive foundation tokens in every
   session. Only outer boundaries opt in; hero/card interiors, account forms,
   navigation and footer keep their own spacing. */
body.home-page > main.home-main > :is(section, header):not(.home-hero) > .container,
body > main.lead-landing-main > :is(section, header) > .lead-container,
body > main.research-intelligence-public-main > :is(section, header) > .research-intelligence-shell,
body.demo-page > main.wrap,
body.legal-page > main.layout > .legal-page-shell {
  box-sizing: border-box;
  width: min(calc(100% - var(--bsb-content-gap, 28px)), var(--bsb-content-max, 1380px)) !important;
  max-width: var(--bsb-content-max, 1380px) !important;
  min-width: 0;
  margin-inline: auto !important;
}

/* The research final CTA is also a padded card; preserve its interior padding. */
body.home-page > main.home-main > :is(section, header):not(.home-hero) > .container,
body > main.lead-landing-main > :is(section, header) > .lead-container,
body > main.research-intelligence-public-main > :is(section, header) > .research-intelligence-shell:not(.research-intelligence-final__inner),
body.demo-page > main.wrap,
body.legal-page > main.layout > .legal-page-shell {
  padding-inline: 0 !important;
}

/* Legal pages have a legacy layout wrapper; the shell above owns their gutters. */
body.legal-page > main.layout:has(> .legal-page-shell) {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
}
