/* Shared responsive contract. See RESPONSIVE-LAYOUT.md before changing. */
:root{--site-content-max:1600px;--site-frame-max:1652px;--site-editorial-max:1280px;--site-board-max:1840px;--site-gutter:26px;--site-hero-max-height:900px}
/* New pages should use these containers; backgrounds stay full width. */
.site-container{width:100%;max-width:var(--site-frame-max);margin-inline:auto;padding-inline:var(--site-gutter);box-sizing:border-box}
.site-container--editorial{max-width:var(--site-editorial-max)}
.site-container--board{max-width:var(--site-board-max)}
.site-grid{display:grid;grid-template-columns:repeat(var(--site-columns,3),minmax(0,1fr));gap:24px}
.site-grid>*{min-width:0}
/* Existing page families retain their approved proportions with bounded gutters. */
.c-body{--c-pad:clamp(14px,2.2vw,26px)}
.c-body :is(.c-wrap,.ds-shell,.ar-wrap,.c-x__in){box-sizing:border-box;min-width:0;max-inline-size:100%}
.c-body .c-wrap{max-width:var(--site-board-max);width:100%}
#c-page.ds-page .ds-shell{width:100%;max-width:var(--site-editorial-max);margin-inline:auto}
#c-page.ar-page .ar-wrap{width:100%;max-width:1240px;margin-inline:auto}
#c-page :is(.c-cards,.c-feats,.c-mods,.c-benefits,.ds-cards,.ds-split,.dekc-grid)>*{min-width:0}
#c-page :is(.c-text,.ds-card-body,.ar-content){overflow-wrap:break-word}
#c-page :is(.c-text,.ar-content) img{max-width:100%;height:auto}
@media(min-width:1100px){
 /* The two course panels live inside bounded tracks, never viewport-sized padding. */
 #c-page:has(>.c-x--coursehero):not([data-ref]){grid-template-columns:minmax(var(--site-gutter),1fr) repeat(12,minmax(0,133.333333px)) minmax(var(--site-gutter),1fr)!important}
 #c-page:has(>.c-x--coursehero):not([data-ref])>.c-x:has(.c-mods){grid-column:2/span 7!important;padding-inline:0 8px!important}
 #c-page:has(>.c-x--coursehero):not([data-ref])>.c-x:has(.c-mods)+.c-x:has(.c-benefits){grid-column:9/span 5!important;padding-inline:8px 0!important}
 #c-page:has(>.c-x--coursehero):not([data-ref])>.c-x:has(.c-mods,.c-benefits)>.c-x__in{padding-inline:0!important}
 #c-page:has(>.c-x--coursehero)>.c-x--course-reference{height:min(var(--site-hero-max-height),100svh)!important}
 #c-page:has(>.c-x--coursehero)>.c-x:not(.c-x--coursehero):not(:has(.c-mods,.c-benefits))>.c-x__in{max-width:var(--site-frame-max);width:100%;margin-inline:auto;padding-inline:var(--site-gutter)}
}
@media(max-width:1099px){.site-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){:root{--site-gutter:14px}.site-grid{grid-template-columns:1fr;gap:16px}}

/* Legacy contact headings must wrap instead of enlarging the document. */
#c-page .c-x:not(.c-x--coursehero) .c-x__head .c-h{white-space:normal!important;overflow-wrap:break-word}
