/*
 * Mutual Trust public site: landing page (index.html) layout and illustration styling.
 * Loaded after /ds/css/index.css and /site.css. Like site.css it declares no colors of its own:
 * every color is a Sectigo design-system semantic token (or a color-mix() of two tokens), so the
 * DS `dark` class on <html> re-themes the page, including the inline hero illustration.
 * Components (.btn, .card, .code-block, .accordion-item, .admonition, .attr-label) come from the DS;
 * this file only arranges them and styles page-specific pieces (prefixed `mt-` / `flow__`).
 */

/* ------------------------------------------------------------------ Shared */
.home { --mt-max: 1200px; }
.home .wrap { max-width: var(--mt-max); }

.mt-section { padding-block: calc(var(--spacing-2xl) * 2); }
.mt-section--tight { padding-block: calc(var(--spacing-2xl) * 1.5); }
@media (min-width: 1024px) {
  .mt-section { padding-block: calc(var(--spacing-2xl) * 3); }
  .mt-section--tight { padding-block: calc(var(--spacing-2xl) * 2); }
}
.mt-section--muted {
  background-color: var(--surface-muted-faint);
  border-block: var(--border-width-thin) solid var(--border-default-subtle);
}
.mt-section--deep {
  background-color: var(--surface-secondary-strong);
  background-image: linear-gradient(170deg, var(--surface-secondary-strong) 30%, var(--gradient-default-stop-3));
  color: var(--text-body-primary-inverse-fixed);
  --border-focus: var(--text-body-primary-inverse-fixed);
}

.mt-eyebrow {
  margin-bottom: var(--spacing-sm);
  font-family: var(--font-family-body);
  font-size: var(--subhead-eyebrow-font-size);
  line-height: var(--subhead-eyebrow-line-height);
  font-weight: var(--font-weight-body-strong);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-heading-primary);
}
.mt-eyebrow--inverse { color: var(--icon-default-secondary); }

.mt-intro { max-width: 760px; margin-bottom: calc(var(--spacing-2xl) * 1.5); }
.mt-intro > :last-child { margin-bottom: 0; }
.mt-intro--center { margin-inline: auto; text-align: center; }
.mt-center { margin-inline: auto; }
.mt-intro .text-body-large { color: var(--text-body-primary); }

.mt-inverse-heading { color: var(--text-heading-primary-inverse); }
.mt-inverse-body { color: var(--text-body-secondary-inverse); }

.mt-mini-title {
  margin-bottom: var(--spacing-xs);
  font-size: var(--heading-h6-font-size);
  line-height: var(--heading-h6-line-height);
}

/* Visible focus for page-specific links (DS components carry their own rings). */
.mt-cutoff:focus-visible {
  outline: var(--focus-outline-width, 2px) solid var(--border-focus);
  outline-offset: 3px;
}

/* ------------------------------------------------------------------ Hero */
.mt-hero {
  position: relative;
  overflow: hidden;
  padding-block: calc(var(--spacing-2xl) * 1.5) calc(var(--spacing-2xl) * 2);
  border-top: var(--border-width-thin) solid color-mix(in srgb, var(--text-body-primary-inverse-fixed) 12%, transparent);
  background-image:
    radial-gradient(ellipse 70% 60% at 100% 0%, color-mix(in srgb, var(--gradient-default-stop-1) 45%, transparent), transparent 70%),
    radial-gradient(ellipse 60% 70% at 0% 100%, color-mix(in srgb, var(--gradient-default-stop-2) 30%, transparent), transparent 70%),
    linear-gradient(160deg, var(--surface-secondary-default), var(--gradient-default-stop-3));
}
@media (min-width: 1024px) {
  .mt-hero { padding-block: calc(var(--spacing-2xl) * 2.5) calc(var(--spacing-2xl) * 3); }
}
.mt-hero__grid {
  position: relative;
  display: grid;
  gap: calc(var(--spacing-2xl) * 1.5);
  align-items: center;
}
@media (min-width: 1024px) {
  .mt-hero__grid { grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); gap: calc(var(--spacing-2xl) * 2); }
}

.mt-hero__title {
  max-width: 16ch;
  margin-bottom: var(--spacing-xl);
  color: var(--text-heading-primary-inverse);
  letter-spacing: -0.01em;
  text-wrap: balance;
}
@media (min-width: 1024px) {
  /* The DS Large H1 (72px) is a full-width display size; in a two-column hero use the H1-secondary step. */
  .mt-hero__title {
    font-size: var(--heading-h1-secondary-font-size);
    line-height: var(--heading-h1-secondary-line-height);
  }
}
.mt-hero__lede {
  max-width: 56ch;
  font-size: var(--body-large-font-size);
  line-height: var(--body-large-line-height);
  color: var(--text-body-secondary-inverse);
}
.mt-hero__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-md);
  margin-block: var(--spacing-2xl) var(--spacing-xl);
}
@media (max-width: 479px) {
  .mt-hero__ctas .btn { width: 100%; justify-content: center; }
}
.mt-hero__proof {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-sm) var(--spacing-xl);
  padding: 0;
  list-style: none;
  font-size: var(--body-small-font-size);
  line-height: var(--body-small-line-height);
  color: var(--text-body-secondary-inverse);
}
.mt-hero__proof li { display: inline-flex; align-items: center; gap: var(--spacing-sm); }
.mt-hero__proof svg {
  width: var(--icon-size-sm);
  height: var(--icon-size-sm);
  flex-shrink: 0;
  fill: currentColor;
  color: var(--icon-default-secondary);
}

/* Cutoff callout ("countdown" pill) */
.mt-cutoff {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--spacing-sm) var(--spacing-md);
  max-width: 100%;
  margin-bottom: var(--spacing-xl);
  padding: var(--spacing-xs) var(--spacing-md) var(--spacing-xs) var(--spacing-xs);
  border: var(--border-width-thin) solid color-mix(in srgb, var(--text-body-primary-inverse-fixed) 28%, transparent);
  border-radius: var(--radius-full);
  background-color: color-mix(in srgb, var(--surface-secondary-strong) 55%, transparent);
  color: var(--text-body-primary-inverse-fixed);
  font-size: var(--body-small-font-size);
  line-height: var(--body-small-line-height);
  text-decoration: none;
  transition: border-color 160ms ease, background-color 160ms ease;
}
@media (max-width: 479px) {
  .mt-cutoff { border-radius: var(--radius-lg); padding: var(--spacing-sm) var(--spacing-md); }
}
.mt-cutoff:hover {
  color: var(--text-body-primary-inverse-fixed);
  border-color: var(--icon-default-secondary);
}
.mt-cutoff__tag {
  padding: 2px var(--spacing-md);
  border-radius: var(--radius-full);
  background-color: var(--surface-tertiary-default);
  color: var(--text-body-primary-fixed);
  font-weight: var(--font-weight-body-strong);
  font-size: var(--body-extra-small-font-size);
  line-height: var(--body-extra-small-line-height);
  letter-spacing: 0.04em;
}
.mt-cutoff__date { font-weight: var(--font-weight-body-strong); }
.mt-cutoff__days {
  margin-left: var(--spacing-sm);
  font-weight: var(--font-weight-body-standard);
  color: var(--text-body-secondary-inverse);
}
.mt-cutoff__days::before { content: "· "; }
.mt-cutoff__arrow { width: var(--icon-size-sm); height: var(--icon-size-sm); fill: currentColor; }

/* Hero illustration */
.mt-hero__visual {
  margin: 0;
  padding: var(--spacing-lg);
  border: var(--border-width-thin) solid color-mix(in srgb, var(--text-body-primary-inverse-fixed) 18%, transparent);
  border-radius: var(--radius-xl);
  background-color: var(--surface-elevated);
  box-shadow: var(--elevation-modal);
}
@media (min-width: 768px) { .mt-hero__visual { padding: var(--spacing-xl); } }
.mt-hero__visual .flow { display: block; width: 100%; height: auto; max-width: 560px; margin-inline: auto; }
/* Two drawings of the same flow: a stacked one sized for phones, a wide one from 600px. */
.mt-hero__visual .flow--wide { display: none; }
@media (min-width: 600px) {
  .mt-hero__visual .flow--compact { display: none; }
  .mt-hero__visual .flow--wide { display: block; }
}
.mt-hero__caption {
  max-width: 52ch;
  margin: var(--spacing-md) auto 0;
  text-align: center;
  font-size: var(--body-small-font-size);
  line-height: var(--body-small-line-height);
  color: var(--text-body-primary);
}

.flow text { font-family: var(--font-family-body); }
.flow__node { fill: var(--surface-primary); stroke: var(--border-default-regular); stroke-width: 1.5; }
.flow__node--gateway { fill: var(--surface-secondary-faint); stroke: var(--border-accent); stroke-width: 2; }
.flow__badge { fill: var(--surface-muted-light); }
.flow__badge--gateway { fill: var(--surface-primary); }
.flow__icon { color: var(--icon-accent); }
.flow__eyebrow {
  fill: var(--text-heading-primary);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.flow__title {
  fill: var(--text-heading-secondary);
  font-family: var(--font-family-display) !important;
  font-size: 19px;
  font-weight: 700;
}
.flow__mono {
  fill: var(--text-body-primary);
  font-family: "DM Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
  font-size: 13px;
}
.flow__mono--strong { font-size: 15px; font-weight: 500; fill: var(--text-heading-secondary); }
.flow__pill { fill: var(--surface-muted-light); }
.flow__pill-text { fill: var(--text-body-primary); font-size: 12px; font-weight: 600; }
.flow__wire { fill: none; stroke: var(--border-default-strong); stroke-width: 2; stroke-linecap: round; }
.flow__wire--stop { stroke: var(--border-error); stroke-dasharray: 3 5; }
.flow__packet {
  fill: none;
  stroke: var(--icon-default-secondary);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-dasharray: 6 74;
  animation: flow-packet 1.8s linear infinite;
}
.flow__lock { fill: var(--surface-secondary-default); stroke: var(--surface-elevated); stroke-width: 4; }
.flow__lock-icon { color: var(--text-body-primary-inverse-fixed); }
.flow__label { fill: var(--text-heading-secondary); font-size: 16px; font-weight: 700; }
.flow__small { fill: var(--text-body-primary); font-size: 12.5px; }
.flow__small--deny { fill: var(--text-error-strong); font-weight: 600; }
.flow__receipt { stroke-width: 1.5; }
.flow__receipt--allow { fill: var(--surface-success-subtle); stroke: var(--border-success); }
.flow__receipt--deny { fill: var(--surface-error-subtle); stroke: var(--border-error); }
.flow__verdict { font-size: 15px; font-weight: 700; letter-spacing: 0.04em; }
.flow__verdict--allow { fill: var(--text-success-strong); }
.flow__verdict--deny { fill: var(--text-error-strong); }
.flow__verdict-icon--allow { color: var(--icon-success-regular); }
.flow__verdict-icon--deny { color: var(--icon-error-regular); }
.flow__stop { stroke: var(--icon-error-regular); stroke-width: 3; stroke-linecap: round; }
.flow__receipt--deny { animation: flow-deny 3.6s ease-in-out infinite; transform-box: fill-box; }

@keyframes flow-packet { to { stroke-dashoffset: -80; } }
@keyframes flow-deny { 0%, 70%, 100% { stroke-width: 1.5; } 80% { stroke-width: 3.5; } }

@media (prefers-reduced-motion: reduce) {
  .flow__packet, .flow__receipt--deny { animation: none; }
  .mt-cutoff { transition: none; }
}

/* ------------------------------------------------------------------ Why now */
.mt-why {
  display: grid;
  gap: calc(var(--spacing-2xl) * 1.5);
  align-items: center;
}
@media (min-width: 900px) {
  .mt-why { grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.6fr); gap: calc(var(--spacing-2xl) * 2); align-items: start; }
  .mt-why .mt-why__clock { order: 0; margin-top: calc(var(--spacing-2xl) * 1.5); }
}
.mt-why__clock {
  order: 1;
  position: relative;
  padding: calc(var(--spacing-2xl) * 1.25) var(--spacing-xl) var(--spacing-xl);
  overflow: hidden;
  border: var(--border-width-thin) solid var(--border-default-subtle);
  border-radius: var(--radius-xl);
  background-color: var(--surface-primary);
  box-shadow: var(--elevation-card);
  text-align: center;
}
.mt-why__clock::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: var(--spacing-sm);
  background-image: linear-gradient(90deg, var(--surface-tertiary-default), var(--surface-tertiary-strong));
}
.mt-why__eyebrow {
  margin-bottom: var(--spacing-sm);
  font-size: var(--subhead-eyebrow-font-size);
  line-height: var(--subhead-eyebrow-line-height);
  font-weight: var(--font-weight-body-strong);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-body-primary);
}
.mt-why__date {
  margin-bottom: var(--spacing-sm);
  font-family: var(--font-family-display);
  font-weight: 700;
  font-size: var(--heading-h1-font-size);
  line-height: 1.05;
  color: var(--text-heading-primary);
  white-space: nowrap;
}
@media (min-width: 1024px) {
  .mt-why__date { font-size: var(--heading-h2-font-size); line-height: var(--heading-h2-line-height); }
}
.mt-why__count {
  display: inline-block;
  margin-top: var(--spacing-sm);
  padding: var(--spacing-xs) var(--spacing-md);
  border-radius: var(--radius-full);
  background-color: var(--surface-warning-subtle);
  color: var(--text-warning-strong);
  font-weight: var(--font-weight-body-strong);
  font-size: var(--body-small-font-size);
  line-height: var(--body-small-line-height);
}
.mt-why__copy h2 { max-width: 22ch; text-wrap: balance; }
.mt-why__split {
  display: grid;
  gap: var(--spacing-xl);
  margin-top: var(--spacing-xl);
  padding-top: var(--spacing-xl);
  border-top: var(--border-width-thin) solid var(--border-default-subtle);
}
@media (min-width: 640px) { .mt-why__split { grid-template-columns: 1fr 1fr; } }

/* ------------------------------------------------------------------ Problem / solution */
.mt-versus {
  display: grid;
  gap: var(--spacing-xl);
}
@media (min-width: 860px) { .mt-versus { grid-template-columns: 1fr 1fr; } }
.mt-versus__col {
  padding: var(--spacing-xl);
  border-radius: var(--radius-xl);
  border: var(--border-width-thin) solid var(--border-default-subtle);
}
@media (min-width: 768px) { .mt-versus__col { padding: calc(var(--spacing-2xl) * 1.25); } }
.mt-versus__col--before { background-color: var(--surface-muted-faint); }
.mt-versus__col--after {
  background-color: var(--surface-success-subtle);
  border-color: var(--border-success);
}
.mt-versus__title {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  margin-bottom: var(--spacing-lg);
  font-size: var(--heading-h4-font-size);
  line-height: var(--heading-h4-line-height);
}
.mt-versus__title svg { width: var(--icon-size-lg); height: var(--icon-size-lg); fill: currentColor; flex-shrink: 0; }
.mt-versus__col--before .mt-versus__title svg { color: var(--icon-error-regular); }
.mt-versus__col--after .mt-versus__title svg { color: var(--icon-success-regular); }
.mt-versus__list { padding: 0; list-style: none; }
.mt-versus__list li {
  position: relative;
  padding-left: var(--spacing-xl);
}
.mt-versus__list li + li { margin-top: var(--spacing-md); }
.mt-versus__list li::before {
  content: "";
  position: absolute;
  left: var(--spacing-xs);
  top: 0.6em;
  width: var(--spacing-sm);
  height: var(--spacing-sm);
  border-radius: var(--radius-full);
  background-color: var(--icon-error-regular);
}
.mt-versus__col--after .mt-versus__list li::before { background-color: var(--icon-success-regular); }

/* ------------------------------------------------------------------ Terminal showcase */
.mt-terminal-layout {
  display: grid;
  gap: calc(var(--spacing-2xl) * 1.5);
  align-items: center;
}
@media (min-width: 1024px) {
  .mt-terminal-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: calc(var(--spacing-2xl) * 2); }
}
.mt-terminal-layout__copy h2 { text-wrap: balance; }
.mt-terminal-steps {
  margin-block: var(--spacing-xl) var(--spacing-2xl);
  padding: 0;
  list-style: none;
  counter-reset: tstep;
  color: var(--text-body-secondary-inverse);
}
.mt-terminal-steps li {
  position: relative;
  padding-left: calc(var(--spacing-2xl) + var(--spacing-sm));
  counter-increment: tstep;
}
.mt-terminal-steps li + li { margin-top: var(--spacing-lg); }
.mt-terminal-steps li::before {
  content: counter(tstep);
  position: absolute;
  left: 0;
  top: 0;
  display: grid;
  place-items: center;
  width: var(--icon-size-lg);
  height: var(--icon-size-lg);
  border-radius: var(--radius-full);
  background-color: var(--icon-default-secondary);
  color: var(--text-body-primary-fixed);
  font-size: var(--body-small-font-size);
  font-weight: var(--font-weight-body-strong);
  line-height: 1;
}
.mt-terminal-steps strong { color: var(--text-body-primary-inverse-fixed); }
.mt-terminal-steps code {
  background-color: color-mix(in srgb, var(--text-body-primary-inverse-fixed) 14%, transparent);
  color: var(--text-body-primary-inverse-fixed);
}

.mt-terminal {
  min-width: 0;
  overflow: hidden;
  border-radius: var(--radius-xl);
  background-color: var(--surface-elevated);
  box-shadow: var(--elevation-modal);
  color: var(--text-body-primary);
}
.mt-terminal__bar {
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
  padding: var(--spacing-md) var(--spacing-lg);
  background-color: var(--surface-muted-light);
  border-bottom: var(--border-width-thin) solid var(--border-default-subtle);
}
.mt-terminal__dots { display: inline-flex; gap: 6px; flex-shrink: 0; }
.mt-terminal__dots span { width: 12px; height: 12px; border-radius: var(--radius-full); background-color: var(--icon-error-regular); }
.mt-terminal__dots span:nth-child(2) { background-color: var(--icon-warning-regular); }
.mt-terminal__dots span:nth-child(3) { background-color: var(--icon-success-regular); }
.mt-terminal__name {
  min-width: 0;
  font-size: var(--body-extra-small-font-size);
  line-height: var(--body-extra-small-line-height);
  color: var(--text-body-primary);
}
.mt-terminal__body { padding: var(--spacing-lg); }
@media (min-width: 768px) { .mt-terminal__body { padding: var(--spacing-xl); } }
/* Break long commands at spaces, not mid-URL (the DS multi-line block uses break-all for PEM data). */
.mt-terminal__body .code-block--multi .code-block__code { white-space: pre-wrap; word-break: normal; overflow-wrap: break-word; }
.mt-terminal__out {
  margin: var(--spacing-sm) 0 var(--spacing-lg);
  padding-left: var(--spacing-sm);
  overflow-x: auto;
  font-family: "DM Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
  line-height: 20px;
  white-space: pre-wrap;
  overflow-wrap: break-word;
  color: var(--text-body-primary);
}
.mt-terminal__out:last-child { margin-bottom: 0; }
.mt-out--strong { font-weight: 500; color: var(--text-heading-secondary); }
.mt-out--dim { color: var(--text-heading-primary); }
.mt-out--ok { font-weight: 500; color: var(--text-success-strong); }
.mt-out--deny { font-weight: 500; color: var(--text-error-strong); }
.mt-out--warn { font-weight: 500; color: var(--text-warning-strong); }

/* ------------------------------------------------------------------ How it works */
.mt-steps {
  display: grid;
  gap: var(--spacing-xl);
  padding: 0;
  list-style: none;
}
.mt-step {
  position: relative;
  padding-left: calc(var(--spacing-2xl) * 1.75);
}
.mt-step p { font-size: var(--body-small-font-size); line-height: var(--body-small-line-height); }
.mt-step__num {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: var(--radius-full);
  box-sizing: border-box;
  border: var(--border-width-medium) solid var(--border-accent);
  background-color: var(--surface-secondary-default);
  color: var(--text-body-primary-inverse-fixed);
  font-family: var(--font-family-display);
  font-weight: 700;
  font-size: var(--heading-h6-font-size);
  box-shadow: 0 0 0 6px var(--surface-page);
}
/* Rail connecting the numbers: vertical on small screens, horizontal from 1024px. */
.mt-step:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 19px;
  top: 40px;
  bottom: calc(var(--spacing-xl) * -1);
  width: var(--border-width-medium, 2px);
  background-color: var(--border-default-subtle);
}
.mt-step__title {
  margin-bottom: var(--spacing-xs);
  padding-top: var(--spacing-sm);
  font-size: var(--heading-h5-font-size);
  line-height: var(--heading-h5-line-height);
}
@media (min-width: 1024px) {
  .mt-steps { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--spacing-xl); }
  .mt-step { padding-left: 0; padding-top: calc(var(--spacing-2xl) * 2); }
  .mt-step:not(:last-child)::before {
    left: 40px;
    right: calc(var(--spacing-xl) * -1);
    top: 19px;
    bottom: auto;
    width: auto;
    height: var(--border-width-medium, 2px);
  }
  .mt-step__title { padding-top: 0; }
}

/* ------------------------------------------------------------------ Features */
.mt-features {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: var(--spacing-lg);
  padding: 0;
  list-style: none;
}
.mt-feature {
  padding: var(--spacing-xl);
  border: var(--border-width-thin) solid var(--border-default-subtle);
  border-radius: var(--radius-lg);
  background-color: var(--surface-primary);
  transition: border-color 160ms ease, transform 160ms ease;
}
.mt-feature:hover { border-color: var(--border-accent); }
@media (prefers-reduced-motion: no-preference) {
  .mt-feature:hover { transform: translateY(-2px); }
}
.mt-feature__icon {
  display: block;
  box-sizing: content-box;
  width: 40px;
  height: 40px;
  margin-bottom: var(--spacing-lg);
  padding: var(--spacing-md);
  border-radius: var(--radius-lg);
  background-color: var(--surface-secondary-faint);
  color: var(--icon-accent);
}
.mt-feature__title {
  margin-bottom: var(--spacing-sm);
  font-size: var(--heading-h5-font-size);
  line-height: var(--heading-h5-line-height);
}
.mt-feature p { font-size: var(--body-small-font-size); line-height: var(--body-small-line-height); }

/* ------------------------------------------------------------------ Gateways strip */
.mt-gateways {
  display: grid;
  gap: var(--spacing-xl);
  align-items: center;
}
@media (min-width: 1024px) { .mt-gateways { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr); gap: calc(var(--spacing-2xl) * 1.5); } }
.mt-gateways__copy h2 { margin-bottom: var(--spacing-sm); }
.mt-gateways__copy p { font-size: var(--body-small-font-size); line-height: var(--body-small-line-height); margin-bottom: var(--spacing-md); }
.mt-gateways__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 176px), 1fr));
  gap: var(--spacing-sm);
  padding: 0;
  list-style: none;
}
@media (max-width: 479px) { .mt-gateways__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mt-gw {
  border: var(--border-width-thin) solid var(--border-default-subtle);
  border-radius: var(--radius-md);
  background-color: var(--surface-elevated);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.mt-gw:hover { border-color: var(--border-default-regular); box-shadow: 0 1px 3px color-mix(in srgb, var(--text-body-primary) 10%, transparent); }
.mt-gw__name {
  min-width: 0;
  font-family: var(--font-family-display);
  font-weight: 700;
  font-size: var(--body-small-font-size);
  line-height: var(--body-small-line-height);
  color: var(--text-heading-secondary);
}
.mt-gw__arrow { flex: none; width: 14px; height: 14px; fill: currentColor; color: var(--text-body-secondary, currentColor); opacity: 0.55; transition: opacity 0.15s ease, transform 0.15s ease; }
.mt-gw:hover .mt-gw__arrow { opacity: 1; transform: translateX(2px); }

/* ------------------------------------------------------------------ Audiences */
.mt-audiences {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: var(--spacing-xl);
}
.mt-audience { height: 100%; }
.mt-audience .card__content { gap: var(--spacing-md); }
.mt-audience__icon { width: 48px; height: 48px; color: var(--icon-accent); }
.mt-audience__title { margin: 0; font-size: var(--heading-h4-font-size); line-height: var(--heading-h4-line-height); }
.mt-audience .checklist { margin-top: var(--spacing-sm); padding-top: var(--spacing-lg); border-top: var(--border-width-thin) solid var(--border-default-subtle); }
.mt-audience .checklist li { font-size: var(--body-small-font-size); line-height: var(--body-small-line-height); }

/* ------------------------------------------------------------------ Trust and evidence */
.mt-trust {
  display: grid;
  gap: calc(var(--spacing-2xl) * 1.5);
  align-items: start;
}
@media (min-width: 1024px) { .mt-trust { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: calc(var(--spacing-2xl) * 2); } }
.mt-facts {
  display: grid;
  gap: var(--spacing-lg);
  margin-block: var(--spacing-2xl);
}
@media (min-width: 640px) { .mt-facts { grid-template-columns: 1fr 1fr; } }
.mt-fact {
  padding: var(--spacing-lg) var(--spacing-lg) var(--spacing-lg) var(--spacing-xl);
  border-left: var(--border-width-thick) solid var(--border-accent);
  background-color: var(--surface-muted-faint);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
}
.mt-fact dt {
  margin-bottom: var(--spacing-xs);
  font-family: var(--font-family-display);
  font-weight: 700;
  font-size: var(--heading-h6-font-size);
  line-height: var(--heading-h6-line-height);
  color: var(--text-heading-secondary);
}
.mt-fact dd { margin: 0; font-size: var(--body-small-font-size); line-height: var(--body-small-line-height); }
.mt-fact--stat { border-left-color: var(--surface-tertiary-default); }
.mt-stats {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-sm) calc(var(--spacing-2xl) * 1.25);
  margin-block: var(--spacing-sm) var(--spacing-md);
}
.mt-stat { display: inline-flex; align-items: baseline; gap: var(--spacing-sm); }
.mt-stat__num {
  font-family: var(--font-family-display);
  font-weight: 700;
  font-size: var(--heading-h3-font-size);
  line-height: var(--heading-h3-line-height);
  color: var(--text-heading-primary);
  white-space: nowrap;
}
.mt-stat__label { font-weight: var(--font-weight-body-strong); color: var(--text-heading-secondary); }
.mt-trust__receipt { min-width: 0; }
@media (min-width: 1024px) { .mt-trust__receipt { position: sticky; top: var(--spacing-2xl); } }
.mt-trust__receipt .code-block__code { white-space: pre; overflow-x: auto; }
.mt-trust__note {
  margin-top: var(--spacing-md);
  font-size: var(--body-small-font-size);
  line-height: var(--body-small-line-height);
}

/* ------------------------------------------------------------------ Pricing */
.mt-plans {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr));
  gap: var(--spacing-xl);
  align-items: stretch;
}
.mt-plan { height: 100%; }
.mt-plan .card__content { flex: 1; gap: var(--spacing-sm); }
.mt-plan--featured {
  border-color: var(--border-accent);
  box-shadow: 0 0 0 1px var(--border-accent), var(--elevation-card);
}
.mt-plan__name { margin: 0; font-size: var(--heading-h5-font-size); line-height: var(--heading-h5-line-height); color: var(--text-heading-primary); }
.mt-plan__price {
  margin: 0;
  font-family: var(--font-family-display);
  font-weight: 700;
  font-size: var(--heading-h2-font-size);
  line-height: var(--heading-h2-line-height);
  color: var(--text-heading-secondary);
}
.mt-plan__per { font-size: var(--heading-h5-font-size); font-weight: 600; }
.mt-plan__unit {
  margin-bottom: var(--spacing-md);
  font-size: var(--body-small-font-size);
  line-height: var(--body-small-line-height);
}
.mt-plan .checklist { padding-top: var(--spacing-lg); border-top: var(--border-width-thin) solid var(--border-default-subtle); }
.mt-plan .checklist li { font-size: var(--body-small-font-size); line-height: var(--body-small-line-height); }
.mt-plan .card__footer { flex-wrap: wrap; justify-content: flex-start; }
.mt-plan__cta { width: 100%; justify-content: center; }
.mt-plan__contact { font-size: var(--body-small-font-size); line-height: var(--body-small-line-height); color: var(--text-heading-primary); font-weight: var(--font-weight-body-strong); }

/* ------------------------------------------------------------------ FAQ */
.mt-faq {
  display: grid;
  gap: var(--spacing-2xl);
}
@media (min-width: 1024px) {
  .mt-faq { grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr); gap: calc(var(--spacing-2xl) * 2); }
  .mt-faq__intro { position: sticky; top: var(--spacing-2xl); align-self: start; }
}
.mt-faq__q { margin: 0; font: inherit; }
.mt-faq__list .accordion-item__content p { max-width: 68ch; }

/* ------------------------------------------------------------------ Final CTA */
.mt-final {
  padding-block: calc(var(--spacing-2xl) * 2.5);
  text-align: center;
  background-image:
    radial-gradient(ellipse 60% 90% at 50% 120%, color-mix(in srgb, var(--gradient-default-stop-1) 40%, transparent), transparent 70%),
    linear-gradient(180deg, var(--surface-secondary-default), var(--gradient-default-stop-3));
  border-bottom: var(--border-width-thin) solid color-mix(in srgb, var(--text-body-primary-inverse-fixed) 12%, transparent);
}
.mt-final__inner { display: flex; flex-direction: column; align-items: center; }
.mt-final__title {
  max-width: 24ch;
  color: var(--text-heading-primary-inverse);
  text-wrap: balance;
}
.mt-final__lede {
  max-width: 56ch;
  margin-top: var(--spacing-sm);
  font-size: var(--body-large-font-size);
  line-height: var(--body-large-line-height);
  color: var(--text-body-secondary-inverse);
}
.mt-final__ctas { justify-content: center; margin-bottom: 0; }

/* Gateway strip entries link to their guides. */
.mt-gw__link { display: flex; align-items: center; justify-content: space-between; gap: var(--spacing-sm); padding: var(--spacing-sm) var(--spacing-md); min-height: 48px; color: inherit; text-decoration: none; border-radius: var(--radius-md); }
.mt-gw__link:focus-visible { outline: 2px solid var(--border-focus); outline-offset: 2px; }
.mt-gw__link:hover .mt-gw__name { text-decoration: underline; }
