.mwm-legacy { max-width: 1120px; min-height: 45vh; }
.mwm-legacy > h1 { font-size: clamp(2.2rem, 5vw, 4rem); line-height: 1.12; }
.mwm-legacy p { margin-bottom: 1.25rem; }
.mwm-legacy a:not([class]), .mwm-text-link { text-decoration: underline; text-underline-offset: .2em; }
.mwm-legacy iframe { max-width: 100%; }
.mwm-post-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-block: 40px; }
.mwm-post-card { padding: 28px; border: 1px solid var(--line); background: var(--paper); }
.mwm-post-card h2 { font-size: 1.5rem; line-height: 1.3; }
.mwm-pagination { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 32px; }
.mwm-pagination .page-numbers { min-width: 44px; min-height: 44px; padding: 10px 16px; border: 1px solid var(--line); text-align: center; }
.mwm-pagination .current { color: white; background: var(--navy); }
.mwm-archive .search-form { display: flex; flex-wrap: wrap; gap: 12px; }
.mwm-archive input { min-height: 48px; max-width: 100%; padding: 10px 16px; }
.wpcf7 input:not([type=checkbox]):not([type=radio]), .wpcf7 select, .wpcf7 textarea { max-width: 100%; box-sizing: border-box; }
.wpcf7-not-valid-tip { color: #a41d24; }
.wpcf7-response-output { background: #fff; color: #04294d; }
@media (max-width: 800px) { .mwm-post-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 540px) { .mwm-post-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Isolate the approved typography from inherited Aeso heading defaults. */
body.mwm-premium-site h1, body.mwm-premium-site h2, body.mwm-premium-site h3,
body.mwm-premium-site h4, body.mwm-premium-site button, body.mwm-premium-site input,
body.mwm-premium-site select, body.mwm-premium-site textarea { font-family: var(--font) !important; }
body.mwm-premium-site .contact-grid > div > a { display: block; width: fit-content; margin-top: 12px; }
body.mwm-premium-site .wpcf7 .contact-form p { margin: 0; }
body.mwm-premium-site .wpcf7 .contact-form > p { display: contents; }
body.mwm-premium-site .wpcf7 .contact-form br { display: none; }
body.mwm-premium-site .wpcf7 .contact-form label { display: block; width: 100%; }
body.mwm-premium-site .wpcf7 .contact-form input, body.mwm-premium-site .wpcf7 .contact-form select,
body.mwm-premium-site .wpcf7 .contact-form textarea { width: 100%; float: none; margin: 0; }
body.mwm-premium-site .wpcf7 input[type=submit] { min-height: 52px; padding: 14px 24px; border: 0; border-radius: 0; background: var(--navy); color: white; cursor: pointer; }
body.mwm-premium-site .wpcf7 .wpcf7-response-output { color: var(--navy); }
