/*
 * Insighterz unified container system — v3.1.1
 * One horizontal content boundary across every template and section.
 * Inner editorial copy may remain intentionally narrower, but all section
 * shells, expanded modules and header content share the same outer edges.
 */
:root{
  --container-max:1460px;
  --container-gutter:clamp(24px,4.5vw,72px);
  --max:var(--container-max);
  --pad:var(--container-gutter);
}

/* Primary theme sections + expanded/page-specific sections. */
.section-pad,
.exp-shell{
  width:min(calc(100% - (var(--container-gutter) * 2)),var(--container-max))!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Expansion sections previously had their own horizontal padding and a
   1180px shell. Keep only vertical spacing; the shell now owns alignment. */
.exp-section{
  padding-left:0!important;
  padding-right:0!important;
}

/* This hero used an additional 1100px cap on top of .section-pad. */
.legal-hero{
  max-width:none!important;
}

/* Architectural header content follows the exact same left/right guides. */
.site-header{
  padding-left:max(var(--container-gutter),calc((100vw - var(--container-max))/2))!important;
  padding-right:max(var(--container-gutter),calc((100vw - var(--container-max))/2))!important;
}

@media (max-width:780px){
  :root{--container-gutter:20px}
}

@media (max-width:420px){
  :root{--container-gutter:16px}
}

/* Full-bleed ticker keeps its background/borders full width, while the
   moving content itself follows the same page guides. */
.capability-strip .marquee{
  width:min(calc(100% - (var(--container-gutter) * 2)),var(--container-max));
  margin-left:auto;
  margin-right:auto;
}
