/* One page frame, shared by all internal pages and the footer's editorial content. */
:root{--proema-page-max:1440px;--proema-page-gutter:64px}
:root .m-site-content.m-internal{width:min(var(--proema-page-max),calc(100% - var(--proema-page-gutter)))!important;max-width:var(--proema-page-max)!important;margin-inline:auto!important;box-sizing:border-box}
:root body.proema-site:not(.proema-home) #colophon .m-footer{width:min(var(--proema-page-max),calc(100% - var(--proema-page-gutter)))!important;max-width:var(--proema-page-max)!important;margin-inline:auto!important;box-sizing:border-box}
@media(max-width:1024px){:root{--proema-page-gutter:40px}}
@media(max-width:600px){:root{--proema-page-gutter:28px}}

/* The same section frame and inner reading rails, including midway down a page. */
:root{--proema-section-pad:clamp(24px,5vw,80px)}
:root .m-site-content.m-internal:not(.m-privacy){padding-inline:0!important}
:root .m-site-content.m-internal:not(.m-privacy)>:is(.wp-block-group__inner-container,.block-editor-inner-blocks) > :is(.stk-block-columns,.wp-block-group){width:100%!important;max-width:100%!important;margin-inline:0!important;box-sizing:border-box;padding-inline:var(--proema-section-pad)!important}
:root .m-site-content.m-internal:not(.m-privacy)>:is(.stk-block-columns,.wp-block-group:not(.wp-block-group__inner-container)){width:100%!important;max-width:100%!important;margin-inline:0!important;box-sizing:border-box;padding-inline:var(--proema-section-pad)!important}
:root .m-site-content.m-internal>.wp-block-group__inner-container{width:100%;max-width:none;margin-inline:0;padding-inline:0}
:root .m-site-content.m-internal.m-privacy{padding-inline:var(--proema-section-pad)!important}
:root .m-site-content.m-paths .m-path-shortcuts{padding-inline:var(--proema-section-pad)!important}
@media(max-width:1024px){:root{--proema-section-pad:32px}}
@media(max-width:600px){:root{--proema-section-pad:24px}}

/* Anchor groups are structural: their sections own the single inset. */
:root .m-site-content.m-internal:not(.m-privacy)>.wp-block-group__inner-container>:is(.m-c-anchor,.m-e-anchor,.m-s-anchor,.m-f-anchor,.m-w-anchor,.m-a-anchor){padding-inline:0!important}
:root .m-site-content.m-internal :is(.m-c-anchor,.m-e-anchor,.m-s-anchor,.m-f-anchor,.m-w-anchor,.m-a-anchor)>.wp-block-group__inner-container>.stk-block-columns{width:100%!important;max-width:100%!important;margin-inline:0!important;padding-inline:var(--proema-section-pad)!important;box-sizing:border-box}

/* Surface grids use the page edges. Their cards own the interior padding. */
:root .m-site-content.m-internal:not(.m-privacy)>:is(.wp-block-group__inner-container,.block-editor-inner-blocks)>:is(.m-c-ages,.m-c-process,.m-e-practices,.m-s-practices,.m-f-practices,.m-f-paths,.m-w-practices,.m-a-practices,.m-a-paths,.m-s-planning,.m-w-degrees,.m-path-list,.m-path-next,.m-card-grid,.m-n-duo){padding-inline:0!important}
:root .m-site-content.m-internal :is(.m-c-anchor,.m-e-anchor,.m-s-anchor,.m-f-anchor,.m-w-anchor,.m-a-anchor)>.wp-block-group__inner-container>:is(.m-e-practices,.m-s-practices,.m-f-practices,.m-f-paths,.m-w-practices,.m-a-practices){padding-inline:0!important}
:root .m-site-content.m-internal.m-formazione .m-f-practices .m-f-step{width:100%!important;max-width:100%!important;justify-self:stretch}
:root .m-site-content.m-internal.m-sei .m-s-practices .m-s-step{padding-inline:var(--proema-section-pad)!important}
:root .m-site-content.m-internal.m-privacy{padding-inline:0!important}
:root .m-site-content.m-internal.m-privacy>.wp-block-group__inner-container>:is(.wp-block-group,.stk-block-columns){width:100%;max-width:100%;box-sizing:border-box;padding-inline:var(--proema-section-pad)!important}

/* Card collections inside a white editorial section align to the outer frame too. */
:root .m-site-content.m-internal.m-nextpage :is(.m-n-three,.m-n-contact-choices,.m-n-news-query,.m-d-steps){width:calc(100% + var(--proema-section-pad)*2)!important;max-width:none!important;margin-inline:calc(-1 * var(--proema-section-pad))!important;padding-inline:0!important;box-sizing:border-box}
