/* Shared content margins and footer for landing and satellite pages. */
.page-width { max-width: 1000px; width: calc(100% - 160px); margin-inline: auto; }
@media (max-width: 1100px) { .page-width { width: calc(100% - 128px); } }
@media (max-width: 800px) { .page-width { width: calc(100% - 96px); } }
@media (max-width: 600px) { .page-width { width: calc(100% - 56px); } }

.page-footer { flex-shrink: 0; background: var(--mm-yellow); color: #000; padding-block: 40px; }
.footer-grid { display: grid; grid-template-columns: 1fr auto; align-items: start; gap: 48px 32px; }
.footer-slogan { margin: 0; font-size: clamp(36px, 4.7vw, 60px); line-height: 1.15; font-weight: 800; letter-spacing: -.025em; }
.footer-slogan__line { display: block; position: relative; width: fit-content; }
.footer-flag { position: absolute; top: 0; left: calc(100% + .1em); width: .6em; height: .42em; border: 2px solid #000; background: linear-gradient(#000 0 33.333%,var(--mm-yellow) 33.333% 66.666%,#fff 66.666%); }
.page-footer nav { text-align: right; font-weight: 600; }
.page-footer ul { list-style: none; padding: 0; margin: 8px 0 0; }
.page-footer li + li { margin-top: 16px; }
.page-footer small { font-size: 11px; align-self: end; text-align: right; }
.page-footer .brand { font: 400 26px/1.2 var(--mm-font-brand); text-decoration: none; }
.page-footer a { color: inherit; text-underline-offset: 4px; }
@media (max-width: 600px) {
    .footer-grid { gap: 12px 16px; }
    .footer-slogan { font-size: clamp(25px, 6.3vw, 38px); }
    .page-footer nav { font-size: 12px; }
    .page-footer .brand { font-size: 22px; margin-top: 20px; }
    .page-footer small { grid-column: 1 / -1; text-align: left; }
}
