

:root {
    --mm-ink: #231C5A;
    --mm-ink-2: #2E2672;
    --mm-ink-3: #3A2F8C;
    --mm-ink-line: #6B61C9;
    --mm-ink-deep: #1C164A;
    --mm-foot-bg: #191445;
    --mm-on-ink: #D9D4FF;
    --mm-gold: #F2B92C;
    --mm-lilac: #ECE8FF;
    --mm-cream: #FFF6DD;
    --mm-muted: var(--dt-muted, #57527A);
    --mm-link: #4B3FC4;
    --mm-line: #DDD8F5;
    --mm-field: #938CC4;
    --mm-surface: #F7F5FF;
    --mm-font-display: Unbounded, system-ui, sans-serif;
    --mm-font-body: var(--dt-font, Manrope, system-ui, sans-serif);
    --mm-fs-display: 61px;
    --mm-fs-h2: 39px;
    --mm-fs-h3b: 25px;
    --mm-fs-h3: 20px;
    --mm-fs-lead: 20px;
    --mm-fs-body: 16px;
    --mm-fs-sm: 14px;
    --mm-fs-meta: 12px;
    --mm-sp-1: 8px;
    --mm-sp-2: 16px;
    --mm-sp-3: 24px;
    --mm-sp-4: 32px;
    --mm-sp-6: 48px;
    --mm-sp-8: 64px;
    --mm-sp-12: 96px;
    --mm-sec-y: 72px;
    --mm-card-p: 24px;
    --mm-r-card: 24px;
    --mm-r-in: 16px;
    --mm-r-ctl: 12px;
    --mm-ctl: 48px;
    --mm-wide: 1240px;
    --mm-eo: cubic-bezier(.16, 1, .3, 1);
}
@media (max-width: 767.98px) {
    :root { --mm-fs-display: 39px; --mm-fs-h2: 31px; --mm-fs-lead: 18px; --mm-sec-y: 48px; --mm-card-p: 20px; }
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font: 400 var(--mm-fs-body)/1.6 var(--mm-font-body); color: var(--dt-text, #231C5A); background: var(--dt-bg, #FFFFFF); }
img, video { max-width: 100%; height: auto; }
a { color: var(--mm-link); text-underline-offset: 3px; }
a:hover { color: var(--mm-ink); }

:focus-visible { outline: 3px solid var(--mm-gold); outline-offset: 3px; box-shadow: 0 0 0 3px var(--mm-ink); }
b, strong { font-weight: 600; }
h1, h2, h3 { font-family: var(--mm-font-display); font-weight: 600; color: var(--mm-ink); margin: 0 0 var(--mm-sp-2); }
h1 { font-size: var(--mm-fs-h2); line-height: 1.15; letter-spacing: -.01em; }
h2 { font-size: var(--mm-fs-h3b); line-height: 1.2; margin-top: var(--mm-sp-6); }
h3 { font-size: var(--mm-fs-h3); line-height: 1.25; margin-top: var(--mm-sp-4); }
h4, h5, h6 { font-size: var(--mm-fs-body); font-weight: 600; line-height: 1.25; margin: var(--mm-sp-3) 0 var(--mm-sp-1); }
h1:first-child, h2:first-child, h3:first-child { margin-top: 0; }
main { display: block; max-width: var(--dt-width, 72rem); margin: 0 auto; padding: var(--mm-sp-4) var(--mm-sp-3) var(--mm-sp-12); }

main:has(> .mm-bleed) { max-width: none; padding: 0; }
main:has(> .mm-bleed) > .breadcrumbs { max-width: var(--mm-wide); margin: 0 auto; padding: var(--mm-sp-2) var(--mm-sp-3) 0; }
main :where(p, blockquote, ul:not([class]), ol:not([class]), dl:not([class])) { max-width: 70ch; }
main :where(ul, ol) { padding-left: 1.25rem; }
hr { border: 0; border-top: 1px solid var(--mm-line); margin: var(--mm-sp-4) 0; }
.muted { color: var(--mm-muted); font-size: var(--mm-fs-sm); }
.grid { display: grid; gap: var(--mm-sp-3); grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); }
.card { display: block; background: #FFFFFF; border: 1px solid var(--mm-line); border-radius: var(--mm-r-card); padding: var(--mm-sp-3); }
a.card { color: inherit; text-decoration: none; transition: transform 200ms var(--mm-eo), box-shadow 200ms var(--mm-eo), border-color 150ms var(--mm-eo); }
a.card:hover, a.card:focus-visible { border-color: var(--mm-ink-line); transform: translateY(-2px); box-shadow: 0 12px 32px rgba(35, 28, 90, .1); }
label { display: block; margin: var(--mm-sp-2) 0 var(--mm-sp-1); font-size: var(--mm-fs-sm); font-weight: 600; line-height: 1.5; }
input, textarea, select { font: inherit; color: var(--mm-ink); width: 100%; max-width: 32rem; min-height: var(--mm-ctl); padding: 0 var(--mm-sp-2); background: #FFFFFF; border: 1.5px solid var(--mm-field); border-radius: var(--mm-r-ctl); }
textarea { padding: 12px var(--mm-sp-2); min-height: 8rem; }
input:hover, textarea:hover, select:hover { border-color: var(--mm-ink-line); }
input[type=checkbox], input[type=radio] { width: 20px; height: 20px; min-height: 0; padding: 0; accent-color: var(--mm-ink); vertical-align: middle; }
button, [type=submit], [type=button], [type=reset] { font: 600 var(--mm-fs-body)/1.2 var(--mm-font-body); display: inline-flex; align-items: center; justify-content: center; gap: var(--mm-sp-1); min-height: var(--mm-ctl); margin-top: var(--mm-sp-2); padding: 0 var(--mm-sp-3); border: 0; border-radius: var(--mm-r-ctl); background: var(--mm-ink); color: #FFFFFF; cursor: pointer; transition: transform 200ms var(--mm-eo), box-shadow 200ms var(--mm-eo); }
button:hover, [type=submit]:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(35, 28, 90, .3); }
button:disabled, [type=submit]:disabled { opacity: .6; cursor: not-allowed; transform: none; box-shadow: none; }
fieldset { border: 1px solid var(--mm-line); border-radius: var(--mm-r-in); padding: var(--mm-sp-2); }
.error { color: #B42318; font-size: var(--mm-fs-sm); }
.ok { color: #067647; }
table { border-collapse: collapse; width: 100%; font-size: var(--mm-fs-sm); }
td, th { border-bottom: 1px solid var(--mm-line); padding: 12px var(--mm-sp-2); text-align: left; vertical-align: top; }
th { background: var(--mm-lilac); font-weight: 600; }
pre { background: var(--mm-surface); border: 1px solid var(--mm-line); border-radius: var(--mm-r-in); padding: var(--mm-sp-2); overflow-x: auto; font-size: var(--mm-fs-sm); }
code { font-size: .9em; }
.layout-with-sidebar { display: grid; gap: var(--mm-sp-6); grid-template-columns: minmax(0, 1fr); max-width: var(--dt-width, 72rem); margin: 0 auto; padding: 0 var(--mm-sp-3); }
.layout-with-sidebar > main { max-width: none; padding-left: 0; padding-right: 0; margin: 0; }
.layout-with-sidebar > aside { padding: var(--mm-sp-4) 0; }
@media (min-width: 52rem) { .layout-with-sidebar { grid-template-columns: minmax(0, 1fr) 18rem; } }
.widget { background: var(--mm-surface); border-radius: var(--mm-r-card); padding: var(--mm-sp-3); margin-bottom: var(--mm-sp-3); }
.widget h2 { font-size: var(--mm-fs-body); line-height: 1.25; margin: 0 0 var(--mm-sp-1); }
.widget ul { margin: 0; padding-left: 1.1rem; }
.widget li { padding: 4px 0; }
.menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--mm-sp-1) var(--mm-sp-4); }
.menu li { position: relative; }
.menu .menu { display: none; flex-direction: column; gap: 0; }
.menu li:hover > .menu, .menu li:focus-within > .menu { display: flex; position: absolute; left: -12px; top: 100%; z-index: 20; min-width: 12rem; padding: var(--mm-sp-1); background: #FFFFFF; border: 1px solid var(--mm-line); border-radius: var(--mm-r-in); box-shadow: 0 16px 40px rgba(10, 6, 40, .15); }
.menu .menu a { display: block; padding: 12px; border-radius: var(--mm-r-ctl); }
.footer-links { display: flex; flex-wrap: wrap; gap: 4px var(--mm-sp-3); }
.footer-links a, .bookmark a { display: inline-flex; align-items: center; min-height: var(--mm-ctl); }
.cols { display: grid; gap: var(--mm-sp-3); }
@media (min-width: 40rem) {
    .cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.figure { margin: var(--mm-sp-3) 0; }
.figure img { border-radius: var(--mm-r-in); }
.figure .caption { font-size: var(--mm-fs-sm); color: var(--mm-muted); margin: var(--mm-sp-1) 0 0; }
blockquote { margin: var(--mm-sp-3) 0; padding: var(--mm-sp-2) var(--mm-sp-3); border-left: 4px solid var(--mm-gold); background: var(--mm-cream); border-radius: 0 var(--mm-r-in) var(--mm-r-in) 0; color: var(--mm-ink); }
blockquote .cite { font-size: var(--mm-fs-sm); color: var(--mm-muted); }
.breadcrumbs { font-size: var(--mm-fs-sm); color: var(--mm-muted); margin-bottom: var(--mm-sp-3); }
.breadcrumbs a { color: var(--mm-muted); display: inline-flex; align-items: center; min-height: var(--mm-ctl); }
.breadcrumbs a:hover { color: var(--mm-ink); }
.lang-switcher { display: flex; gap: var(--mm-sp-1); font-size: var(--mm-fs-sm); }
.lang-switcher a { display: inline-flex; align-items: center; min-height: var(--mm-ctl); padding: 0 4px; text-decoration: none; }
.lang-switcher a[aria-current] { font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.ad-zone { padding: 0 var(--mm-sp-3); }
.consent { position: fixed; inset: auto 0 0 0; z-index: 50; background: #FFFFFF; color: var(--mm-ink); border-top: 1px solid var(--mm-line); box-shadow: 0 -8px 24px rgba(35, 28, 90, .12); padding: 12px var(--mm-sp-2); max-height: 85vh; overflow-y: auto; font-size: var(--mm-fs-sm); line-height: 1.5; }
.consent form { max-width: var(--mm-wide); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--mm-sp-1) var(--mm-sp-3); align-items: center; }
.consent p { margin: 0; max-width: none; }
body:has(> .consent) { padding-bottom: 12rem; }
@media (min-width: 48rem) {
    .consent { padding: 12px 0; }
    .consent form { grid-template-columns: minmax(0, 1fr) auto auto; padding: 0 var(--mm-sp-3); }
    .consent details[open] { grid-column: 1 / -1; }
    body:has(> .consent) { padding-bottom: 8.5rem; }
}
@media (min-width: 64rem) { body:has(> .consent) { padding-bottom: 5rem; } }
.consent-actions { display: flex; flex-wrap: wrap; gap: var(--mm-sp-1); }
.consent-actions button { flex: 1 1 auto; margin: 0; padding: 0 var(--mm-sp-2); white-space: normal; }
.consent summary { display: flex; align-items: center; min-height: var(--mm-ctl); cursor: pointer; width: max-content; font-weight: 600; color: var(--mm-link); text-decoration: underline; text-underline-offset: 3px; }
.consent summary:hover { color: var(--mm-ink); }
.consent-opt { display: flex; gap: var(--mm-sp-1); align-items: center; font-weight: 400; margin-top: var(--mm-sp-1); }
.consent-opt input { width: 20px; height: 20px; margin: 0; }
.mm-display, .mm-h2, .mm-h3 { font-family: var(--mm-font-display); font-weight: 600; margin: 0; }
.mm-display { font-size: var(--mm-fs-display); line-height: 1.1; letter-spacing: -.02em; }
.mm-h2 { font-size: var(--mm-fs-h2); line-height: 1.15; letter-spacing: -.01em; }
.mm-h3 { font-size: var(--mm-fs-h3); line-height: 1.25; }
.mm-h3b { font-family: var(--mm-font-display); font-weight: 600; font-size: var(--mm-fs-h3b); line-height: 1.2; margin: 0; }
.mm-lead { font-size: var(--mm-fs-lead); line-height: 1.55; margin: 0; }
.mm-meta { font-size: var(--mm-fs-meta); line-height: 1.4; }
.mm-sm { font-size: var(--mm-fs-sm); line-height: 1.5; color: var(--mm-muted); }
.mm-sec { max-width: var(--mm-wide); margin: 0 auto; padding: var(--mm-sec-y) var(--mm-sp-3); }
.mm-sec-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: var(--mm-sp-2) var(--mm-sp-6); margin-bottom: var(--mm-sp-6); }
.mm-sec-head p { max-width: 60ch; margin: var(--mm-sp-2) 0 0; color: var(--mm-muted); }
.mm-sec-head > p { margin: 0; }
.mm-card { border-radius: var(--mm-r-card); padding: var(--mm-card-p); background: #FFFFFF; border: 1px solid var(--mm-line); }
.mm-chip { flex: none; display: inline-flex; align-items: center; min-height: var(--mm-ctl); border-radius: 999px; padding: 0 20px; font-weight: 500; white-space: nowrap; background: var(--mm-lilac); color: var(--mm-ink); text-decoration: none; }
@media (max-width: 767.98px) { .mm-sec { padding-inline: var(--mm-sp-2); } .mm-sec-head { margin-bottom: var(--mm-sp-4); } }

.mm-header { position: sticky; top: 0; z-index: 30; background: var(--mm-ink); color: #FFFFFF; }
.mm-header-in { max-width: var(--mm-wide); margin: 0 auto; padding: var(--mm-sp-2) var(--mm-sp-3); display: flex; align-items: center; justify-content: space-between; gap: var(--mm-sp-3); }
.mm-logo { display: flex; align-items: center; gap: 12px; min-height: var(--mm-ctl); font: 600 20px/1.6 var(--mm-font-display); color: #FFFFFF; text-decoration: none; }
.mm-logo:hover { color: #FFFFFF; }
.mm-logo svg { flex: none; color: var(--mm-gold); }
.mm-logo img { max-height: 40px; width: auto; }
.mm-nav { display: flex; gap: var(--mm-sp-4); font-size: var(--mm-fs-body); font-weight: 500; }
.mm-nav > a, .mm-mega > a, .mm-mega-b, .mm-nav .menu a { color: var(--mm-on-ink); text-decoration: none; display: inline-flex; align-items: center; min-height: var(--mm-ctl); padding: 0; }
.mm-nav > a:hover, .mm-mega > a:hover, .mm-mega-b:hover, .mm-mega-b[aria-expanded=true], .mm-nav .menu a:hover { color: #FFF; transform: none; box-shadow: none; }
.mm-mega { display: flex; }
.mm-mega-b { margin: 0; gap: 4px; background: none; font: inherit; white-space: nowrap; }
.mm-mega-b[aria-expanded=true] .mm-i { transform: rotate(180deg); }
.mm-mega-p { position: absolute; inset: 100% 0 auto; max-height: calc(100vh - 80px); overflow-y: auto; background: #FFF; color: var(--mm-ink); font-weight: 400; box-shadow: 0 24px 48px rgba(10, 6, 40, .25); animation: mm-in 200ms var(--mm-eo); }
.mm-mega-in { max-width: var(--mm-wide); margin: 0 auto; padding: var(--mm-sp-4) var(--mm-sp-3); display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: var(--mm-sp-4); align-items: start; }
.mm-mega-list, .mm-acc > div, .mm-sd-list { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.mm-mega-in > .mm-mega-list { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.mm-mega-h { margin: 8px 0 4px; padding: 0 12px; font: 600 var(--mm-fs-meta)/1.4 var(--mm-font-body); letter-spacing: .08em; text-transform: uppercase; color: var(--mm-muted); }
.mm-mega-i, .mm-sd-o { display: flex; align-items: center; gap: 12px; min-height: var(--mm-ctl); padding: 8px 12px; border-radius: var(--mm-r-ctl); color: var(--mm-ink); text-decoration: none; }
.mm-mega-i:hover, .mm-sd-o:hover, .mm-sd-o[aria-selected=true] { background: var(--mm-lilac); color: var(--mm-ink); }
.mm-mega-i .mm-i { flex: none; padding: 8px; box-sizing: content-box; border-radius: var(--mm-r-ctl); background: var(--mm-lilac); color: var(--mm-link); }
.mm-mega-i > span, .mm-mega-list > li { min-width: 0; }
.mm-mega-i b { display: block; }
.mm-mega-i span span { display: block; font-size: var(--mm-fs-sm); color: var(--mm-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mm-mega-card { display: grid; gap: 12px; padding: var(--mm-sp-3); border-radius: var(--mm-r-card); background: var(--mm-ink); color: var(--mm-on-ink); text-decoration: none; }
.mm-mega-card b, a.mm-mega-card:hover { color: #FFF; }
.mm-mega-card .mm-i { color: var(--mm-gold); }
.mm-mega-card a:not(.mm-btn) { color: #FFF; display: flex; align-items: center; min-height: var(--mm-ctl); }
.mm-nav .menu .menu { background: var(--mm-ink-2); border-color: var(--mm-ink-3); }
.mm-nav .menu .menu a:hover { background: var(--mm-ink-3); }
.mm-header-act { display: flex; gap: var(--mm-sp-1); align-items: center; }
.mm-lang { position: relative; }
.mm-lang > summary { list-style: none; font-size: var(--mm-fs-sm); }
.mm-lang > summary::-webkit-details-marker { display: none; }
.mm-lang .lang-switcher { position: absolute; right: 0; top: 56px; z-index: 31; display: grid; gap: 4px; min-width: 10rem; padding: 12px; background: var(--mm-ink-2); border-radius: var(--mm-r-in); box-shadow: 0 16px 40px rgba(10, 6, 40, .45); }
.mm-lang .lang-switcher a { padding: 0 12px; border-radius: var(--mm-r-ctl); color: #FFFFFF; font-weight: 500; }
.mm-lang .lang-switcher a:hover { background: var(--mm-ink-3); color: #FFFFFF; }
.mm-menu { display: none; }
.mm-menu > summary, .mm-acc > summary { list-style: none; margin: 0; cursor: pointer; }
.mm-menu > summary::-webkit-details-marker, .mm-acc > summary::-webkit-details-marker { display: none; }
.mm-burger { position: relative; width: 18px; height: 12px; display: block; }
.mm-burger > span { position: absolute; left: 0; width: 18px; height: 2px; border-radius: 2px; background: #FFFFFF; transition: transform 200ms var(--mm-eo), top 200ms var(--mm-eo); }
.mm-burger > span:first-child { top: 1px; }
.mm-burger > span:last-child { top: 9px; }
.mm-menu[open] .mm-burger > span:first-child { top: 5px; transform: rotate(45deg); }
.mm-menu[open] .mm-burger > span:last-child { top: 5px; transform: rotate(-45deg); }
.mm-menu-panel { position: absolute; right: var(--mm-sp-3); top: calc(100% - 8px); width: min(320px, calc(100vw - 32px)); background: var(--mm-ink-2); border-radius: var(--mm-r-in); padding: 12px; display: grid; gap: 4px; box-shadow: 0 16px 40px rgba(10, 6, 40, .45); animation: mm-in 200ms var(--mm-eo); max-height: calc(100vh - 88px); overflow-y: auto; }
.mm-menu-panel nav, .mm-menu-panel .menu { display: grid; gap: 4px; }
.mm-menu-panel .menu .menu { display: grid; position: static; padding: 0 0 0 var(--mm-sp-2); background: none; border: 0; box-shadow: none; min-width: 0; }
.mm-menu-panel a:not(.mm-btn), .mm-acc > summary { display: flex; align-items: center; min-height: var(--mm-ctl); padding: 0 12px; border-radius: var(--mm-r-ctl); color: #FFFFFF; text-decoration: none; font-weight: 500; }
.mm-menu-panel a:not(.mm-btn):hover, .mm-acc > summary:hover { background: var(--mm-ink-3); color: #FFFFFF; }
.mm-menu-panel .mm-menu-contact { gap: 10px; }
.mm-menu-panel > .mm-btn { margin-top: var(--mm-sp-1); width: 100%; }
.mm-menu-acct { margin-top: 4px; padding-top: 8px; border-top: 1px solid var(--mm-ink-3); }
.mm-menu-acct form { margin: 0; }
.mm-menu-acct .mm-btn { width: 100%; margin: 0; }
.mm-acc > summary::after { content: ''; width: 8px; height: 8px; margin: -4px 4px 0 auto; border: solid; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.mm-acc[open] > summary::after { margin-top: 4px; transform: rotate(-135deg); }
.mm-acc > div { padding-left: var(--mm-sp-2); }
.mm-sd { width: min(720px, calc(100vw - 32px)); max-height: calc(100vh - 64px); margin: 8vh auto auto; padding: 0; border: 0; border-radius: var(--mm-r-card); color: var(--mm-ink); box-shadow: 0 24px 64px rgba(10, 6, 40, .4); animation: mm-in 200ms var(--mm-eo); }
.mm-sd::backdrop { background: rgba(28, 22, 74, .6); }
.mm-sd-in { position: relative; padding: var(--mm-sp-4); }
.mm-sd-x { position: absolute; top: 12px; right: 12px; }
.mm-sd-x .mm-btn { background: none; color: var(--mm-ink); }
.mm-sd-row { display: flex; gap: var(--mm-sp-1); margin-top: var(--mm-sp-2); }
.mm-sd-row input { flex: 1; min-width: 0; max-width: none; }
.mm-sd-list { margin-top: var(--mm-sp-2); max-height: 45vh; overflow-y: auto; }
.mm-sd-o:last-child { font-weight: 600; color: var(--mm-link); }
.mm-sd-type { flex: none; padding: 2px 10px; border-radius: 999px; background: var(--mm-cream); font-size: var(--mm-fs-meta); font-weight: 600; }
.mm-sd-pop { margin: var(--mm-sp-3) 0 8px; color: var(--mm-muted); }
@media (min-width: 1024px) and (max-width: 1279.98px) { .mm-nav { gap: 12px; } .mm-header-in { gap: 12px; } .mm-header-act { gap: 4px; } .mm-header-act .mm-hd-wa { display: none; } }
@media (max-width: 1023.98px) {
    .mm-nav { display: none; }
    .mm-menu { display: block; }
}
@media (max-width: 767.98px) {
    .mm-hide-sm { display: none !important; }
    .mm-header-in { gap: 8px; padding-inline: var(--mm-sp-2); }
    .mm-header-act { gap: 4px; }
    .mm-logo { gap: 8px; font-size: 18px; }
    .mm-sd-in { padding: var(--mm-sp-3) var(--mm-sp-2); }
}

.mm-bar { background: var(--mm-gold); color: var(--mm-ink); font-size: var(--mm-fs-sm); font-weight: 600; line-height: 1.5; text-align: center; padding: var(--mm-sp-1) var(--mm-sp-2); }
.mm-bar a { display: inline-block; padding-block: 13.5px; margin-block: -13.5px; color: var(--mm-ink); text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.mm-bar a:hover { text-decoration-thickness: 2px; }

.mm-foot { display: flow-root; background: var(--mm-foot-bg); color: var(--mm-on-ink); font-size: var(--mm-fs-sm); line-height: 1.5; }
.mm-foot a { color: var(--mm-on-ink); }
.mm-foot a:hover { color: #FFFFFF; }
.mm-foot .mm-btn--gold, .mm-foot .mm-btn--gold:hover { color: var(--mm-ink); }
.mm-foot .mm-logo { color: #FFFFFF; }
.mm-foot p { margin: 0; max-width: none; }
.mm-foot-news, .mm-foot-in, .mm-foot-widgets, .mm-foot-bottom-in { width: calc(100% - 48px); max-width: calc(var(--mm-wide) - 48px); margin: 0 auto; }
.mm-foot-news { margin-top: var(--mm-sp-4); padding: var(--mm-sp-3); display: grid; gap: var(--mm-sp-2) var(--mm-sp-6); align-items: center; border-radius: var(--mm-r-in); background: var(--mm-ink); }
.mm-foot-news .mm-foot-h { font: 600 var(--mm-fs-h3)/1.3 var(--mm-font-display); margin-bottom: 4px; }
.mm-foot-news form { display: flex; flex-wrap: wrap; gap: var(--mm-sp-1); align-items: center; }
.mm-foot-news form > strong, .mm-foot-news form > label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: 0; }
.mm-foot-news form > p, .mm-foot-news form > fieldset, .mm-foot-news form > .error { flex: 1 0 100%; margin: 0; }
.mm-foot-news form > fieldset { order: 1; }
.mm-foot-news form > .dt-captcha { flex: 1 0 100%; order: 1; }
.mm-foot-news form > p.muted { order: 2; }
.mm-foot-news .muted { color: var(--mm-on-ink); font-size: var(--mm-fs-meta); }
.mm-foot-news input[type=email] { flex: 1 1 0; min-width: 0; max-width: none; font-size: var(--mm-fs-body); background: var(--mm-foot-bg); border-color: var(--mm-ink-3); color: #FFFFFF; }
.mm-foot-news button { flex: none; margin: 0; }
.mm-foot .error { color: #FFB4AB; }
.mm-foot .ok { color: #9BE7B4; }
.mm-foot-in { padding: 40px 0 var(--mm-sp-4); display: grid; gap: var(--mm-sp-4) var(--mm-sp-6); }
.mm-foot .mm-foot-addr { max-width: 34ch; margin: var(--mm-sp-1) 0 12px; white-space: pre-line; }
.mm-foot-contact { list-style: none; margin: 0 0 var(--mm-sp-2); padding: 0; display: grid; overflow-wrap: anywhere; }
.mm-foot-contact a, .mm-foot-ci, .mm-foot-brand > a:not(.mm-logo), .mm-foot-brand > p > a { display: flex; align-items: center; gap: 10px; width: fit-content; min-height: var(--mm-ctl); text-decoration: none; }
.mm-foot-contact svg { flex: none; color: var(--mm-gold); }
.mm-foot-h { font: 600 var(--mm-fs-sm)/1.5 var(--mm-font-body); color: #FFFFFF; margin: 0 0 var(--mm-sp-1); }
.mm-foot-cols { display: grid; gap: var(--mm-sp-3); }
.mm-foot-menu { grid-column: 1 / -1; }
.mm-foot-links { display: flex; flex-wrap: wrap; align-items: center; gap: 0 20px; }
.mm-foot .menu { display: grid; justify-items: start; gap: 0; }
.mm-foot-links a, .mm-foot .menu a { display: inline-flex; align-items: center; min-height: var(--mm-ctl); padding: 0; text-decoration: none; }
.mm-foot .menu li .menu { display: grid; position: static; min-width: 0; padding: 0 0 0 var(--mm-sp-2); border: 0; background: none; box-shadow: none; }
.mm-social { display: flex; flex-wrap: wrap; gap: var(--mm-sp-1); }
.mm-social a { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: var(--mm-ink-2); color: #FFFFFF; transition: background .2s, color .2s; }
.mm-social a:hover { background: var(--mm-gold); color: var(--mm-ink); }
.mm-foot .mm-social a { width: 40px; height: 40px; }
.mm-foot .mm-social svg { width: 18px; height: 18px; }
.mm-foot-widgets { padding-bottom: var(--mm-sp-4); }
.mm-foot-widgets:empty { display: none; }
.mm-foot .widget { background: var(--mm-ink); }
.mm-foot .widget h2 { color: #FFFFFF; }
.mm-foot .widget p { margin: 0 0 var(--mm-sp-2); }
.mm-foot-bottom { border-top: 1px solid var(--mm-ink-2); }
.mm-foot-bottom-in { padding: var(--mm-sp-3) 0; display: grid; gap: var(--mm-sp-2); }
.mm-foot .footer-links { gap: var(--mm-sp-1) var(--mm-sp-2); }
.mm-foot .footer-links a { display: inline-block; min-height: 0; padding-block: 13.5px; margin-block: -13.5px; }
@media (min-width: 768px) {
    .mm-foot-news { grid-template-columns: 1fr minmax(320px, 440px); padding-inline: var(--mm-sp-4); }
    .mm-foot-contact li { margin: -8px 0; }
    .mm-foot-h { margin-bottom: 12px; }
    .mm-foot-cols { grid-template-columns: repeat(3, 1fr); }
    .mm-foot-links { display: grid; justify-items: start; }
    .mm-foot-links a, .mm-foot .menu a { display: block; line-height: 32px; padding: var(--mm-sp-1) 0; margin: -8px 0; }
    .mm-foot-menu .menu-level-1 { display: block; columns: 3; gap: var(--mm-sp-3); }
    /* .1px keeps each link's -8px top margin inside its li (32px pitch); flow-root here made Chrome spill a 4th column. */
    .mm-foot .menu li { break-inside: avoid; padding-top: .1px; }
    .mm-foot-bottom-in { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0 var(--mm-sp-3); }
}
@media (min-width: 1024px) { .mm-foot-in { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } }

.mm-fab { position: fixed; right: var(--mm-sp-3); bottom: var(--mm-sp-3); z-index: 40; width: 56px; height: 56px; border-radius: 50%; background: #1FA855; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 24px rgba(16, 80, 40, .35); animation: mm-in 300ms var(--mm-eo) 1s both; transition: transform 200ms var(--mm-eo), box-shadow 200ms var(--mm-eo); }
.mm-fab:hover { transform: scale(1.06); box-shadow: 0 12px 32px rgba(16, 80, 40, .45); }
body:has(> .consent) .mm-fab { bottom: calc(12rem + var(--mm-sp-2)); }
@media (min-width: 48rem) { body:has(> .consent) .mm-fab { bottom: calc(8.5rem + var(--mm-sp-2)); } }
@media (min-width: 64rem) { body:has(> .consent) .mm-fab { bottom: calc(5rem + var(--mm-sp-2)); } }

.mm-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--mm-sp-1); min-height: var(--mm-ctl); margin: 0; padding: 0 var(--mm-sp-3); border: 0; border-radius: var(--mm-r-ctl); font: 600 var(--mm-fs-body)/1.2 var(--mm-font-body); text-decoration: none; white-space: nowrap; cursor: pointer; transition: transform 200ms var(--mm-eo), box-shadow 200ms var(--mm-eo), background-color 150ms var(--mm-eo); }
.mm-btn:hover { transform: translateY(-2px); }
.mm-btn--gold, .mm-btn--gold:hover, .mm-foot-news button { background: var(--mm-gold); color: var(--mm-ink); }
.mm-btn--gold:hover, .mm-foot-news button:hover { box-shadow: 0 8px 24px rgba(242, 185, 44, .35); }
.mm-btn--ink, .mm-btn--ink:hover { background: var(--mm-ink); color: #FFFFFF; }
.mm-btn--ink:hover { box-shadow: 0 8px 24px rgba(35, 28, 90, .3); }
.mm-btn--line { background: transparent; color: #FFFFFF; box-shadow: inset 0 0 0 1.5px var(--mm-ink-line); }
.mm-btn--line:hover { color: #FFFFFF; background: var(--mm-ink-2); box-shadow: inset 0 0 0 1.5px var(--mm-ink-line); }
.mm-btn--icon { width: var(--mm-ctl); padding: 0; }
.mm-lnk { font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: var(--mm-sp-1); min-height: var(--mm-ctl); }
.mm-lnk span { transition: transform 200ms var(--mm-eo); }
.mm-lnk:hover span { transform: translateX(4px); }
@keyframes mm-in { from { opacity: 0; transform: translateY(12px); } }
@keyframes mm-solid { from { background: #231C5A; box-shadow: none; } to { background: #1C164A; box-shadow: 0 1px 0 #3A2F8C; } }
@keyframes mm-rv { from { opacity: 0; transform: translateY(32px); } }
@keyframes mm-left { from { opacity: 0; transform: translateX(-40px); } }
@keyframes mm-right { from { opacity: 0; transform: translateX(40px); } }
@keyframes mm-zoom { from { opacity: 0; transform: scale(.94); } }
@keyframes mm-fadein { from { opacity: 0; } }

.mm-hero { position: relative; overflow: hidden; container-type: inline-size; background: linear-gradient(var(--mm-ink), var(--mm-ink)) 0 0 / 100% calc(100% - 3px) no-repeat; color: #FFFFFF; }
.mm-hero-in { max-width: var(--mm-wide); margin: 0 auto; padding: var(--mm-sp-8) var(--mm-sp-3) 128px; display: flex; flex-wrap: wrap; gap: var(--mm-sp-6) 0; align-items: center; }
.mm-hero-txt { flex: 1 1 440px; min-width: 0; }
.mm-hero-art { flex: 1.35 1 560px; min-width: 0; margin: -24px 0 -48px 0; }
.mm-hero-art svg { display: block; width: 100%; height: auto; overflow: visible; translate: 2% 0; }
.mm-kicker { display: inline-flex; align-items: center; gap: var(--mm-sp-1); margin: 0 0 var(--mm-sp-3); padding: var(--mm-sp-1) var(--mm-sp-2); border-radius: 999px; background: var(--mm-ink-3); color: var(--mm-gold); font-size: var(--mm-fs-sm); font-weight: 600; line-height: 1.5; }
.mm-hero h1 { color: #FFFFFF; margin-bottom: var(--mm-sp-3); }
.mm-hl { display: block; overflow: hidden; padding-bottom: .06em; }
.mm-hl:last-child { color: var(--mm-gold); }
.mm-hero .mm-lead { max-width: 36ch; margin-bottom: var(--mm-sp-4); color: var(--mm-on-ink); }
.mm-hero-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: var(--mm-sp-4); }
.mm-hero-rate { display: flex; align-items: center; gap: 12px; margin: 0; color: var(--mm-on-ink); font-size: var(--mm-fs-sm); line-height: 1.5; }
.mm-hero-rate span:first-child { color: var(--mm-gold); letter-spacing: 2px; }
.mm-wave { position: absolute; left: 0; bottom: -1px; display: block; width: 100%; height: 64px; }
@media (max-width: 767.98px) { .mm-wave { height: 32px; } }
@media (max-width: 767.98px) { .mm-hero-art { margin: 0; } }
.mm-hl > span { display: block; animation: mm-up 700ms var(--mm-eo) both; }
.mm-hf { animation: mm-in 600ms var(--mm-eo) 500ms both; }
.mm-ribbon { stroke-dasharray: 900; animation: mm-draw 1.8s var(--mm-eo) 300ms both; }
.mm-band, .mm-hbar, .mm-star, .mm-float, .mm-puff, .mm-orbit { transform-box: fill-box; transform-origin: center; }
.mm-band { animation: mm-in 600ms var(--mm-eo) both; }
.mm-hbar { transform-origin: 50% 100%; animation: mm-scale-y 900ms var(--mm-eo) both; }
.mm-star { animation: mm-twinkle 3s ease-in-out 3 forwards; }
.mm-float { animation: mm-float 6s ease-in-out 2.2s 3; }
.mm-orbit { animation: mm-spin 40s linear infinite; }
.mm-puff { opacity: .35; animation: mm-puff 4.5s ease-in-out infinite both; }
.mm-spark, .mm-win, .mm-lose, .mm-coin { offset-rotate: 0deg; animation: mm-along 3.2s cubic-bezier(.45, 0, .55, 1) infinite both; }
.mm-spark { offset-path: path('M262 322 L264 311 L261 300 L255 291 L250 282 L244 273 L238 264 L232 255 L227 245 L222 237 L217 228 L213 218 L209 210 L205 201 L201 192 L197 183 L194 175 L192 167 L190 158 L188 150 L188 142 L187 135 L188 128 L188 121 L190 114 L192 108 L195 102 L198 97 L202 92 L206 88 L211 84 L216 81 L222 78 L228 76 L235 74 L242 73 L249 73 L256 74 L263 76 L270 76 L278 76 L286 78 L294 81 L302 84 L310 88 L318 94 L324 102 L330 112 L332 124'); }
.mm-smoke { transform-box: fill-box; transform-origin: 20% 100%; animation: mm-fadein 900ms var(--mm-eo) 300ms both, mm-breathe 5s ease-in-out 1.2s infinite; }
@keyframes mm-breathe { 50% { transform: translate(2px, -5px) scale(1.03); } }
.mm-win, .mm-lose { animation-name: mm-win; animation-duration: 3.6s; }
.mm-lose { animation-name: mm-lose; }
.mm-coin { offset-path: path('M350 322 C 350 372, 420 400, 470 432'); animation-duration: 2.4s; animation-timing-function: cubic-bezier(.5, 0, .6, 1); }
@supports not (offset-path: path('M0 0 L1 1')) { .mm-spark, .mm-win, .mm-lose, .mm-coin { display: none; } }
/* Offscreen (theme.js): pause every hero loop. Must follow the hero animation rules above. */
.mm-paused * { animation-play-state: paused; }
@keyframes mm-up { from { transform: translateY(105%); } }
@keyframes mm-draw { from { stroke-dashoffset: 900; } }
@keyframes mm-scale-y { from { transform: scaleY(0); } }
@keyframes mm-twinkle { 0%, 100% { opacity: .35; transform: scale(.8); } 50% { opacity: 1; transform: none; } }
@keyframes mm-float { 50% { transform: translateY(-8px); } }
@keyframes mm-spin { to { transform: rotate(360deg); } }
@keyframes mm-puff { 0% { opacity: 0; transform: scale(.6); } 40% { opacity: .55; } 100% { opacity: 0; transform: translateY(-14px) scale(1.35); } }
@keyframes mm-along { 0% { offset-distance: 0%; opacity: 0; } 12%, 88% { opacity: 1; } 100% { offset-distance: 100%; opacity: 0; } }
@keyframes mm-win { 0% { offset-distance: 0%; opacity: 0; fill: #CFC8FF; } 8% { opacity: 1; } 52% { fill: #CFC8FF; } 68% { fill: #F2B92C; } 92% { opacity: 1; } 100% { offset-distance: 100%; opacity: 0; fill: #F2B92C; } }
@keyframes mm-lose { 0% { offset-distance: 0%; opacity: 0; } 8%, 36% { opacity: .9; } 50%, 100% { offset-distance: 50%; opacity: 0; } }
@keyframes mm-grow { from { transform: scaleX(0); } }
@keyframes mm-par { to { transform: translateY(-96px); } }
@keyframes mm-par-slow { to { transform: translateY(-40px); } }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
    
    .mm-spark, .mm-win, .mm-lose, .mm-coin { display: none; }
}

.mm-logos, .mm-stats { max-width: var(--mm-wide); margin: 0 auto; padding: var(--mm-sp-4) var(--mm-sp-3) 0; text-align: center; }
.mm-stats { padding-top: var(--mm-sp-6); text-align: left; }
.mm-logos-t { max-width: none; margin: 0 0 var(--mm-sp-3); font-size: var(--mm-fs-sm); line-height: 1.5; color: var(--mm-muted); }
.mm-logos-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 0; padding: 0; list-style: none; }
.mm-logos-row li { flex: 0 0 calc((100% - 60px) / 6); min-width: 0; }
.mm-logos-row .mm-dup { display: none; }
.mm-logo-tile { display: flex; align-items: center; justify-content: center; height: 72px; padding: 0 12px; border-radius: 16px; background: var(--mm-lilac); filter: grayscale(1); opacity: .7; transition: filter .2s, opacity .2s; }
.mm-logo-tile:hover, .mm-logo-tile:focus-within { filter: none; opacity: 1; }
.mm-logo-tile img { max-width: min(120px, 100%); max-height: 36px; width: auto; height: auto; object-fit: contain; }
.mm-logo-tile .mm-meta { color: var(--mm-muted); font-weight: 600; }
@media (max-width: 767.98px) {
    .mm-logos-view { overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
    .mm-logos-row { flex-wrap: nowrap; justify-content: flex-start; gap: 0; width: max-content; animation: mm-marquee 30s linear infinite; }
    .mm-logos-view::-webkit-scrollbar { display: none; }
    .mm-logos-row li { flex: none; width: 150px; margin-right: 12px; scroll-snap-align: start; }
    .mm-logos-row .mm-dup { display: block; }
    .mm-logos-view:hover .mm-logos-row, .mm-logos-view:focus-within .mm-logos-row, .mm-logos-view:active .mm-logos-row { animation-play-state: paused; }
}
@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
    .mm-logos-view { -webkit-mask-image: none; mask-image: none; }
    .mm-logos-row { animation: none; }
    .mm-logos-row .mm-dup { display: none; }
}
.mm-stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--mm-sp-2); }
.mm-stat { border: 0; background: var(--mm-lilac); }
.mm-stat--ink { background: var(--mm-ink); color: #FFFFFF; }
.mm-stat--cream { background: var(--mm-cream); }
.mm-num { font-family: var(--mm-font-display); font-weight: 600; font-size: 39px; line-height: 1.1; color: var(--mm-ink); }
.mm-stat--ink .mm-num { color: var(--mm-gold); }
.mm-stat-l { margin-top: var(--mm-sp-1); color: var(--mm-muted); }
.mm-stat--ink .mm-stat-l { color: var(--mm-on-ink); }
.mm-bento { display: grid; grid-template-columns: 1fr; gap: var(--mm-sp-3); }
.mm-svc { display: flex; flex-direction: column; align-items: flex-start; border: 0; background: var(--mm-lilac); }
.mm-svc--cream { background: var(--mm-cream); }
.mm-svc--cream > .mm-ico { margin-bottom: 8px; }
.mm-svc--grey { background: #F4F3F8; }
.mm-svc > :is(.mm-h3, .mm-h3b), .mm-svc-b { margin-top: var(--mm-sp-3); }
.mm-svc p { margin: var(--mm-sp-1) 0 var(--mm-sp-3); color: var(--mm-muted); }
.mm-svc .mm-lnk { margin-top: auto; }
@media (min-width: 768px) { .mm-bento { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .mm-bento { grid-template-columns: repeat(3, 1fr); } }
.mm-svc-h { max-width: 16ch; }
#services .mm-bento { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.mm-svc--lead { grid-row: span 2; }
.mm-svc--wide { grid-column: span 2; flex-flow: row wrap; align-items: center; gap: var(--mm-sp-3) var(--mm-sp-4); }
.mm-svc--wide .mm-svc-b { flex: 1 1 320px; margin-top: 0; }
.mm-svc-b p { margin-bottom: 0; }
.mm-svc-items { display: grid; gap: var(--mm-sp-1); width: 100%; margin: 0 0 var(--mm-sp-3); padding: 0; list-style: none; }
.mm-svc-items li { padding: var(--mm-sp-2); border-radius: var(--mm-r-in); background: #FFFFFF; }
.mm-svc-n { font-weight: 600; }
#services .mm-svc .mm-lnk, .mm-sec-head .mm-lnk { position: relative; min-height: 0; }
#services .mm-svc .mm-lnk::after, .mm-sec-head .mm-lnk::after { content: ""; position: absolute; inset: calc(50% - 24px) 0; }
.mm-svc--wide .mm-lnk { margin-top: 0; }
.mm-ico { flex: none; transition: transform 200ms var(--mm-eo); }
.mm-svc:hover .mm-ico { transform: rotate(-6deg) scale(1.06); }
@media (max-width: 767.98px) { .mm-svc--wide { grid-column: 1 / -1; } }
@media (max-width: 767.98px) { .mm-num { font-size: 31px; } }

.mm-404 { max-width: 40rem; }
.mm-404-code { margin: 0 0 var(--mm-sp-1); color: var(--mm-muted); font-size: var(--mm-fs-sm); }
.mm-404 .mm-lead { margin: var(--mm-sp-2) 0 var(--mm-sp-4); color: var(--mm-muted); }
.mm-404-search { display: flex; flex-wrap: wrap; gap: var(--mm-sp-1); align-items: center; margin-bottom: var(--mm-sp-4); }
.mm-404-search label { flex: 0 0 100%; font-weight: 600; }
.mm-404-search input { flex: 1 1 14rem; }
.mm-404-links { display: flex; flex-wrap: wrap; gap: var(--mm-sp-1); margin: 0; }
.mm-process { background: #F7F6FC; }
.mm-track-bar { height: 4px; margin-bottom: var(--mm-sp-4); background: #E3DEFF; border-radius: 4px; overflow: hidden; }
.mm-progress { height: 100%; background: var(--mm-gold); border-radius: 4px; transform-origin: left center; }
.mm-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--mm-sp-3); margin: 0; padding: 0; list-style: none; }
.mm-step { background: #FFFFFF; border: 1.5px solid #E3DEFF; }
.mm-step-n { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: var(--mm-ink); color: var(--mm-gold); font-family: var(--mm-font-display); font-weight: 600; }
.mm-step-n--gold { background: var(--mm-gold); color: var(--mm-ink); }
.mm-step .mm-h3 { margin-top: var(--mm-sp-3); }
.mm-step .mm-h3, .mm-pkg .mm-h3, .mm-post .mm-h3 { font-family: var(--mm-font-body); }
.mm-step p { margin: var(--mm-sp-1) 0 0; color: var(--mm-muted); }
.mm-ind { padding-bottom: var(--mm-sp-6); }
.mm-ind-h { padding: var(--mm-sec-y) var(--mm-sp-3) 0; }
.mm-marquee:last-child { margin-bottom: 0; }
.mm-mtrack .mm-chip { padding-block: 12px; }
.mm-marquee { overflow: hidden; margin-bottom: 12px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.mm-mtrack { display: flex; gap: 12px; width: max-content; animation: mm-marquee 48s linear infinite; }
.mm-rev .mm-mtrack { animation-direction: reverse; animation-duration: 56s; }
.mm-marquee:hover .mm-mtrack, .mm-marquee:focus-within .mm-mtrack { animation-play-state: paused; }
.mm-chip--cream { background: var(--mm-cream); }
.mm-chip--line { background: transparent; box-shadow: inset 0 0 0 1.5px #E3DEFF; }
@keyframes mm-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
    .mm-marquee { -webkit-mask-image: none; mask-image: none; }
    .mm-mtrack { width: auto; flex-wrap: wrap; padding: 0 var(--mm-sp-3); }
    .mm-dup { display: none; }
}
.mm-cases, .mm-pkgs, .mm-revs { display: grid; gap: var(--mm-sp-3); align-items: stretch; }
.mm-cases { grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); }
.mm-pkgs { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.mm-revs { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.mm-case { display: flex; flex-direction: column; border: 1.5px solid #E3DEFF; padding: var(--mm-sp-2); }
.mm-case-img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--mm-r-in); background: var(--mm-lilac); }
.mm-case-b { display: flex; flex-direction: column; flex: 1; padding: var(--mm-sp-3) var(--mm-sp-2) var(--mm-sp-2); }
.mm-case-b .mm-h3b { margin-top: var(--mm-sp-1); }
.mm-case-b p { margin: var(--mm-sp-1) 0 0; color: var(--mm-muted); }
.mm-case-b p:not(:last-child) { margin-bottom: var(--mm-sp-2); }
.mm-case-ph { display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 9; border-radius: var(--mm-r-in); background: var(--mm-lilac); }
.mm-case-ph--cream { background: var(--mm-cream); }
.mm-case-b .mm-lnk { margin-top: auto; }
.mm-dark { background: var(--mm-ink); color: #FFFFFF; }
.mm-dark .mm-h2 { color: #FFFFFF; }
.mm-dark .mm-sec-head p { color: var(--mm-on-ink); }
.mm-pkg { display: flex; flex-direction: column; padding: var(--mm-card-p); background: var(--mm-ink-2); border: 0; color: #FFFFFF; }
.mm-pkg .mm-h3 { margin: 0; color: #FFFFFF; }
.mm-pkg p { margin: var(--mm-sp-1) 0 var(--mm-sp-3); color: var(--mm-on-ink); }
.mm-pkg .mm-num { color: var(--mm-gold); }
.mm-price { display: flex; align-items: baseline; gap: 12px; margin-top: auto; }
.mm-price s { font-size: var(--mm-fs-sm); color: #B4ABF5; }
.mm-pkg--light .mm-btn { color: #FFFFFF; }
.mm-pkg .mm-btn { margin-top: var(--mm-sp-3); }
.mm-pkg--light { background: #FFFFFF; color: var(--mm-ink); }
.mm-pkg--light .mm-h3, .mm-pkg--light .mm-num { color: var(--mm-ink); }
.mm-pkg--light p { color: var(--mm-muted); }
#work, #packages, #tools, #marketplace, #faq, #blog, #wish { scroll-margin-top: 80px; }
.mm-rev-card { margin: 0; padding: var(--mm-card-p); background: #F7F6FC; border: 0; display: flex; flex-direction: column; }
.mm-stars { color: #8A5F00; letter-spacing: 2px; }
.mm-quote { margin: var(--mm-sp-2) 0 var(--mm-sp-3); padding: 0; border: 0; background: none; border-radius: 0; font-size: var(--mm-fs-h3); line-height: 1.25; font-weight: 500; color: var(--mm-ink); }
.mm-rev-card figcaption { margin-top: auto; }
.mm-sec--tight { padding: 0 var(--mm-sp-3) var(--mm-sec-y); }
.mm-sec--top { padding: var(--mm-sec-y) var(--mm-sp-3) 0; }
.mm-tools { display: flex; flex-wrap: wrap; gap: 40px var(--mm-sp-6); padding: var(--mm-sp-6); border-radius: var(--mm-r-card); background: var(--mm-lilac); }
.mm-tools-l { flex: 1 1 360px; }
.mm-tools-l p { max-width: 44ch; margin: var(--mm-sp-2) 0 var(--mm-sp-3); color: var(--mm-muted); }
.mm-tools-f label { margin-bottom: var(--mm-sp-1); }
.mm-tools-f div { display: flex; flex-wrap: wrap; gap: var(--mm-sp-1); }
.mm-tools-f input { flex: 1 1 8rem; border-color: var(--mm-field); }
.mm-tools-g { flex: 1 1 480px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 12px; align-content: start; }
.mm-tool { display: flex; flex-direction: column; gap: 4px; padding: var(--mm-sp-2) var(--mm-sp-3); border-radius: var(--mm-r-in); background: #FFFFFF; color: var(--mm-ink); text-decoration: none; transition: transform 200ms var(--mm-eo); }
.mm-tool:hover { transform: translateY(-2px); }
.mm-tool-n { font-weight: 600; }
.mm-tool .mm-meta { color: var(--mm-muted); }
#tools .mm-tool { gap: 0; min-width: 0; }
#tools .mm-tool .mm-meta { overflow: hidden; font-size: var(--mm-fs-sm); line-height: 1.5; white-space: nowrap; text-overflow: ellipsis; }
.mm-tool--all, .mm-tool--all:hover { background: var(--mm-ink); color: #FFFFFF; }
.mm-tool--all .mm-meta { color: var(--mm-on-ink); }
#marketplace { overflow-x: clip; }
.mm-mkt { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: var(--mm-sp-3); }
.mm-mkt-c { padding: var(--mm-card-p); border: 1.5px solid #E3DEFF; }
.mm-mkt-c { display: flex; flex-direction: column; }
.mm-mkt-c > .mm-btn { margin-top: auto; align-self: flex-start; }
.mm-mkt-c ul { display: grid; gap: var(--mm-sp-1); margin: var(--mm-sp-2) 0 var(--mm-sp-4); padding-left: 20px; color: var(--mm-muted); }
.mm-mkt-c--gold { background: var(--mm-cream); border-color: var(--mm-cream); }
.mm-faqbg { background: #F7F6FC; }
.mm-faq-w { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--mm-sp-4) var(--mm-sp-8); }
.mm-faq-l { flex: 1 1 320px; }
.mm-faq-l p { max-width: 36ch; margin: var(--mm-sp-2) 0 var(--mm-sp-3); color: var(--mm-muted); }
.mm-faq-l .mm-h2 { max-width: 12ch; }
.mm-faq-list { flex: 2 1 520px; display: grid; gap: 12px; }
.mm-faq-list > .mm-faq { margin: 0; }
.mm-faq { padding: 12px var(--mm-sp-3); border-radius: var(--mm-r-in); background: #FFFFFF; }
.mm-faq summary { display: flex; justify-content: space-between; align-items: center; gap: var(--mm-sp-2); min-height: var(--mm-ctl); padding-block: 12px; font-weight: 600; font-size: 18px; line-height: 1.3; cursor: pointer; list-style: none; }
.mm-faq summary::-webkit-details-marker { display: none; }
.mm-plus { flex: none; font-size: 24px; line-height: 1; transition: transform 200ms var(--mm-eo); }
.mm-faq[open] .mm-plus { transform: rotate(45deg); }
.mm-faq p { max-width: 60ch; margin: 4px 0 12px; color: var(--mm-muted); animation: mm-fadein 250ms var(--mm-eo); }
.mm-chips { display: flex; flex-wrap: wrap; gap: var(--mm-sp-1); }
.mm-chips .mm-chip { padding: 0 var(--mm-sp-2); font-size: var(--mm-fs-sm); }
.mm-chip--ink, .mm-chip--ink:hover { background: var(--mm-ink); color: #FFFFFF; }
.mm-posts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: var(--mm-sp-4) var(--mm-sp-3); }
.mm-post-img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--mm-r-card); background: var(--mm-lilac); }
.mm-post-cat { margin: var(--mm-sp-2) 0 var(--mm-sp-1); font-size: var(--mm-fs-sm); font-weight: 600; color: var(--mm-link); }
.mm-post .mm-h3 a { color: var(--mm-ink); text-decoration: none; }
.mm-post .mm-h3 a:hover { text-decoration: underline; }
.mm-post-by { margin-top: var(--mm-sp-1); color: var(--mm-muted); }
@media (max-width: 767.98px) { .mm-tools { padding: var(--mm-sp-4) var(--mm-sp-3); } }

.mm-wish { padding: var(--mm-sp-6); border-radius: 32px; background: var(--mm-ink); color: #FFFFFF; }
.mm-wish h2 { color: #FFFFFF; }
.mm-wish > p { max-width: 48ch; margin: var(--mm-sp-2) 0 var(--mm-sp-4); color: var(--mm-on-ink); }
.mm-wish .ok { color: #9BE7B4; }
@media (max-width: 767.98px) { .mm-wish { padding: var(--mm-sp-4) var(--mm-sp-3); } }

.mm-article, #comments { max-width: 70ch; margin: 0 auto; }
.mm-art-img { display: block; width: 100%; aspect-ratio: 1200 / 630; object-fit: cover; margin-bottom: var(--mm-sp-4); border-radius: var(--mm-r-card); background: var(--mm-lilac); }
.mm-prose { overflow-wrap: break-word; }
.mm-prose > :first-child { margin-top: 0; }
.mm-prose img { border-radius: var(--mm-r-in); }
.mm-prose iframe { max-width: 100%; }
.mm-prose table { display: block; overflow-x: auto; }
.mm-related { margin-top: var(--mm-sp-8); padding-top: var(--mm-sp-6); border-top: 1px solid var(--mm-line); }
.mm-related .mm-posts { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.mm-related > h2, #comments > h2 { margin-top: 0; }
#comments { margin-top: var(--mm-sp-8); }
#comments input, #comments textarea { max-width: none; }
@media (max-width: 767.98px) { .mm-related, #comments { margin-top: var(--mm-sp-6); } }

.mm-tiers .mm-pkg--light { border: 1.5px solid #E3DEFF; }
.mm-tiers .mm-price { flex-wrap: wrap; column-gap: var(--mm-sp-1); }
.mm-tiers .mm-num { font-size: var(--mm-fs-h3b); overflow-wrap: anywhere; }
.mm-tiers ul { display: grid; gap: var(--mm-sp-1); margin: var(--mm-sp-2) 0 var(--mm-sp-3); }
.mm-per { font-size: var(--mm-fs-sm); color: var(--mm-on-ink); white-space: nowrap; }
.mm-wish .mm-price { flex-wrap: wrap; }
.mm-pkg--light .mm-per { color: var(--mm-muted); }

.mm-phero { position: relative; overflow: hidden; background: radial-gradient(720px 360px at 85% 0, var(--mm-ink-3), transparent 70%), linear-gradient(var(--mm-ink), var(--mm-ink)); background-size: 100% calc(100% - 3px); background-repeat: no-repeat; color: var(--mm-on-ink); }
.mm-phero-in { position: relative; max-width: var(--mm-wide); margin: 0 auto; padding: 24px 24px 128px; }
.mm-phero-art { position: absolute; top: 72px; right: max(24px, 50% - 596px); }
.mm-phero-illus { position: absolute; top: calc(50% - 32px); translate: 0 -50%; right: max(24px, 50% - 620px); width: clamp(240px, 22vw, 300px); }
@media (max-width: 1023.98px) { .mm-phero-illus { display: none; } }
@media (min-width: 1024px) { .mm-phero-illus + .mm-phero-art { display: none; } }
.mm-phero .breadcrumbs { margin-bottom: 16px; color: var(--mm-on-ink); }
.mm-phero .breadcrumbs a { color: var(--mm-on-ink); }
.mm-phero .breadcrumbs a:hover, .mm-phero [aria-current], a.mm-kicker:hover { color: #FFF; }
.mm-phero-h { max-width: 16ch; margin: 0; color: #FFF; font-size: var(--mm-fs-display); line-height: 1.1; letter-spacing: -.02em; }
.mm-phero-h--long { max-width: 26ch; font-size: var(--mm-fs-h2); line-height: 1.15; }
.mm-phero .mm-lead { max-width: 52ch; margin-top: 24px; color: var(--mm-on-ink); }
a.mm-kicker { min-height: 48px; padding-inline: 20px; text-decoration: none; }
.mm-phero-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-top: 32px; }
.mm-phero .bookmark :is(a, button) { min-height: 48px; margin: 0; padding: 0 16px; display: inline-flex; align-items: center; border-radius: 12px; background: none; box-shadow: inset 0 0 0 1.5px var(--mm-ink-line); color: #FFF; font-size: 14px; text-decoration: none; }
.mm-phero .mm-art-by { margin: 24px 0 0; font-size: 14px; }
.mm-phero .mm-art-by a { color: #FFF; }
.mm-pg, .mm-pw, .mm-pg-html, .mm-tool-w, .mm-post-w { padding-top: 48px; }
.mm-pg { display: grid; grid-template-columns: minmax(0, 1fr); gap: 48px 64px; }
.mm-talk-c { display: grid; gap: 16px; padding: var(--mm-card-p); border-radius: 24px; background: var(--mm-ink); color: var(--mm-on-ink); }
.mm-talk-c h2 { color: #FFF; }
.mm-talk-c p { margin: 0 0 8px; }
.mm-talk-mail, .mm-talk-mail:hover { display: flex; align-items: center; min-height: 48px; color: #FFF; font-weight: 600; overflow-wrap: anywhere; }
.mm-tiers h2 { margin-bottom: 16px; }
.mm-tiers .mm-pkgs { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1024px) {
    .mm-pg { grid-template-columns: minmax(0, 760px) minmax(280px, 360px); justify-content: space-between; }
    .mm-talk, .mm-tiers { position: sticky; top: 112px; align-self: start; }
}
.mm-pg-main, .mm-article .mm-prose { line-height: 1.7; }
.mm-prose > h2 { margin: 64px 0 16px; }
.mm-pg-main > h2 { margin-top: 48px; padding-top: 48px; border-top: 1px solid var(--mm-line); }
.mm-prose > h3 { margin: 32px 0 8px; }
.mm-prose :is(ul, ol):not([class]) > li + li { margin-top: 8px; }
.mm-prose li::marker { color: var(--mm-ink-line); }
.mm-prose table { display: block; overflow-x: auto; border: 1px solid var(--mm-line); border-radius: 16px; }
.mm-prose tr:last-child > * { border-bottom: 0; }
.mm-prose :not(pre) > code { padding: 2px 6px; border-radius: 6px; background: var(--mm-surface); }
.mm-prose s { margin-right: 4px; color: var(--mm-muted); }

.mm-side { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 24px; align-items: start; padding-top: 0; }
.mm-side .widget { margin: 0; }

.mm-wish p { color: var(--mm-on-ink); }
.mm-wish a:not(.mm-btn) { color: #FFF; }
.mm-res-list { margin: 0; padding: 0; list-style: none; }
.mm-rev-card > .mm-sm { margin: auto 0 0; }
.mm-res-list { display: grid; gap: 8px; }
@media (max-width: 767.98px) {
    .mm-phero-in { padding: 16px 16px 96px; }
    .mm-phero-art { display: none; }
    .mm-pg, .mm-pw, .mm-pg-html, .mm-tool-w, .mm-post-w { padding-top: 32px; }
}

.mm-tool-w > * { max-width: 880px; margin-inline: auto; }
.mm-tool-ui { padding: 48px; box-shadow: 0 24px 48px -24px rgba(35, 28, 90, .2); }
.mm-tool-ui :is(input, select, textarea) { max-width: none; }
.mm-tool-f { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px; }
.mm-tool-fld { flex: 999 1 240px; }
.mm-tool-fld label { margin-top: 0; }
.mm-tool-f button { flex: 1 0 auto; }
.mm-res { margin-top: 48px; }
.mm-res-sum { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 12px; margin: 16px 0 24px; }
.mm-res-i { padding: 16px 24px; border-radius: 16px; background: var(--mm-lilac); }
.mm-res-i dt { color: var(--mm-muted); font-size: 14px; }
.mm-res-i dd { margin: 4px 0 0; font-weight: 600; overflow-wrap: anywhere; }
.mm-res-c { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; padding: 16px 24px; border: 1px solid var(--mm-line); border-radius: 16px; }
.mm-res-d { flex-basis: 100%; color: var(--mm-muted); font-size: 14px; overflow-wrap: anywhere; }
.mm-chk { flex: none; padding: 2px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; background: var(--mm-lilac); }
.mm-chk--pass { background: #DCFAE6; color: #085D3A; }
.mm-chk--fail { background: #FEE4E2; color: #912018; }
.mm-chk--warn { background: #FEF0C7; color: #7A2E0E; }
.mm-tool-more { align-items: center; margin-top: 48px; }
.mm-tool-more--flush { margin-top: 0; }
.mm-bleed:has(.mm-art-img) .mm-phero-in { padding-bottom: 232px; }
.mm-art-img { position: relative; margin-top: -184px; }
@media (min-width: 1024px) { .mm-art-img { width: calc(100% + 160px); max-width: none; margin-inline: -80px; } }
@media (max-width: 767.98px) {
    .mm-tool-ui { padding: 24px 16px; }
    .mm-bleed:has(.mm-art-img) .mm-phero-in { padding-bottom: 160px; }
    .mm-art-img { margin-top: -128px; }
}

.mm-av-img { object-fit: cover; padding: 0; }

.mm-ph { container-type: inline-size; display: flex; align-items: flex-end; width: 100%; aspect-ratio: 16 / 10; overflow: hidden; border-radius: var(--mm-r-card); color: #FFFFFF; background: radial-gradient(circle at 85% 15%, rgba(242, 185, 44, .35), transparent 45%), linear-gradient(135deg, var(--mm-ink-3), var(--mm-ink-deep)); }
.mm-ph--1 { background: radial-gradient(circle at 15% 20%, rgba(242, 185, 44, .3), transparent 45%), linear-gradient(135deg, var(--mm-link), var(--mm-ink)); }
.mm-ph--2 { background: radial-gradient(circle at 80% 85%, rgba(217, 212, 255, .3), transparent 45%), linear-gradient(135deg, var(--mm-ink-2), var(--mm-ink-deep)); }
.mm-ph-in { display: flex; flex-direction: column; gap: 6px; width: 100%; padding: 7cqi; }
.mm-ph-cat { color: var(--mm-gold); font-size: max(10px, 3.2cqi); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.mm-ph-t { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; font: 600 max(12px, 6.4cqi)/1.2 var(--mm-font-display); }
.mm-ph-mark { color: var(--mm-on-ink); font-size: max(10px, 2.8cqi); }
@container (max-width: 180px) { .mm-ph-t, .mm-ph-mark { display: none; } }

@media (prefers-reduced-motion: no-preference) {
    @supports (animation-timeline: scroll()) {
        .mm-header { animation: mm-solid linear both; animation-timeline: scroll(); animation-range: 0 160px; }
        @supports (animation-range: entry) {
            .mm-rv { animation: mm-rv linear both; animation-timeline: view(); animation-range: entry 0% entry 50%; }
            .mm-st > * { animation: mm-rv linear both; animation-timeline: view(); animation-range: entry 0% entry 55%; }
            .mm-st > :nth-child(2) { animation-range: entry 5% entry 60%; }
            .mm-st > :nth-child(3) { animation-range: entry 10% entry 65%; }
            .mm-st > :nth-child(4) { animation-range: entry 15% entry 70%; }
            .mm-st > :nth-child(5) { animation-range: entry 20% entry 75%; }
            .mm-st > :nth-child(6) { animation-range: entry 25% entry 80%; }
            .mm-from-l { animation: mm-left linear both; animation-timeline: view(); animation-range: entry 0% entry 60%; }
            .mm-from-r { animation: mm-right linear both; animation-timeline: view(); animation-range: entry 0% entry 60%; }
            .mm-zoom { animation: mm-zoom linear both; animation-timeline: view(); animation-range: entry 0% entry 55%; }
            
            .mm-hero { view-timeline: --mm-hero; }
            .mm-process { view-timeline: --mm-steps; }
            .mm-progress { animation: mm-grow linear both; animation-timeline: --mm-steps; animation-range: entry 30% cover 55%; }
            .mm-par { animation: mm-par linear both; animation-timeline: --mm-hero; animation-range: exit 0% exit 100%; }
            .mm-par-slow { animation: mm-par-slow linear both; animation-timeline: --mm-hero; animation-range: exit 0% exit 100%; }
        }
    }
}
