/* Reuse the approved homepage grid; visual backgrounds and shared heroes stay full-width. */
.ssc-shell {
  --ssc-content-max: 1280px;
  --ssc-content-gutter: 40px;
  --ssc-content-inset: max(var(--ssc-content-gutter), calc((100% - var(--ssc-content-max)) / 2));
}
.ssc-container,
.premium-container {
  width: calc(100% - 2 * var(--ssc-content-gutter));
  max-width: var(--ssc-content-max);
  margin-inline: auto;
}
.ssc-shell main :is(.ssc-page, .rp-shell, .so-page, .io-page, .ab-page, .rn-page, .ct-page, .mab-page, .gp-page, .is-page, .gl-page, .pc-page) {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}
.ssc-shell main :is(.ssc-page, .so-page, .io-page, .ab-page, .rn-page, .mab-page, .gp-page, .is-page, .gl-page, .pc-page, .mj-page, .ct-page) > section:is(.ssc-section, .mp-plan, .mp-science, .so-section, .so-consultation, .pg-portfolio, .pg-benefits, .fq-questions, .fq-consultation, .ev-discovery, .ev-progress, .ev-ahead, .io-definition, .io-science, .io-feature, .ab-section, .ab-who, .ab-closing, .mab-principles, .mab-experts, .mab-closing, .gp-markets, .gp-approach, .gp-closing, .is-pillars, .is-milestone, .is-process, .is-evidence, .is-closing, .gl-main, .gl-closing, .pc-pillars, .pc-why, .pc-journey, .pc-trust, .pc-closing, .mj-library, .ct-comparison, .ct-benefits),
.ssc-shell main .rn-institutes-section > .ssc-section,
.ssc-shell main .ssc-consultation,
.ssc-shell main .rp-alpine {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: var(--ssc-content-inset) !important;
}
.ssc-shell main :is(.ct-container, .ab-presence-board, .consultation-content, [data-hero-details]),
.ssc-shell main .ssc-page.mp-page > .mp-consult {
  width: calc(100% - 2 * var(--ssc-content-gutter));
  max-width: var(--ssc-content-max);
  margin-inline: auto;
}
.ssc-shell main :is(.ct-container, .consultation-content) {
  padding-inline: 0;
}
.ssc-shell main .ab-presence-board > .ab-presence { padding-inline: 0 24px; }
.ssc-shell main .ab-presence-board > .ab-board { padding-inline: 24px 0; }
.ssc-shell main :is(.ab-closing, .mab-closing) > div { padding-inline: 0; }
@media (max-width: 767px) {
  .ssc-shell { --ssc-content-gutter: 20px; }
}
@media (max-width: 800px) {
  .ssc-shell main .ab-presence-board > .ab-section { padding-inline: 0; }
}
