/* ─── Mega menu ─── */

/* Keyboard focus — mirrors the global rule in medalsocial-site.css so the
   menu stays accessible even if this sheet is loaded standalone. */
.mm-anchor a:focus-visible,
.mm-anchor button:focus-visible,
.mm-anchor [role="button"]:focus-visible {
  outline: 2px solid var(--brand-hover);
  outline-offset: 2px;
}

.mm-overlay {
  position: fixed;
  inset: 0;
  padding: 0;
  border: 0;
  background: var(--overlay);
  backdrop-filter: blur(2px);
  z-index: 50;
  display: none;
  animation: fadeIn 180ms var(--ease);
}
.mm-overlay[data-open="true"] {
  display: block;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Bridge zone — invisible area between header and menu that keeps mouse hover unified */
.mm-bridge {
  position: absolute;
  inset-inline: 0;
  top: 100%;
  height: 18px;
  display: none;
  z-index: 99;
}
.menu-region[data-any-open="true"] .mm-bridge {
  display: block;
}

.mm-anchor {
  display: block;
  position: absolute;
  top: calc(100% + 12px);
  inset-inline: 0;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-4px);
  transition:
    opacity 140ms var(--ease),
    transform 160ms var(--ease),
    visibility 0s linear 160ms;
}
.mm-anchor[data-open="true"] {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition:
    opacity 140ms var(--ease),
    transform 160ms var(--ease),
    visibility 0s;
}

.mm {
  background: var(--panel);
  border: 1px solid var(--border-soft);
  border-radius: var(--r-xl);
  padding: 14px;
  display: grid;
  grid-template-columns: 220px 1fr 320px;
  gap: 14px;
  box-shadow: var(--shadow-menu);
  min-height: 280px;
}

.mm-rail {
  display: flex;
  flex-direction: column;
  padding: 4px 2px;
}
.mm-rail-eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 11px;
  font-weight: 600;
  color: var(--violet-300);
  margin: 4px 10px 4px;
}
.mm-rail-sub {
  font-size: 12.5px;
  color: var(--text-muted);
  line-height: 1.45;
  margin: 0 10px 14px;
}
.mm-tab {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  background: transparent;
  border: 0;
  color: var(--text-muted);
  font-size: 13.5px;
  font-weight: 500;
  padding: 9px 12px;
  border-radius: var(--r-md);
  text-align: start;
  letter-spacing: -0.005em;
  text-decoration: none;
  transition:
    background 120ms var(--ease),
    color 120ms var(--ease);
}
.mm-tab-label {
  flex: 1;
}
.mm-tab-arrow {
  color: var(--text-dim);
  opacity: 0;
  transform: translateX(-2px);
  transition:
    opacity 140ms var(--ease),
    transform 140ms var(--ease),
    color 140ms var(--ease);
}
.mm-tab:hover .mm-tab-arrow,
.mm-tab[data-active="true"] .mm-tab-arrow {
  opacity: 1;
  transform: translateX(0);
  color: var(--violet-300);
}
:root[data-theme="light"] .mm-tab:hover .mm-tab-arrow,
:root[data-theme="light"] .mm-tab[data-active="true"] .mm-tab-arrow {
  color: var(--violet-600);
}
.mm-tab:hover {
  background: var(--hover-tint-soft);
  color: var(--text);
}
.mm-tab[data-active="true"] {
  background: rgba(61, 47, 143, 0.12);
  color: var(--text);
  box-shadow: inset 0 0 0 1px rgba(61, 47, 143, 0.22);
}
.mm-tab[data-active="true"] .mm-tab-icon {
  color: var(--violet-300);
}
.mm-tab-icon {
  width: 16px;
  height: 16px;
  color: var(--text-dim);
  flex-shrink: 0;
}

.mm-feature {
  background: var(--panel-2);
  border: 1px solid var(--border-soft);
  border-radius: var(--r-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.mm-feature-media {
  height: 130px;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(70% 60% at 50% 30%, rgba(61, 47, 143, 0.16), rgba(61, 47, 143, 0) 70%),
    linear-gradient(180deg, #1a1233 0%, #120a26 100%);
  border-bottom: 1px solid rgba(130, 116, 212, 0.12);
}
.mm-feature-media .mm-illus {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  padding: 12px;
  box-sizing: border-box;
}
:root[data-theme="light"] .mm-feature-media {
  background:
    radial-gradient(70% 60% at 50% 30%, rgba(61, 47, 143, 0.1), rgba(61, 47, 143, 0) 70%),
    linear-gradient(180deg, #f4f1fc 0%, #ece4fa 100%);
  border-bottom-color: rgba(61, 47, 143, 0.12);
}
.mm-illus {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.mm-feature-media .gradient-blob {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(60% 70% at 30% 50%, rgba(46, 33, 114, 0.7) 0%, rgba(46, 33, 114, 0) 60%),
    radial-gradient(50% 60% at 70% 40%, rgba(130, 116, 212, 0.55) 0%, rgba(130, 116, 212, 0) 65%),
    radial-gradient(80% 100% at 80% 80%, rgba(27, 20, 68, 0.5) 0%, rgba(0, 0, 0, 0) 70%),
    linear-gradient(135deg, #0a0a16 0%, #1a1340 100%);
}
.mm-feature-media .photo-placeholder {
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.025) 0 12px,
      rgba(255, 255, 255, 0) 12px 24px
    ),
    linear-gradient(180deg, var(--placeholder-a, #2a2240), var(--placeholder-b, #1a1330));
  display: grid;
  place-items: center;
  color: rgba(255, 255, 255, 0.45);
  font-family: ui-monospace, "JetBrains Mono", SFMono-Regular, monospace;
  font-size: 11px;
  letter-spacing: 0.04em;
  text-align: center;
  padding: 16px;
}
.mm-feature-media .photo-placeholder .ph-label {
  background: rgba(8, 8, 15, 0.7);
  border: 1px solid var(--ms-border);
  padding: 5px 10px;
  border-radius: var(--r-sm);
}

.mm-feature-body {
  padding: 14px 18px 14px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.mm-feature-eyebrow {
  font-size: 11px;
  font-weight: 600;
  color: var(--violet-300);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 2px;
}
.mm-feature-title {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--text);
  margin: 0;
  line-height: 1.2;
}
.mm-feature-sub {
  font-size: 13px;
  color: var(--text-muted);
  line-height: 1.45;
  margin: 0 0 4px;
  max-width: 56ch;
}
.mm-feature-cta {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 8px;
  flex-wrap: wrap;
}
.btn-pill {
  background: var(--brand);
  border: 0;
  color: var(--brand-fg);
  font-size: 13.5px;
  font-weight: 600;
  padding: 9px 16px;
  border-radius: var(--r-md);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  letter-spacing: -0.005em;
  box-shadow:
    0 4px 12px -6px var(--brand-glow),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
  transition: background 120ms var(--ease);
}
.btn-pill:hover {
  background: var(--brand-hover);
}
.mm-feature-reassure {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--text-muted);
  font-size: 13px;
}
.mm-feature-reassure svg {
  color: var(--text-dim);
  flex-shrink: 0;
}

.mm-cards {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.mm-card {
  background: var(--ms-card);
  border: 1px solid var(--border-soft);
  border-radius: var(--r-lg);
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 1;
  cursor: pointer;
  transition:
    background 140ms var(--ease),
    border-color 140ms var(--ease);
}
.mm-card:hover {
  background: var(--card-hover);
  border-color: var(--card-border-hover);
}
.mm-card-icon {
  width: 32px;
  height: 32px;
  border-radius: var(--r-md);
  background: rgba(61, 47, 143, 0.14);
  border: 1px solid rgba(61, 47, 143, 0.22);
  color: var(--violet-300);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.mm-card-icon svg {
  width: 16px;
  height: 16px;
}
.mm-card-body {
  display: flex;
  flex-direction: column;
  gap: 1px;
  flex: 1;
  min-width: 0;
}
.mm-card-title {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text);
  letter-spacing: -0.005em;
}
.mm-card-sub {
  font-size: 12px;
  color: var(--text-muted);
  line-height: 1.35;
}
.mm-card-arrow {
  color: var(--text-dim);
  transition:
    transform 140ms var(--ease),
    color 140ms var(--ease);
  flex-shrink: 0;
}
.mm-card:hover .mm-card-arrow {
  transform: translateX(2px);
  color: var(--text);
}

.mm-foot {
  grid-column: 2 / 3;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 2px 4px;
  font-size: 13px;
  color: var(--text-muted);
}
.mm-foot a {
  color: var(--violet-300);
  font-weight: 600;
}
.mm-foot a:hover {
  text-decoration: underline;
}

/* Hide rail subtitles — keep the eyebrow tag, drop the descriptive line below it */
.mm-rail-sub {
  display: none !important;
}

/* Height alignment for ALL row-card variants — stretch all cards to equal height */
.mm-row-cards {
  align-items: stretch;
}
.mm-row-cards .mm-row-card {
  height: 100%;
}

/* Removes the products row title block, the pricing title block,
   and the start-here "foot" CTA so each mega-menu panel has
   roughly the same vertical footprint. */
.mm-row-head {
  display: none !important;
}
.mm-row-title {
  display: none !important;
}
.mm-row-sub {
  display: none !important;
}
.mm-pri-head {
  display: none !important;
}
.mm-foot {
  display: none !important;
}

@media (max-width: 1024px) {
  .mm-anchor,
  .mm-overlay,
  .mm-bridge {
    display: none !important;
  }
}

/* ─── Mega menu — ROW layout (Products → by workflow) ───
   Left rail of workflow tabs, header on top, four cards in a row. */
.mm.mm-row {
  grid-template-columns: 220px 1fr;
  gap: 14px;
}
.mm-row .mm-rail {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.mm-row .mm-rail-foot {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 10px 10px 4px;
  padding-top: 12px;
  border-top: 1px solid var(--border-soft);
  color: var(--violet-300);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: -0.005em;
  transition: color 140ms var(--ease);
}
:root[data-theme="light"] .mm-row .mm-rail-foot {
  color: var(--violet-700);
}
.mm-row .mm-rail-foot:hover {
  color: var(--text);
}
.mm-row .mm-rail-foot svg {
  transition: transform 140ms var(--ease);
}
.mm-row .mm-rail-foot:hover svg {
  transform: translateX(2px);
}

.mm-row-main {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
  padding: 4px 2px 2px;
}
.mm-row-head {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 2px 4px 4px;
}
.mm-row-title {
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -0.018em;
  color: var(--text);
  margin: 0;
  line-height: 1.25;
}
.mm-row-sub {
  font-size: 13px;
  color: var(--text-muted);
  margin: 0;
  line-height: 1.5;
  max-width: 76ch;
}

.mm-row-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.mm-row-card {
  position: relative;
  background: var(--ms-card);
  border: 1px solid var(--border-soft);
  border-radius: var(--r-lg);
  padding: 18px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 184px;
  text-decoration: none;
  overflow: hidden;
  transition:
    background 140ms var(--ease),
    border-color 140ms var(--ease),
    transform 140ms var(--ease);
}
.mm-row-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(
    80% 60% at 80% 0%,
    rgba(61, 47, 143, 0.1) 0%,
    rgba(61, 47, 143, 0) 60%
  );
  opacity: 0;
  transition: opacity 200ms var(--ease);
}
.mm-row-card:hover {
  background: var(--card-hover);
  border-color: var(--card-border-hover);
}
.mm-row-card:hover::before {
  opacity: 1;
}
.mm-row-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  color: var(--violet-300);
  width: 40px;
  height: 40px;
  border-radius: var(--r-md);
  margin-bottom: 24px;
  transition:
    color 140ms var(--ease),
    transform 200ms var(--ease);
}
:root[data-theme="light"] .mm-row-card-icon {
  color: var(--violet-600);
}
.mm-row-card:hover .mm-row-card-icon {
  transform: translateY(-1px);
}
.mm-row-card-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
  letter-spacing: -0.01em;
}
.mm-row-card-bullet {
  display: inline-grid;
  place-items: center;
  width: 16px;
  height: 16px;
  color: var(--violet-300);
  flex-shrink: 0;
}
:root[data-theme="light"] .mm-row-card-bullet {
  color: var(--violet-600);
}
.mm-row-card-bullet svg {
  width: 14px;
  height: 14px;
}
.mm-row-card-sub {
  font-size: 12.5px;
  color: var(--text-muted);
  line-height: 1.45;
  text-wrap: pretty;
}

/* Responsive: collapse to 2-up below ~820px (well inside the 920 mobile breakpoint
   which already kills the menu, but kept so any narrowing of viewport stays usable) */
@media (max-width: 820px) {
  .mm-row-cards {
    grid-template-columns: repeat(2, 1fr);
  }
  .mm-row-card {
    min-height: 168px;
  }
}

/* ─── Mega menu — SOLUTIONS layout (multiple lenses) ─── */
.mm.mm-solutions {
  grid-template-columns: 220px 1fr;
  gap: 14px;
}
.mm-solutions .mm-rail-help {
  margin: 12px 10px 4px;
  padding-top: 12px;
  border-top: 1px solid var(--border-soft);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.mm-solutions .mm-rail-help > span {
  font-size: 12px;
  color: var(--text-muted);
}
.mm-solutions .mm-rail-help a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--violet-300);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -0.005em;
  transition: color 140ms var(--ease);
}
:root[data-theme="light"] .mm-solutions .mm-rail-help a {
  color: var(--violet-700);
}
.mm-solutions .mm-rail-help a:hover {
  color: var(--text);
}
.mm-solutions .mm-rail-help a svg {
  transition: transform 140ms var(--ease);
}
.mm-solutions .mm-rail-help a:hover svg {
  transform: translateX(2px);
}

.mm-sol-head {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 2px 4px;
  flex-wrap: wrap;
}
.mm-sol-head-eyebrow {
  font-size: 11px;
  font-weight: 600;
  color: var(--violet-300);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
:root[data-theme="light"] .mm-sol-head-eyebrow {
  color: var(--violet-700);
}
.mm-sol-head-sub {
  font-size: 13px;
  color: var(--text-muted);
  margin: 0;
  line-height: 1.5;
}

/* Shared checklist */
.mm-sol-check {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.mm-sol-check li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 12.5px;
  color: var(--text);
  line-height: 1.45;
}
.mm-sol-check-mark {
  display: inline-grid;
  place-items: center;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: var(--violet-300);
  margin-top: 1px;
}
:root[data-theme="light"] .mm-sol-check-mark {
  color: var(--violet-600);
}

/* ─ Kind: grid (By Solution, 2x4 compact cards) ─ */
.mm-sol-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.mm-sol-grid-card {
  background: var(--ms-card);
  border: 1px solid var(--border-soft);
  border-radius: var(--r-lg);
  padding: 14px 14px 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-height: 110px;
  text-decoration: none;
  transition:
    background 140ms var(--ease),
    border-color 140ms var(--ease);
}
.mm-sol-grid-card:hover {
  background: var(--card-hover);
  border-color: var(--card-border-hover);
}
.mm-sol-grid-icon {
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  border-radius: var(--r-sm);
  color: var(--violet-300);
  margin-bottom: 6px;
}
:root[data-theme="light"] .mm-sol-grid-icon {
  color: var(--violet-600);
}
.mm-sol-grid-title {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text);
  letter-spacing: -0.005em;
}
.mm-sol-grid-sub {
  font-size: 12px;
  color: var(--text-muted);
  line-height: 1.45;
  text-wrap: pretty;
}

/* ─ Kind: role (3 cards with visual + checklist + CTA) ─ */
.mm-sol-role-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.mm-sol-role-card {
  background: var(--ms-card);
  border: 1px solid var(--border-soft);
  border-radius: var(--r-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  transition:
    background 140ms var(--ease),
    border-color 140ms var(--ease);
}
.mm-sol-role-card:hover {
  border-color: var(--card-border-hover);
}
.mm-sol-role-visual {
  height: 96px;
  background:
    radial-gradient(80% 100% at 50% 100%, rgba(61, 47, 143, 0.16), rgba(61, 47, 143, 0) 70%),
    var(--panel-2);
  border-bottom: 1px solid var(--border-soft);
  display: grid;
  place-items: center;
  padding: 12px;
}
.mm-sol-role-visual svg {
  width: 100%;
  height: 100%;
}
.mm-sol-role-body {
  padding: 14px 16px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.mm-sol-role-title {
  font-size: 14.5px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--text);
}
.mm-sol-role-sub {
  font-size: 12.5px;
  color: var(--text-muted);
  line-height: 1.45;
  margin-bottom: 2px;
}
.mm-sol-role-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  padding-top: 10px;
  border-top: 1px solid var(--border-soft);
  color: var(--violet-300);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: -0.005em;
  transition: color 140ms var(--ease);
}
:root[data-theme="light"] .mm-sol-role-cta {
  color: var(--violet-700);
}
.mm-sol-role-card:hover .mm-sol-role-cta {
  color: var(--text);
}
.mm-sol-role-cta svg {
  transition: transform 140ms var(--ease);
}
.mm-sol-role-card:hover .mm-sol-role-cta svg {
  transform: translateX(2px);
}

/* ─ Kind: feature (4 icon cards with checklist) ─ */
.mm-sol-feat-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.mm-sol-feat-card {
  background: var(--ms-card);
  border: 1px solid var(--border-soft);
  border-radius: var(--r-lg);
  padding: 14px 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-decoration: none;
  transition:
    background 140ms var(--ease),
    border-color 140ms var(--ease);
}
.mm-sol-feat-card:hover {
  background: var(--card-hover);
  border-color: var(--card-border-hover);
}
.mm-sol-feat-icon {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: var(--r-sm);
  background: rgba(61, 47, 143, 0.1);
  border: 1px solid rgba(61, 47, 143, 0.2);
  color: var(--violet-300);
  margin-bottom: 4px;
}
:root[data-theme="light"] .mm-sol-feat-icon {
  color: var(--violet-600);
}
.mm-sol-feat-title {
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: -0.008em;
  color: var(--text);
}
.mm-sol-feat-sub {
  font-size: 12px;
  color: var(--text-muted);
  line-height: 1.45;
  margin-bottom: 4px;
  text-wrap: pretty;
}
.mm-sol-feat-card .mm-sol-check {
  margin-top: 2px;
}
.mm-sol-feat-card .mm-sol-check li {
  font-size: 12px;
  color: var(--text-muted);
}

/* ─ Kind: tier (4 cards with pill + checklist + CTA) ─ */
.mm-sol-tier-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.mm-sol-tier-card {
  background: var(--ms-card);
  border: 1px solid var(--border-soft);
  border-radius: var(--r-lg);
  padding: 14px 14px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-decoration: none;
  transition:
    background 140ms var(--ease),
    border-color 140ms var(--ease);
}
.mm-sol-tier-card:hover {
  background: var(--card-hover);
  border-color: var(--card-border-hover);
}
.mm-sol-tier-pill {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: rgba(61, 47, 143, 0.1);
  border: 1px solid rgba(61, 47, 143, 0.22);
  color: var(--violet-300);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: -0.005em;
  padding: 3px 10px;
  border-radius: 999px;
}
:root[data-theme="light"] .mm-sol-tier-pill {
  color: var(--violet-700);
}
.mm-sol-tier-pill-icon {
  display: inline-grid;
  place-items: center;
  width: 12px;
  height: 12px;
}
.mm-sol-tier-pill-icon svg {
  width: 12px;
  height: 12px;
}
.mm-sol-tier-title {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--text);
  margin-top: 2px;
}
.mm-sol-tier-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  padding-top: 10px;
  border-top: 1px solid var(--border-soft);
  color: var(--violet-300);
  font-size: 12.5px;
  font-weight: 600;
  transition: color 140ms var(--ease);
}
:root[data-theme="light"] .mm-sol-tier-cta {
  color: var(--violet-700);
}
.mm-sol-tier-card:hover .mm-sol-tier-cta {
  color: var(--text);
}
.mm-sol-tier-cta svg {
  transition: transform 140ms var(--ease);
}
.mm-sol-tier-card:hover .mm-sol-tier-cta svg {
  transform: translateX(2px);
}

/* Solutions responsive: collapse columns gracefully */
@media (max-width: 820px) {
  .mm-sol-grid,
  .mm-sol-feat-row,
  .mm-sol-tier-row {
    grid-template-columns: repeat(2, 1fr);
  }
  .mm-sol-role-row {
    grid-template-columns: 1fr;
  }
}

/* ─── Mega menu — PRICING layout ─── */
.mm.mm-pricing {
  grid-template-columns: 220px 1fr;
  gap: 14px;
}
.mm-rail-compact .mm-rail-eyebrow {
  margin-bottom: 10px;
}

.mm-pri-head {
  padding: 2px 4px 6px;
}
.mm-pri-eyebrow {
  font-size: 11px;
  font-weight: 600;
  color: var(--violet-300);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
:root[data-theme="light"] .mm-pri-eyebrow {
  color: var(--violet-700);
}
.mm-pri-title {
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -0.018em;
  color: var(--text);
  margin: 0 0 4px;
  line-height: 1.25;
}
.mm-pri-sub {
  font-size: 13px;
  color: var(--text-muted);
  margin: 0;
  line-height: 1.5;
}

/* Shared button styles for menu CTAs */
.mm-pri-plan-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 9px 14px;
  border-radius: var(--r-md);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -0.005em;
  text-decoration: none;
  transition:
    background 140ms var(--ease),
    border-color 140ms var(--ease),
    color 140ms var(--ease),
    transform 100ms var(--ease);
  width: 100%;
}
.mm-pri-plan-cta.is-primary {
  background: var(--brand);
  color: var(--brand-fg);
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow:
    0 4px 12px -6px var(--brand-glow),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.mm-pri-plan-cta.is-primary:hover {
  background: var(--brand-hover);
}
.mm-pri-plan-cta.is-ghost {
  background: transparent;
  color: var(--text);
  border: 1px solid var(--ms-border);
}
.mm-pri-plan-cta.is-ghost:hover {
  background: var(--hover-tint);
  border-color: var(--card-border-hover);
}

/* ─ Kind: plans (3 plan cards) ─ */
.mm-pri-plans {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.mm-pri-plan {
  position: relative;
  background: var(--ms-card);
  border: 1px solid var(--border-soft);
  border-radius: var(--r-lg);
  padding: 16px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.mm-pri-plan.is-popular {
  border-color: rgba(61, 47, 143, 0.5);
  box-shadow:
    0 0 0 1px rgba(61, 47, 143, 0.35) inset,
    0 10px 28px -16px rgba(61, 47, 143, 0.4);
  background:
    radial-gradient(80% 60% at 80% 0%, rgba(61, 47, 143, 0.1), rgba(61, 47, 143, 0) 60%),
    var(--ms-card);
}
.mm-pri-pop {
  position: absolute;
  top: -9px;
  inset-inline-end: 14px;
  background: var(--brand);
  color: var(--brand-fg);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: 3px 8px;
  border-radius: 999px;
  box-shadow: 0 6px 16px -8px var(--brand-glow);
}
.mm-pri-plan-tier {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-dim);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.mm-pri-plan.is-popular .mm-pri-plan-tier {
  color: var(--violet-300);
}
:root[data-theme="light"] .mm-pri-plan.is-popular .mm-pri-plan-tier {
  color: var(--violet-700);
}
.mm-pri-plan-price {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-top: -2px;
}
.mm-pri-plan-amount {
  font-size: 30px;
  font-weight: 700;
  letter-spacing: -0.025em;
  color: var(--text);
  line-height: 1;
}
.mm-pri-plan-period {
  font-size: 12.5px;
  color: var(--text-muted);
}
.mm-pri-plan-sub {
  font-size: 12.5px;
  color: var(--text-muted);
  line-height: 1.45;
  min-height: 36px;
}
.mm-pri-plan-bullets {
  margin: 4px 0;
}
.mm-pri-plan-bullets li {
  font-size: 12.5px;
}
.mm-pri-plan .mm-pri-plan-cta {
  margin-top: auto;
}

/* ─ Kind: compare (table) ─ */
.mm-pri-compare {
  background: var(--ms-card);
  border: 1px solid var(--border-soft);
  border-radius: var(--r-lg);
  padding: 6px 6px 14px;
}
.mm-pri-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12.5px;
}
.mm-pri-table thead th {
  text-align: center;
  font-size: 10.5px;
  font-weight: 700;
  color: var(--text-dim);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 12px 10px;
  border-bottom: 1px solid var(--border-soft);
}
.mm-pri-table thead th.is-feat {
  text-align: start;
  padding-inline-start: 14px;
}
.mm-pri-table tbody td {
  text-align: center;
  padding: 10px 10px;
  color: var(--text-muted);
  border-bottom: 1px solid var(--border-soft);
}
.mm-pri-table tbody tr:last-child td {
  border-bottom: 0;
}
.mm-pri-table tbody td.is-feat {
  text-align: start;
  color: var(--text);
  font-weight: 500;
  padding-inline-start: 14px;
}
.mm-pri-check {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: rgba(61, 47, 143, 0.12);
  border: 1px solid rgba(61, 47, 143, 0.24);
  color: var(--violet-300);
}
:root[data-theme="light"] .mm-pri-check {
  color: var(--violet-700);
}
.mm-pri-tablelink {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 10px 0 0 14px;
  color: var(--violet-300);
  font-size: 12.5px;
  font-weight: 600;
  transition: color 140ms var(--ease);
}
:root[data-theme="light"] .mm-pri-tablelink {
  color: var(--violet-700);
}
.mm-pri-tablelink:hover {
  color: var(--text);
}
.mm-pri-tablelink svg {
  transition: transform 140ms var(--ease);
}
.mm-pri-tablelink:hover svg {
  transform: translateX(2px);
}

/* ─ Kind: enterprise ─ */
.mm-pri-ent-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.mm-pri-ent-card {
  background: var(--ms-card);
  border: 1px solid var(--border-soft);
  border-radius: var(--r-lg);
  padding: 14px 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.mm-pri-ent-icon {
  width: 32px;
  height: 32px;
  border-radius: var(--r-sm);
  display: inline-grid;
  place-items: center;
  background: rgba(61, 47, 143, 0.1);
  border: 1px solid rgba(61, 47, 143, 0.2);
  color: var(--violet-300);
  margin-bottom: 6px;
}
:root[data-theme="light"] .mm-pri-ent-icon {
  color: var(--violet-600);
}
.mm-pri-ent-title {
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: -0.008em;
  color: var(--text);
}
.mm-pri-ent-sub {
  font-size: 12px;
  color: var(--text-muted);
  line-height: 1.45;
}
.mm-pri-ent-foot {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  background: var(--panel-2);
  border: 1px solid var(--border-soft);
  border-radius: var(--r-lg);
  margin-top: 4px;
  flex-wrap: wrap;
}
.mm-pri-ent-foot-text {
  flex: 1;
  min-width: 240px;
}
.mm-pri-ent-foot-lead {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text);
  letter-spacing: -0.008em;
}
.mm-pri-ent-foot-sub {
  font-size: 12px;
  color: var(--text-muted);
  margin-top: 2px;
}
.mm-pri-ent-foot .mm-pri-plan-cta {
  width: auto;
}

/* ─ Kind: faq ─ */
.mm-pri-faq-list {
  background: var(--ms-card);
  border: 1px solid var(--border-soft);
  border-radius: var(--r-lg);
  overflow: hidden;
}
.mm-pri-faq {
  border-bottom: 1px solid var(--border-soft);
}
.mm-pri-faq:last-child {
  border-bottom: 0;
}
.mm-pri-faq summary {
  list-style: none;
  cursor: pointer;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: -0.005em;
  color: var(--text);
}
.mm-pri-faq summary::-webkit-details-marker {
  display: none;
}
.mm-pri-faq-chev {
  color: var(--text-dim);
  transition: transform 200ms var(--ease);
  flex-shrink: 0;
}
.mm-pri-faq[open] .mm-pri-faq-chev {
  transform: rotate(180deg);
}
.mm-pri-faq-a {
  padding: 0 16px 14px 16px;
  font-size: 12.5px;
  color: var(--text-muted);
  line-height: 1.55;
}
.mm-pri-faq-all {
  margin-top: 4px;
  align-self: flex-start;
  width: auto;
  padding-inline-start: 18px;
  padding-inline-end: 16px;
}

/* Pricing responsive */
@media (max-width: 820px) {
  .mm-pri-plans {
    grid-template-columns: 1fr;
  }
  .mm-pri-ent-row {
    grid-template-columns: repeat(2, 1fr);
  }
  .mm-pri-table thead th,
  .mm-pri-table tbody td {
    padding: 8px 6px;
    font-size: 11.5px;
  }
}

/* ─── Mega menu — RESOURCES layout ─── */
.mm.mm-resources {
  grid-template-columns: 220px 1fr;
  gap: 14px;
}
.mm-resources .mm-rail-sub {
  transition: opacity 140ms var(--ease);
}
.mm-resources .mm-row-cards {
  /* Resources uses the same 4-card row as products */
  grid-template-columns: repeat(4, 1fr);
}

/* ─ Kind: company (EXPLORE sub-rail + 4 highlight cards) ─ */
.mm-res-company {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 14px;
  align-items: stretch;
}
.mm-res-explore {
  background: var(--ms-card);
  border: 1px solid var(--border-soft);
  border-radius: var(--r-lg);
  padding: 12px 8px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.mm-res-explore-eyebrow {
  font-size: 11px;
  font-weight: 600;
  color: var(--violet-300);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 4px 8px 8px;
}
:root[data-theme="light"] .mm-res-explore-eyebrow {
  color: var(--violet-700);
}
.mm-res-explore-list {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.mm-res-explore-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: var(--r-sm);
  color: var(--text-muted);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: -0.005em;
  text-decoration: none;
  transition:
    background 120ms var(--ease),
    color 120ms var(--ease);
}
.mm-res-explore-link:hover {
  background: var(--hover-tint-soft);
  color: var(--text);
}
.mm-res-explore-icon {
  display: inline-grid;
  place-items: center;
  width: 16px;
  height: 16px;
  color: var(--text-dim);
  flex-shrink: 0;
}
.mm-res-explore-link:hover .mm-res-explore-icon {
  color: var(--violet-300);
}
:root[data-theme="light"] .mm-res-explore-link:hover .mm-res-explore-icon {
  color: var(--violet-600);
}
.mm-res-cards-4 {
  grid-template-columns: repeat(4, 1fr);
}

/* Resources responsive */
@media (max-width: 820px) {
  .mm-resources .mm-row-cards {
    grid-template-columns: repeat(2, 1fr);
  }
  .mm-res-company {
    grid-template-columns: 140px 1fr;
  }
  .mm-res-cards-4 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* Kit R1 — violet-300 never sits on paper; light mode uses 600/700 */
:root[data-theme="light"] .mm-rail-eyebrow,
:root[data-theme="light"] .mm-feature-eyebrow,
:root[data-theme="light"] .mm-foot a {
  color: var(--violet-700);
}
:root[data-theme="light"] .mm-tab[data-active="true"] .mm-tab-icon,
:root[data-theme="light"] .mm-card-icon {
  color: var(--violet-600);
}

/* ─── Mega menu — COLUMNS layout (Products → ten links in three groups) ───
   No rail, no tabs: a header, three columns of plain links, one foot link. */
.mm.mm-columns {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 20px 22px;
  min-height: 0;
}
.mm-columns-head .mm-rail-sub {
  margin-bottom: 0;
}
.mm-columns-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.mm-column {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.mm-column-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin: 0 0 6px 10px;
}
.mm-column-link {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 8px 10px;
  border-radius: var(--r-md);
  color: var(--text);
  text-decoration: none;
  transition: background 140ms var(--ease);
}
.mm-column-link:hover,
.mm-column-link:focus-visible {
  background: var(--hover-tint);
}
.mm-column-icon {
  display: inline-flex;
  margin-top: 2px;
  color: var(--violet-300);
}
:root[data-theme="light"] .mm-column-icon {
  color: var(--violet-700);
}
.mm-column-text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.mm-column-title {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.005em;
}
.mm-column-sub {
  font-size: 12px;
  color: var(--text-muted);
  line-height: 1.4;
}
.mm-columns-foot {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  width: 100%;
  padding: 12px 10px 2px;
  border-top: 1px solid var(--border-soft);
  color: var(--violet-300);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: color 140ms var(--ease);
}
:root[data-theme="light"] .mm-columns-foot {
  color: var(--violet-700);
}
.mm-columns-foot:hover {
  color: var(--text);
}
.mm-columns-foot svg {
  transition: transform 140ms var(--ease);
}
.mm-columns-foot:hover svg {
  transform: translateX(2px);
}
