/* Public master layout contract. Loaded after feature styles so pages cannot
   replace the site's outer column. Component/card/text widths stay local.
   Tokens and responsive gutters are owned by theme.css. */
.public-site .site-shell,
.public-site .app-promo,
.public-site :is(.dc-values__list, .dc-solutions__head, .dc-solutions__cards, .dc-approach) {
    box-sizing: border-box;
    width: min(calc(100% - 2 * var(--page-gutter)), var(--page-max));
    max-width: none;
    min-width: 0;
    margin-inline: auto;
    padding-inline: 0;
}

/* A nested container is already inside the page column: do not inset it twice. */
.public-site .site-shell .site-shell {
    width: 100%;
}

/* Full-bleed sections share the same content edges without boxing backgrounds. */
.public-site .site-section {
    padding-inline: var(--page-inline);
}

/* These section backgrounds span the viewport; their children own the column.
   Clear historical section gutters before sizing those child containers. */
.public-site .lms-public :is(.lms-hero-banner, .lms-home-footer),
.public-site .dc-solutions {
    padding-inline: 0;
}

/* Legacy editorial showcase HTML has no editable outer-container control. */
.public-site :is(.dc-about, .dc-casestudy) { padding-inline: var(--page-inline); }
.public-site :is(.dc-about__copy, .dc-casestudy__copy) { padding-inline-start: 0; }

/* Reading and form measures constrain components, never the page container. */
.public-site .legal-main > :is(p, ul, ol, form) { max-width: 72ch; }
