:root {
  --mm-ink: #08213c;
  --mm-ink-soft: #12385d;
  --mm-text: #173c61;
  --mm-muted: #5b7190;
  --mm-line: #dce6f1;
  --mm-surface: #ffffff;
  --mm-surface-blue: #f4f8fc;
  --mm-surface-mint: #f1f8f7;
  --mm-green: #008c6c;
  --mm-green-dark: #006b54;
  --mm-blue: #2563eb;
  --mm-gold: #c88712;
  --mm-shadow: 0 22px 56px rgba(18, 52, 85, 0.10);
  --mm-shadow-soft: 0 12px 30px rgba(18, 52, 85, 0.07);
}

html {
  scroll-behavior: smooth;
}

body {
  overflow-x: clip;
}

.mm-page {
  color: var(--mm-text);
  background: var(--mm-surface);
  font-family: "Inter", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.7;
  overflow: clip;
}

.mm-page *,
.mm-floating-toc-wrapper * {
  box-sizing: border-box;
}

.mm-page .container {
  width: min(1280px, calc(100% - 56px));
  margin: 0 auto;
}

.mm-page section[id] {
  scroll-margin-top: 100px;
}

.mm-page h1,
.mm-page h2,
.mm-page h3,
.mm-page p {
  margin: 0;
}

.mm-page h1,
.mm-page h2,
.mm-page h3 {
  color: var(--mm-ink);
  font-family: "Inter", Arial, sans-serif;
  letter-spacing: -0.035em;
}

.mm-page h1 {
  max-width: 790px;
  font-size: clamp(42px, 5.25vw, 72px);
  font-weight: 800;
  line-height: 1.08;
}

.mm-page h2 {
  font-size: clamp(34px, 3.55vw, 52px);
  font-weight: 800;
  line-height: 1.14;
}

.mm-page h3 {
  font-size: 23px;
  font-weight: 750;
  line-height: 1.28;
}

.mm-page p {
  color: var(--mm-muted);
  font-size: 16px;
  line-height: 1.78;
}

.mm-page a {
  color: inherit;
  text-decoration: none;
}

.mm-page .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 14px 22px;
  border: 1px solid transparent;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease;
}

.mm-page .btn:hover {
  transform: translateY(-2px);
}

.mm-page .btn:focus-visible,
.mm-floating-toc-wrapper button:focus-visible,
.mm-faq-item summary:focus-visible {
  outline: 3px solid rgba(37, 99, 235, 0.32);
  outline-offset: 3px;
}

.mm-page .btn-primary {
  background: var(--mm-green);
  box-shadow: 0 12px 23px rgba(0, 140, 108, 0.25);
  color: #ffffff;
}

.mm-page .btn-primary:hover {
  background: var(--mm-green-dark);
  box-shadow: 0 16px 30px rgba(0, 107, 84, 0.28);
}

.mm-page .btn-secondary {
  border-color: #bfd0e3;
  background: rgba(255, 255, 255, 0.74);
  color: var(--mm-ink);
}

.mm-page .btn-secondary:hover {
  border-color: #8ba7c5;
  background: #ffffff;
  box-shadow: var(--mm-shadow-soft);
}

/* Hero */
.mm-hero {
  position: relative;
  z-index: 0;
  padding: 112px 0 92px;
  background:
    radial-gradient(circle at 89% 14%, rgba(107, 192, 170, 0.22), transparent 24%),
    radial-gradient(circle at 9% 96%, rgba(89, 145, 222, 0.12), transparent 29%),
    linear-gradient(135deg, #f9fcff 0%, #f2f7fc 54%, #edf6f4 100%);
  overflow: hidden;
}

.mm-hero::before {
  position: absolute;
  top: -170px;
  right: -120px;
  z-index: -1;
  width: 430px;
  height: 430px;
  border: 1px solid rgba(37, 99, 235, 0.11);
  border-radius: 50%;
  content: "";
}

.mm-hero::after {
  position: absolute;
  bottom: -110px;
  left: -75px;
  z-index: -1;
  width: 300px;
  height: 300px;
  border: 1px solid rgba(0, 140, 108, 0.12);
  border-radius: 50%;
  content: "";
}

.mm-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.14fr) minmax(340px, 0.86fr);
  align-items: center;
  gap: clamp(42px, 7vw, 112px);
}

.mm-hero-copy {
  min-width: 0;
}

.mm-eyebrow,
.mm-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.065em;
  line-height: 1;
  text-transform: uppercase;
}

.mm-eyebrow {
  padding: 10px 13px;
  border: 1px solid #cce9df;
  background: rgba(239, 252, 247, 0.92);
  color: var(--mm-green-dark);
}

.mm-eyebrow-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--mm-green);
  box-shadow: 0 0 0 4px rgba(0, 140, 108, 0.13);
}

.mm-hero h1 {
  margin-top: 22px;
}

.mm-hero-lead {
  max-width: 710px;
  margin-top: 25px !important;
  color: #42607f !important;
  font-size: 19px !important;
  line-height: 1.75 !important;
}

.mm-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  margin-top: 31px;
}

.mm-hero-footnote {
  margin-top: 22px !important;
  color: #69809a !important;
  font-size: 14px !important;
}

.mm-hero-brief {
  position: relative;
  padding: 32px;
  border: 1px solid rgba(178, 210, 235, 0.36);
  border-radius: 30px;
  background:
    radial-gradient(circle at 95% 8%, rgba(98, 186, 166, 0.26), transparent 34%),
    linear-gradient(144deg, #0b2d4d 0%, #113f63 100%);
  box-shadow: 0 30px 70px rgba(12, 44, 73, 0.20);
  color: #ffffff;
  overflow: hidden;
}

.mm-hero-brief::after {
  position: absolute;
  right: -65px;
  bottom: -74px;
  width: 180px;
  height: 180px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 50%;
  content: "";
}

.mm-brief-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #b8d8ed;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.10em;
}

.mm-brief-mark {
  display: grid;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.12);
  color: #f7d890;
  font-size: 19px;
  place-items: center;
}

.mm-hero-brief h2 {
  margin-top: 24px;
  color: #ffffff;
  font-size: clamp(32px, 3.2vw, 43px);
}

.mm-hero-brief > p {
  margin-top: 12px !important;
  color: #c5d7e7 !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

.mm-brief-list {
  display: grid;
  gap: 0;
  margin: 25px 0 0;
  padding: 0;
  list-style: none;
}

.mm-brief-list li {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 12px;
  padding: 13px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.13);
}

.mm-brief-list strong {
  color: #f5db9d;
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.mm-brief-list span {
  color: #e2edf5;
  font-size: 13px;
  line-height: 1.45;
}

/* Intro signal */
.mm-signal-strip {
  position: relative;
  z-index: 2;
  background: transparent;
}

.mm-signal-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: -38px;
  border: 1px solid rgba(206, 220, 234, 0.95);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: var(--mm-shadow-soft);
  overflow: hidden;
}

.mm-signal-item {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 14px;
  min-width: 0;
  padding: 22px 25px;
}

.mm-signal-item + .mm-signal-item {
  border-left: 1px solid #e4edf4;
}

.mm-signal-number {
  color: var(--mm-green);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.05em;
}

.mm-signal-item p {
  color: #5b7190;
  font-size: 13px;
  line-height: 1.65;
}

.mm-signal-item strong {
  display: block;
  margin-bottom: 3px;
  color: var(--mm-ink);
  font-size: 14px;
}

/* Section foundations */
.mm-section {
  padding: 112px 0;
}

.mm-section--tint {
  background:
    radial-gradient(circle at 3% 20%, rgba(162, 213, 199, 0.18), transparent 25%),
    linear-gradient(180deg, #f8fbfe 0%, #f3f8fb 100%);
}

.mm-section-head {
  max-width: 760px;
  margin: 0 auto 53px;
  text-align: center;
}

.mm-section-head--wide {
  max-width: 890px;
}

.mm-section-head h2 {
  margin-top: 16px;
}

.mm-section-head p {
  margin-top: 17px;
  font-size: 17px;
}

.mm-kicker {
  padding: 9px 12px;
  border: 1px solid transparent;
}

.mm-kicker--green {
  border-color: #c8e9de;
  background: #ebfaf4;
  color: var(--mm-green-dark);
}

.mm-kicker--blue {
  border-color: #d5e4ff;
  background: #eef5ff;
  color: #2459c9;
}

.mm-kicker--gold {
  border-color: #f1dfb6;
  background: #fff9ec;
  color: #a86f0c;
}

.mm-kicker--mist {
  border-color: rgba(188, 222, 232, 0.25);
  background: rgba(255, 255, 255, 0.10);
  color: #bee3e9;
}

/* Company type showcase */
.mm-types-section {
  padding-top: 118px;
}

.mm-type-stage {
  display: grid;
  grid-template-columns: minmax(0, 1.52fr) minmax(0, 0.88fr) minmax(0, 0.88fr);
  align-items: stretch;
  gap: 18px;
}

.mm-type-card {
  min-width: 0;
  padding: 29px;
  border: 1px solid #d9e6f0;
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 8px 22px rgba(25, 61, 94, 0.035);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.mm-type-card:hover,
.mm-small-type:hover,
.mm-decision-card:hover,
.mm-roadmap-card:hover,
.mm-budget-card:hover,
.mm-readiness-card:hover {
  transform: translateY(-4px);
  border-color: #c6d9e9;
  box-shadow: var(--mm-shadow-soft);
}

.mm-type-card--feature {
  padding: 38px;
  border-color: #d4e1eb;
  background:
    radial-gradient(circle at 87% 10%, rgba(145, 202, 194, 0.18), transparent 28%),
    linear-gradient(150deg, #f3f8fc 0%, #f8fbfd 100%);
}

.mm-type-card-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.mm-type-icon {
  display: grid;
  width: 48px;
  height: 48px;
  border-radius: 15px;
  font-size: 23px;
  line-height: 1;
  place-items: center;
}

.mm-type-icon--green {
  background: #dff8ef;
  color: #007b61;
}

.mm-type-icon--blue {
  background: #dceaff;
}

.mm-type-icon--gold {
  background: #fff0c4;
  color: #8b5b00;
}

.mm-type-label {
  display: inline-flex;
  align-items: center;
  min-height: 29px;
  padding: 6px 10px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.035em;
  line-height: 1.2;
}

.mm-type-label--green {
  border-color: #c8eadf;
  background: #edfcf5;
  color: #007d62;
}

.mm-type-label--blue {
  border-color: #d8e6ff;
  background: #eff5ff;
  color: #245fd3;
}

.mm-type-label--gold {
  border-color: #f3e0ad;
  background: #fff9e8;
  color: #a16800;
}

.mm-type-card h3 {
  margin-top: 22px;
  font-size: 25px;
}

.mm-type-card--feature h3 {
  font-size: 29px;
}

.mm-type-card > p {
  margin-top: 15px;
  color: #496887;
  font-size: 15px;
  line-height: 1.76;
}

.mm-check-list {
  display: grid;
  gap: 12px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.mm-check-list li {
  position: relative;
  padding-left: 31px;
  color: #335a79;
  font-size: 15px;
  line-height: 1.6;
}

.mm-check-list li::before {
  position: absolute;
  top: 2px;
  left: 0;
  display: grid;
  width: 21px;
  height: 21px;
  border-radius: 50%;
  background: var(--mm-green);
  color: #ffffff;
  content: "✓";
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  place-items: center;
}

.mm-card-when {
  margin-top: 21px !important;
  padding-top: 17px;
  border-top: 1px solid #e2eaf1;
  color: #365b79 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.mm-card-when strong {
  color: var(--mm-ink);
}

.mm-type-secondary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 18px;
}

.mm-small-type {
  min-width: 0;
  padding: 27px 28px 28px;
  border: 1px solid #dfe8f0;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 7px 18px rgba(25, 61, 94, 0.025);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.mm-small-type-no {
  color: #89a0b7;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.mm-small-type h3 {
  margin-top: 15px;
  font-size: 20px;
}

.mm-small-type p {
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.72;
}

.mm-clarity-note {
  display: grid;
  grid-template-columns: 43px minmax(0, 1fr);
  gap: 17px;
  max-width: 1040px;
  margin: 32px auto 0;
  padding: 21px 23px;
  border: 1px solid #d5e7ed;
  border-radius: 17px;
  background: #f3fbfc;
}

.mm-clarity-icon {
  display: grid;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #167a88;
  color: #ffffff;
  font-size: 17px;
  font-weight: 800;
  line-height: 1;
  place-items: center;
}

.mm-clarity-note h3 {
  font-size: 16px;
  letter-spacing: -0.01em;
}

.mm-clarity-note p {
  margin-top: 5px;
  color: #49717e;
  font-size: 14px;
  line-height: 1.72;
}

.mm-clarity-note strong {
  color: #164c5c;
}

/* Choice guide */
.mm-decision-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.mm-decision-card {
  display: flex;
  min-width: 0;
  min-height: 290px;
  padding: 27px 25px 25px;
  border: 1px solid #dce7f0;
  border-radius: 21px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 9px 20px rgba(20, 57, 93, 0.035);
  flex-direction: column;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.mm-decision-no {
  display: inline-flex;
  width: fit-content;
  color: #7392ad;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.mm-decision-card h3 {
  margin-top: 22px;
  font-size: 20px;
}

.mm-decision-card p {
  font-size: 14px;
  line-height: 1.69;
}

.mm-decision-answer {
  margin-top: 15px !important;
  color: var(--mm-green-dark) !important;
  font-weight: 750;
}

.mm-decision-answer + p {
  margin-top: 12px !important;
}

/* Roadmap */
.mm-roadmap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  padding-top: 3px;
}

.mm-roadmap-card {
  position: relative;
  min-width: 0;
  min-height: 245px;
  padding: 28px;
  border-top: 3px solid #75b9ad;
  border-right: 1px solid #e0e9ef;
  border-bottom: 1px solid #e0e9ef;
  border-left: 1px solid #e0e9ef;
  border-radius: 0 0 22px 22px;
  background: #ffffff;
  box-shadow: 0 9px 23px rgba(21, 59, 91, 0.035);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.mm-roadmap-card:nth-child(2) {
  border-top-color: #7ca9df;
}

.mm-roadmap-card:nth-child(3) {
  border-top-color: #e3ba6e;
}

.mm-roadmap-step {
  color: #8a9fb3;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.mm-roadmap-card h3 {
  margin-top: 27px;
  font-size: 22px;
}

.mm-roadmap-card p {
  margin-top: 13px;
  font-size: 15px;
  line-height: 1.72;
}

.mm-law-foundation {
  display: grid;
  grid-template-columns: 49px minmax(0, 1fr) auto;
  align-items: center;
  gap: 19px;
  margin-top: 25px;
  padding: 22px 24px;
  border: 1px solid #d2e4e8;
  border-radius: 19px;
  background: #f3f9f8;
}

.mm-law-foundation-mark {
  display: grid;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: #d7f0eb;
  color: #087661;
  font-size: 25px;
  font-weight: 700;
  line-height: 1;
  place-items: center;
}

.mm-law-foundation h3 {
  color: #0a3b53;
  font-size: 17px;
}

.mm-law-foundation p {
  margin-top: 5px;
  color: #466d7c;
  font-size: 14px;
  line-height: 1.68;
}

.mm-law-foundation a,
.mm-inline-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  color: #087661;
  font-size: 14px;
  font-weight: 750;
  white-space: nowrap;
}

.mm-law-foundation a:hover,
.mm-inline-link:hover {
  color: #005f4b;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Operating readiness */
.mm-section--ink {
  position: relative;
  background:
    radial-gradient(circle at 96% 8%, rgba(35, 153, 134, 0.25), transparent 28%),
    radial-gradient(circle at 6% 100%, rgba(76, 133, 209, 0.19), transparent 27%),
    linear-gradient(135deg, #092640 0%, #0f375a 100%);
  overflow: hidden;
}

.mm-section-head--light h2 {
  color: #ffffff;
}

.mm-section-head--light p {
  color: #c1d5e5;
}

.mm-readiness-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.mm-readiness-card {
  min-width: 0;
  min-height: 236px;
  padding: 29px;
  border: 1px solid rgba(186, 218, 232, 0.20);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.08);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.mm-readiness-card:hover {
  border-color: rgba(199, 235, 226, 0.40);
  box-shadow: 0 16px 30px rgba(2, 19, 33, 0.19);
}

.mm-readiness-index {
  display: grid;
  width: 35px;
  height: 35px;
  border-radius: 10px;
  background: rgba(187, 235, 223, 0.15);
  color: #a8e7d6;
  font-size: 14px;
  font-weight: 800;
  place-items: center;
}

.mm-readiness-card:nth-child(2) .mm-readiness-index {
  color: #bdd8ff;
  background: rgba(184, 212, 255, 0.14);
}

.mm-readiness-card:nth-child(3) .mm-readiness-index {
  color: #ffe1a1;
  background: rgba(255, 217, 147, 0.12);
}

.mm-readiness-card h3 {
  margin-top: 24px;
  color: #ffffff;
  font-size: 22px;
}

.mm-readiness-card p {
  margin-top: 12px;
  color: #c7d7e5;
  font-size: 15px;
  line-height: 1.72;
}

.mm-text-link {
  color: var(--mm-green-dark);
  font-weight: 750;
  text-decoration: underline !important;
  text-decoration-color: rgba(0, 107, 84, 0.35) !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px;
}

.mm-text-link:hover {
  color: #004c3b;
  text-decoration-color: currentColor !important;
}

.mm-text-link--light {
  color: #a8e7d6;
  text-decoration-color: rgba(168, 231, 214, 0.50) !important;
}

.mm-text-link--light:hover {
  color: #d7fff2;
}

/* Fees and budgeting */
.mm-cost-layout {
  display: grid;
  grid-template-columns: minmax(300px, 0.92fr) minmax(0, 1.08fr);
  gap: 22px;
  align-items: stretch;
}

.mm-official-fees {
  display: flex;
  padding: 31px;
  border: 1px solid #cdddec;
  border-radius: 25px;
  background:
    radial-gradient(circle at 95% 0%, rgba(104, 170, 238, 0.18), transparent 30%),
    linear-gradient(145deg, #eef6fd 0%, #f8fbfe 100%);
  box-shadow: var(--mm-shadow-soft);
  flex-direction: column;
}

.mm-fee-heading p {
  margin-top: 13px;
  color: #4b6b88;
  font-size: 14px;
}

.mm-fee-stack {
  display: grid;
  gap: 0;
  margin-top: 24px;
  border-top: 1px solid #d3e0eb;
}

.mm-fee-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 15px 0;
  border-bottom: 1px solid #d3e0eb;
  color: #335675;
  font-size: 14px;
  line-height: 1.45;
}

.mm-fee-row strong {
  color: var(--mm-ink);
  font-size: 16px;
  font-weight: 800;
  white-space: nowrap;
}

.mm-fee-footnote {
  margin-top: 19px !important;
  color: #56728c !important;
  font-size: 13px !important;
  line-height: 1.68 !important;
}

.mm-official-fees .mm-inline-link {
  margin-top: 17px;
}

.mm-budget-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.mm-budget-card {
  display: grid;
  grid-template-columns: 47px minmax(0, 1fr);
  gap: 16px;
  min-width: 0;
  padding: 25px 26px;
  border: 1px solid #dce7ef;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 7px 18px rgba(22, 60, 93, 0.025);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.mm-budget-icon {
  display: grid;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: #e4f6f1;
  color: #087861;
  font-size: 12px;
  font-weight: 800;
  place-items: center;
}

.mm-budget-card:nth-child(2) .mm-budget-icon {
  background: #ebf3ff;
  color: #245dc6;
}

.mm-budget-card:nth-child(3) .mm-budget-icon {
  background: #fff4dc;
  color: #a66c0e;
}

.mm-budget-card h3 {
  font-size: 19px;
}

.mm-budget-card p {
  grid-column: 2;
  margin-top: -8px;
  font-size: 14px;
  line-height: 1.68;
}

/* Packages */
.mm-package-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: stretch;
  gap: 18px;
}

.mm-package-card {
  display: flex;
  position: relative;
  min-width: 0;
  min-height: 100%;
  padding: 30px;
  border: 1px solid #d5e1eb;
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 11px 24px rgba(22, 60, 93, 0.045);
  flex-direction: column;
}

.mm-package-card--featured {
  border: 2px solid #168c71;
  background:
    radial-gradient(circle at 94% 5%, rgba(129, 211, 190, 0.20), transparent 29%),
    linear-gradient(150deg, #f4fbf8 0%, #ffffff 68%);
  box-shadow: 0 18px 38px rgba(0, 129, 96, 0.12);
}

.mm-package-ribbon {
  position: absolute;
  top: -13px;
  left: 24px;
  padding: 6px 11px;
  border-radius: 999px;
  background: var(--mm-green);
  box-shadow: 0 6px 14px rgba(0, 140, 108, 0.20);
  color: #ffffff;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0.035em;
  line-height: 1.2;
  text-transform: uppercase;
}

.mm-package-top {
  display: grid;
  gap: 17px;
}

.mm-package-eyebrow {
  color: #6f879e;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.045em;
  line-height: 1.3;
  text-transform: uppercase;
}

.mm-package-price {
  display: grid;
  gap: 6px;
  align-items: start;
  color: var(--mm-ink) !important;
  font-size: clamp(30px, 2.6vw, 39px) !important;
  font-weight: 800;
  letter-spacing: -0.045em;
  line-height: 1 !important;
}

.mm-package-price small {
  color: #7288a0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
}

.mm-package-price span {
  display: block;
  max-width: 100%;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.mm-package-card h3 {
  margin-top: 25px;
  font-size: 24px;
}

.mm-package-summary {
  min-height: 77px;
  margin-top: 13px !important;
  color: #4f6e8c !important;
  font-size: 14px !important;
  line-height: 1.72 !important;
}

.mm-package-list {
  display: grid;
  gap: 11px;
  margin: 22px 0 28px;
  padding: 0;
  list-style: none;
}

.mm-package-list li {
  position: relative;
  padding-left: 21px;
  color: #3f617e;
  font-size: 14px;
  line-height: 1.56;
}

.mm-package-list li::before {
  position: absolute;
  top: 0;
  left: 0;
  color: var(--mm-green);
  content: "✓";
  font-weight: 800;
}

.mm-package-cta {
  width: 100%;
  margin-top: auto;
}

.mm-package-disclosure {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 12px;
  max-width: 1060px;
  margin: 27px auto 0;
  padding: 17px 19px;
  border: 1px solid #dae5ed;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.76);
}

.mm-package-disclosure > span {
  display: grid;
  width: 21px;
  height: 21px;
  border-radius: 50%;
  background: #e4edf5;
  color: #52718d;
  font-size: 13px;
  font-weight: 800;
  font-style: italic;
  line-height: 1;
  place-items: center;
}

.mm-package-disclosure p {
  color: #5e748b;
  font-size: 13px;
  line-height: 1.65;
}

/* Sources */
.mm-source-panel {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
  gap: 52px;
  padding: 48px;
  border: 1px solid #174c67;
  border-radius: 28px;
  background:
    radial-gradient(circle at 92% 10%, rgba(54, 161, 143, 0.23), transparent 26%),
    linear-gradient(135deg, #092942 0%, #103d60 100%);
  box-shadow: 0 22px 48px rgba(8, 38, 65, 0.16);
}

.mm-source-intro h2 {
  margin-top: 16px;
  color: #ffffff;
  font-size: clamp(31px, 3vw, 43px);
}

.mm-source-intro p {
  margin-top: 16px;
  color: #c5d9e8;
  font-size: 15px;
  line-height: 1.76;
}

.mm-source-links {
  display: grid;
  gap: 0;
  align-content: center;
}

.mm-source-links a {
  display: grid;
  grid-template-columns: 35px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 11px;
  padding: 15px 0;
  border-bottom: 1px solid rgba(190, 217, 232, 0.18);
  color: #f5fbff;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.4;
  transition: color 160ms ease, padding-left 160ms ease;
}

.mm-source-links a:first-child {
  border-top: 1px solid rgba(190, 217, 232, 0.18);
}

.mm-source-links a:hover {
  padding-left: 5px;
  color: #a7ead9;
}

.mm-source-links span {
  color: #7db5d0;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.07em;
}

.mm-source-links b {
  color: #a7ead9;
  font-size: 17px;
  text-align: right;
}

/* FAQs */
.mm-section--faq {
  padding-top: 104px;
  background: #fbfdff;
}

.mm-faq-list {
  max-width: 920px;
  margin: 0 auto;
  border-top: 1px solid #dce6ef;
}

.mm-faq-item {
  border-bottom: 1px solid #dce6ef;
  background: #ffffff;
}

.mm-faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 23px 3px;
  color: var(--mm-ink);
  cursor: pointer;
  font-size: 17px;
  font-weight: 720;
  line-height: 1.45;
  list-style: none;
}

.mm-faq-item summary::-webkit-details-marker {
  display: none;
}

.mm-faq-item summary span {
  display: grid;
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #edf5fc;
  color: #386180;
  font-size: 21px;
  font-weight: 400;
  line-height: 1;
  transition: transform 180ms ease, background 180ms ease, color 180ms ease;
  place-items: center;
}

.mm-faq-item[open] summary span {
  transform: rotate(45deg);
  background: #dff5ed;
  color: var(--mm-green-dark);
}

.mm-faq-item p {
  max-width: 810px;
  padding: 0 50px 24px 3px;
  color: #536f89;
  font-size: 15px;
  line-height: 1.75;
}

/* Bottom contact */
.mm-contact-section {
  padding-top: 90px;
  padding-bottom: 112px;
  background: #fbfdff;
}

.mm-contact-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(330px, 0.94fr);
  gap: 55px;
  padding: 50px;
  border: 1px solid #17485f;
  border-radius: 29px;
  background:
    radial-gradient(circle at 10% 100%, rgba(77, 158, 193, 0.20), transparent 27%),
    radial-gradient(circle at 92% 7%, rgba(54, 184, 150, 0.17), transparent 24%),
    linear-gradient(135deg, #08243c 0%, #113d5b 100%);
  box-shadow: 0 24px 52px rgba(9, 42, 68, 0.17);
}

.mm-contact-copy h2 {
  margin-top: 17px;
  color: #ffffff;
  font-size: clamp(32px, 3.1vw, 45px);
}

.mm-contact-copy p {
  max-width: 665px;
  margin-top: 17px;
  color: #c6d8e5;
  font-size: 16px;
  line-height: 1.78;
}

.mm-contact-action {
  align-self: center;
  padding: 28px;
  border: 1px solid rgba(194, 226, 235, 0.16);
  border-radius: 21px;
  background: rgba(255, 255, 255, 0.075);
}

.mm-contact-action h3 {
  color: #ffffff;
  font-size: 20px;
}

.mm-contact-list {
  display: grid;
  gap: 10px;
  margin: 19px 0 24px;
  padding: 0;
  list-style: none;
}

.mm-contact-list li {
  position: relative;
  padding-left: 21px;
  color: #d0e1ea;
  font-size: 14px;
  line-height: 1.55;
}

.mm-contact-list li::before {
  position: absolute;
  top: 7px;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #7ed5bf;
  content: "";
}

.mm-page .btn-contact {
  width: 100%;
  background: #f3cf7c;
  box-shadow: 0 12px 25px rgba(5, 25, 41, 0.20);
  color: #112f49;
}

.mm-page .btn-contact:hover {
  background: #f8dda0;
}

/* Floating table of contents */
.mm-floating-toc-wrapper {
  position: fixed;
  bottom: 23px;
  left: 23px;
  z-index: 100;
  font-family: "Inter", Arial, sans-serif;
}

.mm-floating-toc-wrapper .floating-toc-panel {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 302px;
  max-height: min(580px, calc(100vh - 46px));
  padding: 14px;
  border: 1px solid #d5e2ec;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 20px 50px rgba(10, 42, 69, 0.16);
  opacity: 0;
  overflow: auto;
  pointer-events: none;
  transform: translateY(11px) scale(0.98);
  transform-origin: bottom left;
  transition: opacity 160ms ease, transform 160ms ease;
}

.mm-floating-toc-wrapper .floating-toc-panel.active {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.mm-floating-toc-wrapper .toc-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 3px 12px;
  border-bottom: 1px solid #e2ebf2;
}

.mm-floating-toc-wrapper .toc-title {
  color: var(--mm-ink);
  font-size: 14px;
  font-weight: 800;
}

.mm-floating-toc-wrapper .toc-close-btn {
  display: grid;
  width: 29px;
  height: 29px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: #eef5fa;
  color: #54718b;
  cursor: pointer;
  font-size: 23px;
  line-height: 1;
  place-items: center;
}

.mm-floating-toc-wrapper .toc-list {
  display: grid;
  gap: 1px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}

.mm-floating-toc-wrapper .toc-list a {
  display: block;
  padding: 10px 10px;
  border-radius: 9px;
  color: #3d617f;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  transition: background 160ms ease, color 160ms ease;
}

.mm-floating-toc-wrapper .toc-list a:hover {
  background: #edf8f5;
  color: #007c61;
}

.mm-floating-toc-wrapper .toc-toggle-btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid #c4d6e3;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 10px 25px rgba(8, 38, 65, 0.13);
  color: var(--mm-ink);
  cursor: pointer;
  font-family: inherit;
  font-size: 13px;
  font-weight: 750;
  line-height: 1;
}

.mm-floating-toc-wrapper .toc-toggle-btn svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

/* Responsive layout */
@media (max-width: 1120px) {
  .mm-hero-grid {
    gap: 48px;
  }

  .mm-decision-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .mm-decision-card {
    min-height: 245px;
  }

  .mm-source-panel,
  .mm-contact-panel {
    gap: 34px;
    padding: 40px;
  }
}

@media (max-width: 980px) {
  .mm-hero {
    padding-top: 88px;
  }

  .mm-hero-grid {
    grid-template-columns: 1fr;
  }

  .mm-hero-copy {
    max-width: 770px;
  }

  .mm-hero-brief {
    max-width: 700px;
  }

  .mm-type-stage {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mm-type-card--feature {
    grid-column: span 2;
  }

  .mm-type-secondary,
  .mm-readiness-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .mm-small-type {
    padding: 24px;
  }

  .mm-small-type h3 {
    font-size: 18px;
  }

  .mm-cost-layout {
    grid-template-columns: 1fr;
  }

  .mm-official-fees {
    max-width: none;
  }

  .mm-package-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mm-package-card:last-child {
    grid-column: span 2;
  }

  .mm-source-panel {
    grid-template-columns: 1fr;
  }

  .mm-contact-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .mm-page {
    font-size: 16px;
  }

  .mm-page .container {
    width: min(100% - 36px, 650px);
  }

  .mm-page h1 {
    font-size: clamp(38px, 10vw, 54px);
  }

  .mm-page h2 {
    font-size: clamp(31px, 8vw, 43px);
  }

  .mm-page h3 {
    font-size: 21px;
  }

  .mm-hero {
    padding: 72px 0 72px;
  }

  .mm-hero-lead {
    font-size: 17px !important;
  }

  .mm-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .mm-hero-actions .btn {
    width: 100%;
  }

  .mm-hero-brief {
    padding: 27px;
    border-radius: 24px;
  }

  .mm-signal-grid {
    grid-template-columns: 1fr;
    margin-top: -26px;
    border-radius: 17px;
  }

  .mm-signal-item {
    padding: 18px 20px;
  }

  .mm-signal-item + .mm-signal-item {
    border-top: 1px solid #e4edf4;
    border-left: 0;
  }

  .mm-section {
    padding: 76px 0;
  }

  .mm-types-section {
    padding-top: 82px;
  }

  .mm-section-head {
    margin-bottom: 34px;
    text-align: left;
  }

  .mm-section-head p {
    font-size: 16px;
  }

  .mm-type-stage,
  .mm-type-secondary,
  .mm-decision-grid,
  .mm-roadmap,
  .mm-readiness-grid,
  .mm-package-grid {
    grid-template-columns: 1fr;
  }

  .mm-type-card--feature,
  .mm-package-card:last-child {
    grid-column: auto;
  }

  .mm-type-card,
  .mm-type-card--feature {
    padding: 27px;
    border-radius: 21px;
  }

  .mm-type-card h3,
  .mm-type-card--feature h3 {
    font-size: 25px;
  }

  .mm-type-secondary {
    margin-top: 15px;
  }

  .mm-small-type {
    padding: 24px;
  }

  .mm-clarity-note {
    grid-template-columns: 35px minmax(0, 1fr);
    gap: 13px;
    padding: 18px;
  }

  .mm-decision-card {
    min-height: auto;
    padding: 24px;
  }

  .mm-roadmap-card {
    min-height: auto;
  }

  .mm-law-foundation {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 14px;
    padding: 20px;
  }

  .mm-law-foundation a {
    grid-column: 2;
    margin-top: 1px;
  }

  .mm-readiness-card {
    min-height: auto;
    padding: 26px;
  }

  .mm-official-fees,
  .mm-source-panel,
  .mm-contact-panel {
    padding: 27px;
    border-radius: 23px;
  }

  .mm-budget-card {
    padding: 22px;
  }

  .mm-package-card {
    min-height: auto;
    padding: 27px;
  }

  .mm-package-summary {
    min-height: 0;
  }

  .mm-package-ribbon {
    top: -12px;
    left: 20px;
  }

  .mm-source-links a {
    grid-template-columns: 30px minmax(0, 1fr) 16px;
    font-size: 14px;
  }

  .mm-faq-item summary {
    padding: 20px 0;
    font-size: 16px;
  }

  .mm-faq-item p {
    padding: 0 4px 21px 0;
  }

  .mm-contact-section {
    padding-top: 62px;
    padding-bottom: 78px;
  }

  .mm-contact-copy p {
    font-size: 15px;
  }

  .mm-contact-action {
    padding: 23px;
  }

  .mm-floating-toc-wrapper {
    right: auto;
    bottom: 48px;
    left: 16px;
  }

  .mm-floating-toc-wrapper .floating-toc-panel {
    right: auto;
    bottom: 0;
    left: 0;
    width: min(302px, calc(100vw - 32px));
    transform-origin: bottom left;
  }

  .mm-floating-toc-wrapper .toc-toggle-btn span {
    display: none;
  }

  .mm-floating-toc-wrapper .toc-toggle-btn {
    width: 44px;
    min-width: 44px;
    padding: 0;
    justify-content: center;
  }
}

@media (max-width: 440px) {
  .mm-page .container {
    width: calc(100% - 30px);
  }

  .mm-hero {
    padding-top: 58px;
  }

  .mm-eyebrow {
    font-size: 11px;
  }

  .mm-brief-list li {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 8px;
  }

  .mm-type-card,
  .mm-type-card--feature,
  .mm-official-fees,
  .mm-package-card,
  .mm-source-panel,
  .mm-contact-panel {
    padding: 23px;
  }

  .mm-fee-row {
    gap: 10px;
    font-size: 13px;
  }

  .mm-fee-row strong {
    font-size: 14px;
  }

  .mm-budget-card {
    grid-template-columns: 39px minmax(0, 1fr);
    gap: 12px;
    padding: 20px;
  }

  .mm-budget-card p {
    grid-column: 1 / -1;
    margin-top: 0;
  }

  .mm-package-price {
    font-size: clamp(24px, 7.8vw, 32px) !important;
  }

}

@media (prefers-reduced-motion: reduce) {
  .mm-page *,
  .mm-floating-toc-wrapper * {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
