/* Institutional content only. Operational risk colors are deliberately untouched. */
.cms-page { background: var(--cms-surface, var(--mr-paper)); color: var(--cms-text-primary, var(--mr-text)); }
.cms-page-title { padding-block: 3rem 1rem; }
.cms-page-title h1 { font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.2; }
.cms-page h1, .cms-page h2, .cms-page h3 { font-family: var(--cms-heading-font, var(--mr-font)); overflow-wrap: anywhere; }
.cms-page img { display: block; max-width: 100%; height: auto; border-radius: var(--mr-radius); }
.cms-block { padding-block: var(--cms-block-spacing, 3rem); overflow-wrap: anywhere; }
.cms-block h2 { font-size: clamp(1.5rem, 3vw, 2.5rem); line-height: 1.3; margin-block: 0 1rem; }
.cms-bg-surface { background: var(--cms-surface, var(--mr-paper)); color: var(--cms-text-primary, var(--mr-text)); }
.cms-bg-background { background: var(--cms-background, var(--mr-dark)); color: var(--cms-on-background, var(--mr-paper)); }
.cms-bg-secondary { background: var(--brand-secondary); color: var(--brand-on-secondary); }
.cms-align-center { text-align: center; } .cms-align-end { text-align: right; }
.cms-split { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: center; gap: 2rem; }
.cms-type-image_text .cms-split img { order: -1; }
.cms-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,240px),1fr)); gap: 1.5rem; margin-block: 1.5rem; }
.cms-card { min-width: 0; padding: 1.5rem; border: 1px solid var(--mr-line); border-radius: var(--mr-radius); box-shadow: var(--cms-shadow, none); }
.cms-card h3 { font-size: 1.2rem; margin-block: .75rem; }
.cms-type-logos img { max-height: 100px; width: auto; margin: auto; }
.cms-statistic { display: block; font-size: 2.5rem; }
.cms-rich { overflow-wrap: anywhere; }
.cms-rich p, .cms-rich ul, .cms-rich ol, .cms-rich blockquote { margin-block: 1em; }
.cms-rich ul { list-style: disc; padding-inline-start: 1.5em; } .cms-rich ol { list-style: decimal; padding-inline-start: 1.5em; }
.cms-rich a, .cms-edit-link a, .cms-card a { text-decoration: underline; text-underline-offset: 3px; }
.cms-rich blockquote { border-inline-start: 3px solid var(--mr-copper); padding-inline-start: 1rem; }
.cms-rich table { display: block; overflow-x: auto; max-width: 100%; }
.cms-table { overflow-x: auto; max-width: 100%; }
.cms-table table { width: 100%; border-collapse: collapse; }
.cms-table td, .cms-table th, .cms-rich td, .cms-rich th { padding: .75rem; border: 1px solid var(--mr-line); }
.cms-video { display: block; width: 100%; aspect-ratio: 16/9; border: 0; }
.cms-contact { display: grid; gap: 1rem; max-width: 640px; margin-inline: auto; }
.cms-contact label { display: grid; gap: .3rem; }
.cms-contact input, .cms-contact textarea { width: 100%; padding: .75rem; color: var(--mr-text); background: var(--mr-white); border: 1px solid var(--mr-line); border-radius: var(--mr-radius-sm); }
.cms-notice { padding-block: 1rem; } .cms-edit-link { padding-block: 1rem; text-align: right; }
.cms-editor-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-block: 1rem; }
.cms-editor-list { display: grid; gap: .5rem; }
.cms-editor-list article { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; padding: 1rem; border: 1px solid var(--mr-line); border-radius: var(--mr-radius); }
.cms-editor-list article > div { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.cms-editor-list small { display: block; }
.cms-editor-list pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.cms-editor-list img { object-fit: contain; }
.cms-editor-form { display: grid; gap: 1.5rem; }
.cms-submenu { position: relative; }
.mr-desktop-nav { min-width: 0; flex-wrap: wrap; overflow-wrap: anywhere; }
.mr-desktop-nav > * { max-width: 100%; }
.mr-mobile-nav nav { max-width: calc(100vw - 40px); overflow-wrap: anywhere; }
.mr-brand { min-width: 0; overflow-wrap: anywhere; }
.cms-contact [role="alert"] { color: var(--cms-danger, var(--mr-critical)); }
.cms-notice[role="status"] { border-inline-start: 3px solid var(--cms-success, var(--brand-primary)); padding-inline-start: 1rem; }
.cms-name-short { display: none; }
.cms-static-header { background: var(--mr-dark); border-bottom: 1px solid var(--mr-dark-line); }
.mr-global-footer-inner > *, .mr-header-actions { min-width: 0; overflow-wrap: anywhere; }
.mr-header-actions { flex-wrap: wrap; }
.cms-submenu summary { cursor: pointer; }
.cms-submenu > div { position: absolute; z-index: 45; min-width: 200px; padding: 1rem; display: grid; gap: .75rem; background: var(--mr-dark); border: 1px solid var(--mr-dark-line); }
.mr-mobile-nav .cms-submenu > div { position: static; min-width: 0; }
.cms-swatch { display: block; height: 48px; margin-bottom: .5rem; border: 1px solid var(--mr-line); }
@media(max-width: 768px) { .cms-split { grid-template-columns: minmax(0,1fr); } .cms-type-image_text .cms-split img { order: 0; } .cms-block { padding-block: 2rem; } }
@media(max-width: 640px) { .cms-name-full { display: none; } .cms-name-short { display: inline; } }
