@import url("styles/tokens.generated.css");
/* Pages marketing Tramya. Contrat semantic-only + BEM tm-*. */

.tm-marketing {
  margin: 0;
  color: var(--tm-semantic-text-primary);
  background: var(--tm-semantic-surface-canvas);
  font: var(--tm-semantic-type-body);
}


.tm-marketing a { color: inherit; }
.tm-marketing .tm-button--primary { color: var(--tm-semantic-action-primary-fg); }

.tm-marketing img { display: block; max-inline-size: 100%; }

.tm-marketing h1,
.tm-marketing h2,
.tm-marketing h3,
.tm-marketing p { margin-block-start: 0; }


.tm-marketing :focus-visible {
  outline: none;
  box-shadow: var(--tm-semantic-shadow-focus);
}


.tm-marketing__main,
.tm-marketing-footer {
  inline-size: var(--tm-runtime-rail);
  margin-inline: auto;
  padding-inline: var(--tm-runtime-page-gutter);
}


.tm-marketing__main { padding-block: var(--tm-runtime-section-space); }


.tm-breadcrumbs {
  display: flex;
  align-items: center;
  gap: var(--tm-semantic-spacing-inline-sm);
  margin-block-end: var(--tm-semantic-spacing-section);
  color: var(--tm-semantic-text-secondary);
  font: var(--tm-semantic-type-meta);
}


.tm-breadcrumbs a { min-block-size: var(--tm-semantic-size-touch); display: inline-flex; align-items: center; }

.tm-breadcrumbs i { font-size: var(--tm-semantic-size-icon-sm); }


.tm-marketing-hero {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--tm-semantic-spacing-page);
  align-items: start;
  padding-block: var(--tm-semantic-spacing-stack-xl) var(--tm-runtime-section-space);
  border-block-end: var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-subtle);
}


.tm-marketing-hero--centered {
  grid-template-columns: minmax(0, 1fr);
}


.tm-marketing-hero__copy { max-inline-size: var(--tm-semantic-size-reading-max); }

.tm-marketing-hero--centered .tm-marketing-hero__copy { max-inline-size: none; }


.tm-marketing-hero__eyebrow,
.tm-section__eyebrow,
.tm-pricing-card__name {
  margin-block-end: var(--tm-semantic-spacing-stack-lg);
  color: var(--tm-semantic-text-secondary);
  font: var(--tm-semantic-type-meta);
  letter-spacing: var(--tm-runtime-tracking-eyebrow);
  text-transform: uppercase;
}


.tm-marketing-hero h1 {
  margin-block-end: var(--tm-semantic-spacing-stack-xl);
  font-size: var(--tm-runtime-display-xl);
  font-weight: 700;
  line-height: var(--tm-runtime-leading-display);
  letter-spacing: var(--tm-runtime-tracking-display);
  text-wrap: balance;
}


.tm-marketing-hero__copy > p:not(.tm-marketing-hero__eyebrow) {
  max-inline-size: var(--tm-semantic-size-reading-max);
  margin-block-end: 0;
  color: var(--tm-semantic-text-secondary);
  font-size: var(--tm-runtime-lede);
  line-height: var(--tm-runtime-leading-lede);
}


.tm-marketing-hero__actions,
.tm-action-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--tm-semantic-spacing-inline-md);
  margin-block-start: var(--tm-semantic-spacing-stack-xl);
}


.tm-marketing-hero__proof,
.tm-media-frame {
  color: var(--tm-semantic-text-primary);
  overflow: hidden;
  padding: var(--tm-semantic-spacing-stack-xl);
  border: var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-default);
  border-radius: var(--tm-semantic-radius-panel);
  background: var(--tm-semantic-surface-panel);
  box-shadow: var(--tm-semantic-shadow-raised);
}


.tm-marketing-hero__proof > i {
  color: var(--tm-semantic-text-primary);
  font-size: var(--tm-semantic-size-icon-lg);
}


.tm-marketing-hero__proof h2 {
  margin-block: var(--tm-semantic-spacing-stack-xl) var(--tm-semantic-spacing-stack-md);
  font-size: var(--tm-runtime-display-md);
  font-weight: 650;
  line-height: var(--tm-runtime-leading-title);
  letter-spacing: var(--tm-runtime-tracking-display);
}


.tm-marketing-hero__proof p { color: var(--tm-semantic-text-secondary); }


.tm-proof-list {
  display: grid;
  gap: var(--tm-semantic-spacing-stack-sm);
  margin-block-start: var(--tm-semantic-spacing-stack-xl);
  padding-block-start: var(--tm-semantic-spacing-stack-lg);
  border-block-start: var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-subtle);
}


.tm-proof-list .tm-proof-list__item {
  display: flex;
  align-items: center;
  gap: var(--tm-semantic-spacing-inline-sm);
  min-block-size: var(--tm-semantic-size-control-md);
  color: var(--tm-semantic-text-secondary);
  font: var(--tm-semantic-type-label);
}


.tm-proof-list .tm-proof-list__item i { color: var(--tm-semantic-text-primary); font-size: var(--tm-semantic-size-icon-md); }


.tm-section {
  padding-block: var(--tm-semantic-spacing-page);
  border-block-end: var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-subtle);
}


.tm-section--split {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  gap: var(--tm-semantic-spacing-page);
  align-items: start;
}


.tm-section__intro { position: sticky; inset-block-start: var(--tm-runtime-sticky-offset); align-self: start; max-inline-size: var(--tm-semantic-size-reading-max); }

.tm-section__intro h2,
.tm-section > h2,
.tm-marketing-cta h2 {
  margin-block-end: var(--tm-semantic-spacing-stack-xl);
  font-size: var(--tm-runtime-display-lg);
  font-weight: 700;
  line-height: var(--tm-runtime-leading-display);
  letter-spacing: var(--tm-runtime-tracking-display);
  text-wrap: balance;
}


.tm-section__intro > p:not(.tm-section__eyebrow) { color: var(--tm-semantic-text-secondary); font-size: var(--tm-runtime-lede); line-height: var(--tm-runtime-leading-lede); }


.tm-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--tm-semantic-spacing-stack-lg);
}


.tm-card,
.tm-pricing-card {
  padding: var(--tm-semantic-spacing-stack-xl);
  border: var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-default);
  border-radius: var(--tm-semantic-radius-panel);
  background: var(--tm-semantic-surface-panel);
}


.tm-card--accent {
  border-color: var(--tm-semantic-border-selected);
  background: var(--tm-semantic-surface-selected);
}

.tm-pricing-card--featured {
  color: var(--tm-semantic-text-on-accent);
  border-color: var(--tm-semantic-border-selected);
  background: var(--tm-semantic-action-primary-bg);
}

.tm-pricing-card.tm-pricing-card--featured .tm-pricing-card__name,
.tm-pricing-card.tm-pricing-card--featured p,
.tm-pricing-card.tm-pricing-card--featured li,
.tm-pricing-card.tm-pricing-card--featured .tm-pricing-card__price span,
.tm-pricing-card.tm-pricing-card--featured .tm-pricing-card__price small {
  color: color-mix(in srgb, var(--tm-semantic-text-on-accent) 78%, var(--tm-semantic-action-primary-bg));
}

.tm-pricing-card.tm-pricing-card--featured .tm-pricing-card__features { border-color: color-mix(in srgb, var(--tm-semantic-text-on-accent) 32%, var(--tm-semantic-action-primary-bg)); }
.tm-pricing-card.tm-pricing-card--featured .tm-pricing-card__features li::before { color: var(--tm-semantic-text-on-accent); }


.tm-card__icon {
  display: grid;
  place-items: center;
  inline-size: var(--tm-semantic-size-control-lg);
  block-size: var(--tm-semantic-size-control-lg);
  margin-block-end: var(--tm-semantic-spacing-stack-lg);
  color: var(--tm-semantic-text-on-accent);
  border-radius: var(--tm-semantic-radius-control);
  background: var(--tm-semantic-surface-selected);
  font-size: var(--tm-semantic-size-icon-lg);
}


.tm-card h3,
.tm-pricing-card h2,
.tm-pricing-card h3 { margin-block-end: var(--tm-semantic-spacing-stack-md); font-size: var(--tm-runtime-display-md); font-weight: 650; line-height: var(--tm-runtime-leading-title); letter-spacing: var(--tm-runtime-tracking-display); }

.tm-card p,
.tm-card li,
.tm-pricing-card p,
.tm-pricing-card li { color: var(--tm-semantic-text-secondary); font-size: var(--tm-runtime-body-lg); line-height: var(--tm-runtime-leading-body); }


.tm-list {
  display: grid;
  gap: var(--tm-semantic-spacing-stack-md);
  margin: 0;
  padding: 0;
  list-style: none;
}


.tm-list__item {
  display: grid;
  grid-template-columns: var(--tm-semantic-size-control-sm) minmax(0, 1fr);
  gap: var(--tm-semantic-spacing-inline-md);
  align-items: start;
  min-block-size: var(--tm-semantic-size-control-lg);
  color: var(--tm-semantic-text-secondary);
}


.tm-list__item > i {
  display: grid;
  place-items: center;
  inline-size: var(--tm-semantic-size-control-sm);
  block-size: var(--tm-semantic-size-control-sm);
  color: var(--tm-semantic-text-on-accent);
  border-radius: var(--tm-semantic-radius-control);
  background: var(--tm-semantic-surface-selected);
  font-size: var(--tm-semantic-size-icon-md);
}


.tm-list__item strong { color: var(--tm-semantic-text-primary); }

.tm-list__note { margin-block-start: var(--tm-semantic-spacing-stack-xl); color: var(--tm-semantic-text-secondary); }


.tm-pricing-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--tm-semantic-spacing-stack-lg);
}


.tm-pricing-card { display: flex; flex-direction: column; }

.tm-pricing-card__summary { min-block-size: calc(var(--tm-semantic-size-control-lg) + var(--tm-semantic-spacing-stack-xl)); }


.tm-pricing-card__price {
  display: grid;
  gap: var(--tm-semantic-spacing-stack-xs);
  margin-block: var(--tm-semantic-spacing-stack-xl);
}


.tm-pricing-card__price b { font-size: var(--tm-runtime-display-md); font-weight: 650; line-height: var(--tm-runtime-leading-title); letter-spacing: var(--tm-runtime-tracking-display); }

.tm-pricing-card__price span,
.tm-pricing-card__price small { color: var(--tm-semantic-text-secondary); font: var(--tm-semantic-type-meta); }


.tm-pricing-card__features {
  display: grid;
  gap: var(--tm-semantic-spacing-stack-md);
  margin: 0 0 var(--tm-semantic-spacing-stack-xl);
  padding: var(--tm-semantic-spacing-stack-xl) 0 0;
  border-block-start: var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-subtle);
  list-style: none;
}


.tm-pricing-card__features li { display: flex; gap: var(--tm-semantic-spacing-inline-sm); }

.tm-pricing-card__features li::before { color: var(--tm-semantic-text-primary); content: "✓"; font-weight: 700; }

.tm-pricing-card .tm-button { inline-size: 100%; margin-block-start: auto; }

.tm-pricing-card--featured .tm-button--primary { color: var(--tm-semantic-text-inverse); border-color: var(--tm-semantic-surface-inverse); background: var(--tm-semantic-surface-inverse); }


.tm-notice {
  margin-block-start: var(--tm-semantic-spacing-stack-xl);
  padding: var(--tm-semantic-spacing-stack-lg);
  color: var(--tm-semantic-text-secondary);
  border: var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-default);
  border-radius: var(--tm-semantic-radius-control);
  background: var(--tm-semantic-surface-panel);
}


.tm-comparison-wrap { min-inline-size: 0; overflow-x: auto; border-radius: var(--tm-semantic-radius-panel); }

.tm-comparison { inline-size: 100%; border-collapse: collapse; background: var(--tm-semantic-surface-panel); }

.tm-comparison th,
.tm-comparison td { min-inline-size: calc(var(--tm-semantic-size-control-lg) * 3); padding: var(--tm-semantic-spacing-stack-lg); border-block-end: var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-subtle); text-align: start; vertical-align: top; }

.tm-comparison th { color: var(--tm-semantic-text-primary); font: var(--tm-semantic-type-label); }

.tm-comparison td { color: var(--tm-semantic-text-secondary); font: var(--tm-semantic-type-body); }

.tm-comparison td:first-child { color: var(--tm-semantic-text-primary); font: var(--tm-semantic-type-body-strong); }


.tm-faq { max-inline-size: var(--tm-semantic-size-reading-max); }

.tm-disclosure { border-block-start: var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-subtle); }

.tm-disclosure:last-child { border-block-end: var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-subtle); }

.tm-disclosure__summary { display: flex; align-items: center; justify-content: space-between; gap: var(--tm-semantic-spacing-inline-lg); min-block-size: var(--tm-semantic-size-touch); padding-block: var(--tm-semantic-spacing-stack-lg); font: var(--tm-semantic-type-label); cursor: pointer; list-style: none; }

.tm-disclosure__summary::-webkit-details-marker { display: none; }

.tm-disclosure__summary::after { content: "+"; font-size: var(--tm-semantic-size-icon-lg); }

.tm-disclosure[open] .tm-disclosure__summary::after { content: "−"; }

.tm-disclosure__body { margin-block-end: var(--tm-semantic-spacing-stack-xl); color: var(--tm-semantic-text-secondary); }


.tm-marketing-cta {
  margin-block-start: var(--tm-semantic-spacing-page);
  padding: var(--tm-semantic-spacing-page);
  color: var(--tm-runtime-band-text);
  border: var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-subtle);
  border-radius: var(--tm-semantic-radius-panel);
  background: var(--tm-runtime-band-surface);
}


.tm-marketing-cta .tm-button--secondary { color: var(--tm-runtime-band-text); border-color: var(--tm-semantic-border-strong); background: transparent; }

.tm-marketing-cta .tm-button--primary { color: var(--tm-semantic-action-primary-fg); border-color: var(--tm-semantic-action-primary-bg); background: var(--tm-semantic-action-primary-bg); }

.tm-marketing-cta .tm-button { min-block-size: var(--tm-semantic-size-touch); }


.tm-marketing-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: var(--tm-semantic-spacing-stack-xl);
  align-items: start;
  padding-block: var(--tm-semantic-spacing-section);
  border-block-start: var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-subtle);
}


.tm-marketing-footer p { margin-block: var(--tm-semantic-spacing-stack-xs) 0; color: var(--tm-semantic-text-secondary); }

.tm-marketing-footer__brand { display: block; }

.tm-marketing-footer__nav { display: flex; flex-wrap: wrap; justify-content: end; gap: var(--tm-semantic-spacing-inline-lg); }

.tm-marketing-footer__nav a { min-block-size: var(--tm-semantic-size-touch); display: inline-flex; align-items: center; color: var(--tm-semantic-text-secondary); font: var(--tm-semantic-type-label); }


.tm-quote-layout { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: var(--tm-semantic-spacing-page); align-items: start; }

.tm-quote-form { display: grid; gap: var(--tm-semantic-spacing-stack-lg); max-inline-size: var(--tm-semantic-size-dialog-md); padding: var(--tm-semantic-spacing-stack-xl); border: var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-default); border-radius: var(--tm-semantic-radius-panel); background: var(--tm-semantic-surface-panel); }

.tm-quote-form__status { padding: var(--tm-semantic-spacing-stack-sm); border-radius: var(--tm-semantic-radius-control); font: var(--tm-semantic-type-body); }

.tm-quote-form__status.ok { color: var(--tm-semantic-feedback-success); background: var(--tm-semantic-feedback-success-surface); }

.tm-quote-form__status.err { color: var(--tm-semantic-feedback-danger); background: var(--tm-semantic-feedback-danger-surface); }

.tm-quote-layout__privacy { color: var(--tm-semantic-text-secondary); }


/* Page d'accueil : variantes de composition qui conservent les hooks historiques. */
.tm-home-hero { padding-block: var(--tm-semantic-spacing-page); }

.tm-home-hero .tm-media-frame { padding: 0; }

.tm-home-section__heading { max-inline-size: var(--tm-semantic-size-reading-max); margin-block-end: var(--tm-semantic-spacing-section); }

.tm-home-section__heading h2 { margin-block-end: var(--tm-semantic-spacing-stack-lg); font: var(--tm-semantic-type-display); }

.tm-home-section__heading p { color: var(--tm-semantic-text-secondary); }

.tm-source-wall,
.tm-integration-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--tm-semantic-spacing-stack-md); }

.tm-source-wall > *,
.tm-integration-grid > * { min-block-size: var(--tm-semantic-size-touch); }

.tm-handoff { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--tm-semantic-spacing-stack-lg); align-items: stretch; }

.tm-handoff > * { padding: var(--tm-semantic-spacing-stack-xl); border: var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-default); border-radius: var(--tm-semantic-radius-panel); background: var(--tm-semantic-surface-panel); }

.tm-product-showcase { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: var(--tm-semantic-spacing-stack-xl); }

.tm-product-proof { display: grid; gap: var(--tm-semantic-spacing-stack-md); }

.tm-product-proof > article { padding: var(--tm-semantic-spacing-stack-lg); border-block-end: var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-subtle); }

.tm-product-proof i { color: var(--tm-semantic-text-primary); font-size: var(--tm-semantic-size-icon-lg); }

.tm-uses-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--tm-semantic-spacing-stack-lg); }

.tm-uses-grid > article { padding: var(--tm-semantic-spacing-stack-xl); border: var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-default); border-radius: var(--tm-semantic-radius-panel); background: var(--tm-semantic-surface-panel); }

.tm-privacy { display: grid; grid-template-columns: auto minmax(0, 2fr) minmax(0, 1fr); gap: var(--tm-semantic-spacing-stack-xl); align-items: start; background: var(--tm-semantic-surface-selected); }

.tm-privacy__facts { display: grid; gap: var(--tm-semantic-spacing-stack-md); }

.tm-privacy__facts span { display: flex; gap: var(--tm-semantic-spacing-inline-sm); color: var(--tm-semantic-text-secondary); }

.tm-free-plan { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: var(--tm-semantic-spacing-stack-xl); align-items: center; padding: var(--tm-semantic-spacing-stack-xl); border: var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-selected); border-radius: var(--tm-semantic-radius-panel); background: var(--tm-semantic-surface-selected); }

.tm-home-pricing { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-block-start: var(--tm-semantic-spacing-stack-lg); }

.tm-billing-switch { display: inline-flex; gap: var(--tm-semantic-spacing-inline-xs); margin-block: var(--tm-semantic-spacing-stack-lg); padding: var(--tm-semantic-spacing-stack-xs); border: var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-default); border-radius: var(--tm-semantic-radius-control); }

.tm-billing-switch button { min-block-size: var(--tm-semantic-size-control-sm); padding-inline: var(--tm-semantic-spacing-inline-md); color: var(--tm-semantic-action-ghost-fg); border: 0; border-radius: var(--tm-semantic-radius-control); background: transparent; font: var(--tm-semantic-type-label); }

.tm-billing-switch button.active { color: var(--tm-semantic-text-primary); background: var(--tm-semantic-surface-selected); }

.tm-pricing-card--featured .tm-billing-switch { border-color: color-mix(in srgb, var(--tm-semantic-text-on-accent) 34%, var(--tm-semantic-action-primary-bg)); }

.tm-pricing-card--featured .tm-billing-switch button { color: var(--tm-semantic-text-on-accent); }

.tm-pricing-card--featured .tm-billing-switch button.active { color: var(--tm-semantic-text-inverse); background: var(--tm-semantic-surface-inverse); }

.tm-restore-form { display: grid; gap: var(--tm-semantic-spacing-stack-sm); max-inline-size: var(--tm-semantic-size-dialog-md); margin-block-start: var(--tm-semantic-spacing-section); }

.tm-restore-form > div { display: flex; gap: var(--tm-semantic-spacing-inline-sm); }

.tm-home-faq { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: var(--tm-semantic-spacing-page); }


@media (max-width: 960px) {
  .tm-marketing-hero,
  .tm-section--split,
  .tm-quote-layout,
  .tm-product-showcase,
  .tm-home-faq { grid-template-columns: minmax(0, 1fr); min-block-size: auto; }
  .tm-pricing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tm-source-wall,
  .tm-integration-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tm-privacy { grid-template-columns: auto minmax(0, 1fr); }
  .tm-privacy__facts { grid-column: 1 / -1; }
}


@media (max-width: 720px) {
  .tm-comparison-wrap { overflow-x: visible; }
  .tm-comparison,
  .tm-comparison tbody,
  .tm-comparison tr,
  .tm-comparison td { display: block; inline-size: 100%; }
  .tm-comparison thead { position: absolute; inline-size: var(--tm-semantic-size-visually-hidden); block-size: var(--tm-semantic-size-visually-hidden); margin: calc(var(--tm-semantic-size-visually-hidden) * -1); overflow: hidden; clip: rect(0, 0, 0, 0); }
  .tm-comparison tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-block-end: var(--tm-semantic-spacing-stack-md); overflow: hidden; border: var(--tm-semantic-border-width-default) solid var(--tm-semantic-border-default); border-radius: var(--tm-semantic-radius-panel); }
  .tm-comparison td { min-inline-size: 0; padding: var(--tm-semantic-spacing-stack-md) var(--tm-semantic-spacing-inline-md); border-block-end: 0; }
  .tm-comparison td:first-child { grid-column: 1 / -1; background: var(--tm-semantic-surface-subtle); }
  .tm-comparison td[data-label]::before { display: block; margin-block-end: var(--tm-semantic-spacing-stack-xxs); color: var(--tm-semantic-text-tertiary); content: attr(data-label); font: var(--tm-semantic-type-meta); text-transform: uppercase; }
}


@media (max-width: 640px) {
  .tm-marketing__main,
  .tm-marketing-footer { inline-size: 100%; padding-inline: var(--tm-semantic-spacing-stack-xl); }
  .tm-marketing__main { padding-block: var(--tm-semantic-spacing-section); }
  .tm-section__intro { position: static; }
  .tm-marketing-hero,
  .tm-section,
  .tm-marketing-cta { padding-block: var(--tm-semantic-spacing-section); }
  .tm-marketing-cta { padding-inline: var(--tm-semantic-spacing-stack-xl); }
  .tm-action-list .tm-button { inline-size: 100%; }
  .tm-card-grid,
  .tm-pricing-grid,
  .tm-source-wall,
  .tm-integration-grid,
  .tm-handoff,
  .tm-uses-grid,
  .tm-marketing-footer { grid-template-columns: minmax(0, 1fr); }
  .tm-marketing-footer__nav { justify-content: start; }
  .tm-free-plan { grid-template-columns: minmax(0, 1fr); }
  .tm-restore-form > div { flex-direction: column; }
  .tm-privacy { grid-template-columns: minmax(0, 1fr); }
  .tm-privacy__facts { grid-column: auto; }
}


@media (prefers-reduced-motion: reduce) {
  .tm-marketing *,
  .tm-marketing *::before,
  .tm-marketing *::after { scroll-behavior: auto !important; transition-duration: 0ms !important; animation-duration: 0ms !important; }
}
