/* ============================================================
   tomaier — teaser landing
   Все селекторы изолированы внутри .tomaier-landing,
   чтобы не влиять на остальные страницы WordPress и тему Astra.

   1. Токены  2. База  3. Кнопки  4. Мини-навигация  5. Hero
   6. Ритм секций  7. Услуги  8. Процесс  9. Проекты  10. Скоро
   11. Обо мне  12. Контакт  13. Подвал лендинга  14. Motion / a11y
   ============================================================ */

/* ----- 1. ТОКЕНЫ ----- */
.tomaier-landing {
  --tm-bg: #F7F2E8;
  --tm-bg-soft: #F1E9DA;
  --tm-surface: #FFFFFF;
  --tm-text: #2A2A28;
  --tm-muted: #5C5A52;
  --tm-brand: #6A81DD;
  --tm-brand-text: #5D72C2;
  --tm-brand-dark: #302654;
  --tm-accent: #E85F43;
  --tm-accent-deep: #C8482D;
  --tm-coral: #E8836F;
  --tm-mint: #EAF4F5;
  --tm-border: #E6DECF;
  --tm-border-strong: #D6CBB6;

  /* Шрифты: локальные системные. Fraunces/Manrope можно подключить позже
     локально (например, плагином OMGF) — без прямой загрузки с Google Fonts. */
  --tm-font-display: Georgia, "Times New Roman", serif;
  --tm-font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  --tm-fs-h1: clamp(2rem, 1.35rem + 2.9vw, 3.5rem);
  --tm-fs-h2: clamp(1.65rem, 1.25rem + 1.8vw, 2.5rem);
  --tm-fs-h3: clamp(1.12rem, 1.02rem + .4vw, 1.3rem);
  --tm-fs-lead: clamp(1.05rem, 1rem + .35vw, 1.22rem);
  --tm-fs-body: 1.0625rem;
  --tm-fs-small: .9rem;

  --tm-sp-xs: .5rem;
  --tm-sp-sm: .75rem;
  --tm-sp-md: 1rem;
  --tm-sp-lg: 1.5rem;
  --tm-sp-xl: 2rem;
  --tm-sp-2xl: clamp(2.25rem, 1.7rem + 2.4vw, 3.5rem);

  --tm-max: 68rem;
  --tm-r-sm: 10px;
  --tm-r-md: 16px;
  --tm-r-lg: 22px;
  --tm-r-pill: 999px;
  --tm-shadow: 0 2px 10px rgba(42, 42, 40, .06);
  --tm-shadow-lift: 0 10px 28px rgba(42, 42, 40, .10);
}

/* ----- 2. БАЗА ----- */
/* Корневой элемент включён намеренно: без него padding-inline прибавляется
   к width:100% и на узких экранах появляется горизонтальная прокрутка. */
.tomaier-landing,
.tomaier-landing *,
.tomaier-landing *::before,
.tomaier-landing *::after { box-sizing: border-box; }

.tomaier-landing {
  position: relative;
  font-family: var(--tm-font-body);
  font-size: var(--tm-fs-body);
  line-height: 1.6;
  color: var(--tm-text);
  background: var(--tm-bg);
  width: 100%;
  max-width: var(--tm-max);
  margin-inline: auto;
  padding-inline: var(--tm-sp-md);
  padding-block: var(--tm-sp-lg) var(--tm-sp-2xl);
  overflow-x: clip; /* страховка от горизонтальной прокрутки на мобильном */
}

@media (min-width: 48rem) {
  .tomaier-landing { padding-inline: var(--tm-sp-lg); }
}

.tomaier-landing p { margin: 0 0 var(--tm-sp-md); text-wrap: pretty; }
.tomaier-landing p:last-child { margin-bottom: 0; }
.tomaier-landing ul,
.tomaier-landing ol { margin: 0; padding: 0; list-style: none; }
.tomaier-landing img { display: block; max-width: 100%; height: auto; }
.tomaier-landing a { color: var(--tm-brand-text); }

.tomaier-landing h1,
.tomaier-landing h2,
.tomaier-landing h3 {
  font-family: var(--tm-font-display);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -.01em;
  color: var(--tm-text);
  margin: 0 0 var(--tm-sp-md);
  text-wrap: balance;
}

.tomaier-landing .tm-h2 { font-size: var(--tm-fs-h2); }

.tomaier-landing .tm-lead {
  font-size: var(--tm-fs-lead);
  line-height: 1.5;
  color: var(--tm-muted);
  max-width: 54ch;
}

.tomaier-landing .tm-eyebrow {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-family: var(--tm-font-body);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--tm-brand-text);
  margin-bottom: var(--tm-sp-sm);
}

.tomaier-landing .tm-eyebrow__dot {
  width: 8px;
  height: 8px;
  flex: none;
  border-radius: 50%;
  background: var(--tm-coral);
}

/* Skip-link лендинга (Astra выводит собственный на #content). */
.tomaier-landing .tm-skip {
  position: absolute;
  left: var(--tm-sp-md);
  top: var(--tm-sp-xs);
  z-index: 20;
  background: var(--tm-brand-dark);
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  padding: var(--tm-sp-sm) var(--tm-sp-md);
  border-radius: var(--tm-r-sm);
  transform: translateY(-250%);
}
.tomaier-landing .tm-skip:focus { transform: none; }

/* ----- 3. КНОПКИ ----- */
.tomaier-landing .tm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: .7em 1.5em;
  font-family: var(--tm-font-body);
  font-size: var(--tm-fs-body);
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  border: 2px solid transparent;
  border-radius: var(--tm-r-pill);
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .12s ease;
}

.tomaier-landing .tm-btn--primary {
  background: var(--tm-accent);
  border-color: var(--tm-accent);
  color: #fff;
}
.tomaier-landing .tm-btn--primary:hover,
.tomaier-landing .tm-btn--primary:focus-visible {
  background: var(--tm-accent-deep);
  border-color: var(--tm-accent-deep);
  color: #fff;
}

.tomaier-landing .tm-btn--ghost {
  background: rgba(255, 255, 255, .8);
  border-color: var(--tm-border-strong);
  color: var(--tm-brand-dark);
}
.tomaier-landing .tm-btn--ghost:hover,
.tomaier-landing .tm-btn--ghost:focus-visible {
  background: #fff;
  border-color: var(--tm-brand);
  color: var(--tm-brand-dark);
}

.tomaier-landing .tm-btn--sm { min-height: 44px; padding: .5em 1.1em; font-size: var(--tm-fs-small); }
.tomaier-landing .tm-btn--lg { min-height: 54px; padding: .85em 1.9em; }
.tomaier-landing .tm-btn:active { transform: translateY(1px); }

/* ----- 4. МИНИ-НАВИГАЦИЯ ПО СЕКЦИЯМ ----- */
.tomaier-landing .tm-subnav {
  border: 1px solid var(--tm-border);
  background: var(--tm-surface);
  border-radius: var(--tm-r-pill);
  padding: var(--tm-sp-xs) var(--tm-sp-sm);
  margin-bottom: var(--tm-sp-lg);
  box-shadow: var(--tm-shadow);
}

.tomaier-landing .tm-subnav__inner {
  display: flex;
  align-items: center;
  gap: var(--tm-sp-sm);
}

.tomaier-landing .tm-subnav__brand {
  font-weight: 700;
  font-size: 1.15rem;
  color: var(--tm-brand-dark);
  text-decoration: none;
  padding-inline: var(--tm-sp-xs);
  flex: none;
}

.tomaier-landing .tm-subnav__links {
  display: flex;
  align-items: center;
  gap: var(--tm-sp-xs);
  flex: 1 1 auto;
  overflow-x: auto;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}

.tomaier-landing .tm-subnav__links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 .7rem;
  white-space: nowrap;
  font-size: var(--tm-fs-small);
  font-weight: 600;
  color: var(--tm-brand-dark);
  text-decoration: none;
  border-radius: var(--tm-r-pill);
}
.tomaier-landing .tm-subnav__links a:hover,
.tomaier-landing .tm-subnav__links a:focus-visible {
  background: var(--tm-mint);
  color: var(--tm-brand-text);
}

/* На узких экранах CTA в навигации скрыта: главная кнопка есть в hero. */
.tomaier-landing .tm-subnav__cta { display: none; flex: none; }
@media (min-width: 48rem) {
  .tomaier-landing .tm-subnav__cta { display: inline-flex; }
  .tomaier-landing .tm-subnav__links { overflow-x: visible; gap: var(--tm-sp-sm); }
}

/* ----- 5. HERO ----- */
.tomaier-landing .tm-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-r-lg);
  background: var(--tm-bg-soft);
  padding: var(--tm-sp-xl) var(--tm-sp-md) var(--tm-sp-xl);
  scroll-margin-top: 6rem;
}

/* Абстрактный фон в стиле style guide: проступает, когда луг бледнеет.
   Формы — псевдоэлементы, дополнительной разметки не нужно. */
.tomaier-landing .tm-hero__bg {
  position: absolute;
  inset: 0;
  z-index: -3;
  overflow: hidden;
  background: #FBF7F0;
}

.tomaier-landing .tm-hero__bg::before,
.tomaier-landing .tm-hero__bg::after {
  content: "";
  position: absolute;
  aspect-ratio: 1;
  pointer-events: none;
  border-radius: 42% 58% 63% 37% / 41% 44% 56% 59%;
}

/* Правая форма — приглушённый бренд-синий. */
.tomaier-landing .tm-hero__bg::before {
  width: clamp(260px, 44vw, 560px);
  right: -8%;
  top: -14%;
  background: radial-gradient(circle at 35% 35%,
    rgba(106, 129, 221, .34) 0%,
    rgba(106, 129, 221, .16) 46%,
    rgba(106, 129, 221, 0) 72%);
}

/* Левая форма — мягкий коралл из палитры (атмосферно, не для текста). */
.tomaier-landing .tm-hero__bg::after {
  width: clamp(320px, 52vw, 700px);
  left: -16%;
  top: 4%;
  border-radius: 58% 42% 37% 63% / 56% 59% 41% 44%;
  background: radial-gradient(circle at 50% 50%,
    rgba(232, 131, 111, .32) 0%,
    rgba(232, 131, 111, .15) 46%,
    rgba(232, 131, 111, 0) 72%);
}

@keyframes tm-blob-drift {
  0%, 100% { transform: translate(0, 0); }
  50%      { transform: translate(-3%, 4%); }
}

/* Изображение сада. Обёртка отвечает за прозрачность и параллакс,
   сам <img> — за мягкое «раскрытие» масштаба при первой загрузке.
   Запас по вертикали (top/bottom) не даёт появиться пустым краям при параллаксе. */
.tomaier-landing .tm-hero__art {
  position: absolute;
  inset: -12% 0;
  z-index: -2;
}

.tomaier-landing .tm-hero__art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 62%;
  transform: scale(1.04);
}

@keyframes tm-hero-bloom {
  from { transform: scale(1.09); }
  to   { transform: scale(1.04); }
}

/* Луг → абстрактный фон → снова луг. В самой прозрачной фазе остаётся .12. */
@keyframes tm-hero-crossfade {
  0%, 28%   { opacity: 1; }
  47%, 60%  { opacity: .12; }
  79%, 100% { opacity: 1; }
}

@media (prefers-reduced-motion: no-preference) {
  .tomaier-landing .tm-hero__art { will-change: opacity, transform; animation: tm-hero-crossfade 19s ease-in-out 2.4s infinite; }
  .tomaier-landing .tm-hero__art img { animation: tm-hero-bloom 1.8s ease-out both; }
  .tomaier-landing .tm-hero__bg::before { animation: tm-blob-drift 24s ease-in-out infinite; }
  .tomaier-landing .tm-hero__bg::after  { animation: tm-blob-drift 28s ease-in-out infinite reverse; }
}

/* Мягкая пелена: держит текст читаемым поверх светлого луга. */
.tomaier-landing .tm-hero__veil {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(120% 80% at 50% 18%, rgba(247, 242, 232, .88), rgba(247, 242, 232, .35) 62%, rgba(247, 242, 232, .05) 100%),
    linear-gradient(180deg, rgba(247, 242, 232, .55) 0%, rgba(247, 242, 232, .25) 45%, rgba(247, 242, 232, .8) 100%);
}

.tomaier-landing .tm-hero__body { max-width: 40rem; }

.tomaier-landing .tm-hero__title {
  font-size: var(--tm-fs-h1);
  letter-spacing: -.02em;
  margin-bottom: var(--tm-sp-md);
}
.tomaier-landing .tm-hero__title em {
  font-style: italic;
  color: var(--tm-accent-deep);
}

.tomaier-landing .tm-hero__lead {
  font-size: var(--tm-fs-lead);
  line-height: 1.5;
  color: var(--tm-text);
  max-width: 44ch;
}

.tomaier-landing .tm-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--tm-sp-sm);
  margin-top: var(--tm-sp-lg);
}

.tomaier-landing .tm-trust {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: var(--tm-sp-lg);
}
.tomaier-landing .tm-trust li {
  font-size: var(--tm-fs-small);
  font-weight: 600;
  color: var(--tm-brand-dark);
  background: rgba(255, 255, 255, .85);
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-r-pill);
  padding: .4rem .8rem;
}

@media (min-width: 48rem) {
  .tomaier-landing .tm-hero { padding: clamp(2.5rem, 5vw, 4rem) clamp(2rem, 4vw, 3.5rem); min-height: 30rem; display: flex; align-items: center; }
}

/* ----- 6. РИТМ СЕКЦИЙ ----- */
.tomaier-landing .tm-section {
  padding-block: var(--tm-sp-2xl);
  scroll-margin-top: 5rem;
}

.tomaier-landing .tm-section__head { margin-bottom: var(--tm-sp-xl); }

.tomaier-landing .tm-section--soft,
.tomaier-landing .tm-section--dark {
  padding-inline: var(--tm-sp-lg);
  border-radius: var(--tm-r-lg);
  margin-block: var(--tm-sp-xl);
}

.tomaier-landing .tm-section--soft {
  background: var(--tm-mint);
  border: 1px solid #D9E7E9;
}

.tomaier-landing .tm-section--dark { background: var(--tm-brand-dark); color: rgba(255, 255, 255, .82); }
.tomaier-landing .tm-section--dark h2,
.tomaier-landing .tm-section--dark h3 { color: #fff; }
.tomaier-landing .tm-section--dark .tm-lead { color: rgba(255, 255, 255, .78); }
.tomaier-landing .tm-section--dark .tm-eyebrow { color: #A9C0F0; }

@media (min-width: 48rem) {
  .tomaier-landing .tm-section--soft,
  .tomaier-landing .tm-section--dark { padding-inline: clamp(1.75rem, 3.5vw, 3rem); }
}

/* ----- 7. УСЛУГИ ----- */
.tomaier-landing .tm-cards {
  display: grid;
  gap: var(--tm-sp-md);
  grid-template-columns: 1fr;
}
@media (min-width: 34rem) {
  .tomaier-landing .tm-cards { grid-template-columns: repeat(2, 1fr); gap: var(--tm-sp-lg); }
}

.tomaier-landing .tm-card {
  background: var(--tm-surface);
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-r-md);
  padding: var(--tm-sp-lg);
  box-shadow: var(--tm-shadow);
  transition: box-shadow .2s ease, border-color .2s ease;
}
.tomaier-landing .tm-card:hover {
  box-shadow: var(--tm-shadow-lift);
  border-color: var(--tm-border-strong);
}

/* Тонкий садовый штрих: коралловая «грядка» над заголовком карточки. */
.tomaier-landing .tm-card__title {
  font-size: var(--tm-fs-h3);
  color: var(--tm-brand-dark);
  padding-top: var(--tm-sp-sm);
  border-top: 3px solid var(--tm-coral);
  display: inline-block;
  margin-bottom: var(--tm-sp-xs);
}

.tomaier-landing .tm-card p { color: var(--tm-muted); margin-bottom: 0; }

.tomaier-landing .tm-inline-list {
  display: grid;
  gap: var(--tm-sp-xs);
  margin-top: var(--tm-sp-lg);
}
.tomaier-landing .tm-inline-list li {
  position: relative;
  padding-left: 1.4rem;
  font-size: var(--tm-fs-small);
  color: var(--tm-muted);
}
.tomaier-landing .tm-inline-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--tm-brand);
}

.tomaier-landing .tm-note {
  margin-top: var(--tm-sp-lg);
  padding: var(--tm-sp-md) var(--tm-sp-lg);
  background: var(--tm-bg-soft);
  border-left: 4px solid var(--tm-brand);
  border-radius: var(--tm-r-sm);
  color: var(--tm-text);
}
.tomaier-landing .tm-note strong { font-weight: 700; }

/* ----- 8. ПРОЦЕСС ----- */
.tomaier-landing .tm-steps {
  display: grid;
  gap: var(--tm-sp-md);
  grid-template-columns: 1fr;
}
@media (min-width: 34rem) { .tomaier-landing .tm-steps { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 62rem) { .tomaier-landing .tm-steps { grid-template-columns: repeat(4, 1fr); gap: var(--tm-sp-lg); } }

.tomaier-landing .tm-step {
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: var(--tm-r-md);
  padding: var(--tm-sp-lg);
}

.tomaier-landing .tm-step__num {
  display: block;
  font-family: var(--tm-font-display);
  font-size: 1.4rem;
  color: var(--tm-coral);
  margin-bottom: var(--tm-sp-xs);
}

.tomaier-landing .tm-step__title { font-size: var(--tm-fs-h3); margin-bottom: var(--tm-sp-xs); }
.tomaier-landing .tm-step p { color: rgba(255, 255, 255, .76); font-size: var(--tm-fs-small); margin-bottom: 0; }

/* ----- 9. ПРОЕКТЫ ----- */
.tomaier-landing .tm-project {
  display: grid;
  grid-template-columns: 1fr;
  background: var(--tm-surface);
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-r-lg);
  overflow: hidden;
  box-shadow: var(--tm-shadow);
  transition: box-shadow .2s ease, border-color .2s ease;
}
.tomaier-landing .tm-project:hover {
  box-shadow: var(--tm-shadow-lift);
  border-color: var(--tm-border-strong);
}

.tomaier-landing .tm-project__media {
  position: relative;
  margin: 0;
  background: var(--tm-bg-soft);
  border-bottom: 1px solid var(--tm-border);
}
.tomaier-landing .tm-project__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 1568 / 756;
  object-fit: cover;
  object-position: center top;
}

/* Placeholder, пока скриншот не загружен на хостинг. */
.tomaier-landing .tm-project__placeholder {
  display: grid;
  place-items: center;
  aspect-ratio: 1568 / 756;
  padding: var(--tm-sp-md);
  text-align: center;
  font-size: var(--tm-fs-small);
  color: var(--tm-brand-text);
  background:
    repeating-linear-gradient(45deg, rgba(106, 129, 221, .09) 0 10px, rgba(106, 129, 221, 0) 10px 20px),
    var(--tm-mint);
}

.tomaier-landing .tm-project__body {
  display: flex;
  flex-direction: column;
  padding: var(--tm-sp-lg);
}

.tomaier-landing .tm-project__client {
  font-size: var(--tm-fs-small);
  color: var(--tm-muted);
  margin-bottom: var(--tm-sp-xs);
}

.tomaier-landing .tm-project__title {
  font-size: var(--tm-fs-h3);
  color: var(--tm-brand-dark);
  padding-top: var(--tm-sp-sm);
  border-top: 3px solid var(--tm-coral);
  display: inline-block;
  align-self: flex-start;
  margin-bottom: var(--tm-sp-sm);
}

.tomaier-landing .tm-project__task { color: var(--tm-muted); }

.tomaier-landing .tm-project__points {
  display: grid;
  gap: var(--tm-sp-xs);
  margin-bottom: var(--tm-sp-lg);
}
.tomaier-landing .tm-project__points li {
  position: relative;
  padding-left: 1.4rem;
  font-size: var(--tm-fs-small);
  color: var(--tm-muted);
}
.tomaier-landing .tm-project__points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--tm-brand);
}

.tomaier-landing .tm-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-bottom: var(--tm-sp-lg);
}
.tomaier-landing .tm-tag {
  font-size: var(--tm-fs-small);
  font-weight: 600;
  color: var(--tm-brand-dark);
  background: var(--tm-mint);
  border: 1px solid #D9E7E9;
  border-radius: var(--tm-r-pill);
  padding: .35rem .8rem;
}

.tomaier-landing .tm-project__actions { margin: auto 0 0; }
.tomaier-landing .tm-ext { margin-left: .4rem; }

@media (min-width: 56rem) {
  .tomaier-landing .tm-project { grid-template-columns: 1.05fr .95fr; }
  .tomaier-landing .tm-project__media {
    min-height: 21rem;
    border-bottom: 0;
    border-right: 1px solid var(--tm-border);
  }
  .tomaier-landing .tm-project__media img {
    position: absolute;
    inset: 0;
    height: 100%;
    aspect-ratio: auto;
  }
  .tomaier-landing .tm-project__body { padding: var(--tm-sp-xl); justify-content: center; }
}

/* ----- 10. СКОРО ----- */
.tomaier-landing .tm-sprouts {
  display: grid;
  gap: var(--tm-sp-md);
  grid-template-columns: 1fr;
}
@media (min-width: 48rem) { .tomaier-landing .tm-sprouts { grid-template-columns: repeat(3, 1fr); gap: var(--tm-sp-lg); } }
/* После переноса карточки «Проекты» в свою секцию осталось две рубрики. */
@media (min-width: 48rem) { .tomaier-landing .tm-sprouts--two { grid-template-columns: repeat(2, 1fr); } }

.tomaier-landing .tm-sprouts li {
  border: 1px dashed var(--tm-border-strong);
  border-radius: var(--tm-r-md);
  padding: var(--tm-sp-lg);
  background: rgba(255, 255, 255, .5);
}

.tomaier-landing .tm-sprout__title {
  font-size: var(--tm-fs-h3);
  color: var(--tm-brand-dark);
  margin-bottom: var(--tm-sp-xs);
}
.tomaier-landing .tm-sprouts p { color: var(--tm-muted); font-size: var(--tm-fs-small); margin-bottom: 0; }

/* ----- 11. ОБО МНЕ ----- */
.tomaier-landing .tm-about { display: grid; gap: var(--tm-sp-xl); }
@media (min-width: 56rem) {
  .tomaier-landing .tm-about { grid-template-columns: 1.35fr .65fr; align-items: start; }
}

.tomaier-landing .tm-about__text p { color: var(--tm-muted); max-width: 58ch; }

.tomaier-landing .tm-about__photo {
  margin: 0;
  border-radius: var(--tm-r-md);
  overflow: hidden;
  border: 1px solid var(--tm-border);
}

.tomaier-landing .tm-facts {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: var(--tm-sp-lg);
}
.tomaier-landing .tm-facts li {
  font-size: var(--tm-fs-small);
  font-weight: 600;
  color: var(--tm-brand-dark);
  background: var(--tm-surface);
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-r-pill);
  padding: .4rem .85rem;
}

/* ----- 12. КОНТАКТ ----- */
.tomaier-landing .tm-cta {
  text-align: left;
  border-top: 1px solid var(--tm-border);
  padding-top: var(--tm-sp-2xl);
}

.tomaier-landing .tm-cta .tm-lead { margin-bottom: var(--tm-sp-lg); }
.tomaier-landing .tm-cta__actions { margin: 0 0 var(--tm-sp-lg); }

.tomaier-landing .tm-cta__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--tm-sp-xs) var(--tm-sp-lg);
  font-size: var(--tm-fs-small);
  color: var(--tm-muted);
}
.tomaier-landing .tm-cta__meta li { position: relative; }
@media (min-width: 48rem) {
  .tomaier-landing .tm-cta__meta li + li::before {
    content: "·";
    position: absolute;
    left: calc(var(--tm-sp-lg) / -2 - .15rem);
    color: var(--tm-border-strong);
  }
}

/* ----- 13. ПОДВАЛ ЛЕНДИНГА ----- */
.tomaier-landing .tm-footer {
  margin-top: var(--tm-sp-2xl);
  padding-top: var(--tm-sp-lg);
  border-top: 1px solid var(--tm-border);
  display: grid;
  gap: var(--tm-sp-sm);
  font-size: var(--tm-fs-small);
  color: var(--tm-muted);
}

.tomaier-landing .tm-footer__brand { margin-bottom: 0; }

.tomaier-landing .tm-footer__links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--tm-sp-xs) var(--tm-sp-lg);
}
.tomaier-landing .tm-footer__links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-weight: 600;
  color: var(--tm-brand-text);
  text-decoration: none;
}
.tomaier-landing .tm-footer__links a:hover { text-decoration: underline; }

.tomaier-landing .tm-footer__copy { margin-bottom: 0; color: var(--tm-muted); }

/* ----- 14. MOTION / A11Y ----- */
.tomaier-landing a:focus-visible,
.tomaier-landing .tm-btn:focus-visible {
  outline: 3px solid var(--tm-brand-dark);
  outline-offset: 2px;
  border-radius: var(--tm-r-sm);
}
.tomaier-landing .tm-section--dark a:focus-visible { outline-color: #fff; }

/* Текст только для скринридеров (например, «откроется в новой вкладке»). */
.tomaier-landing .tm-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

@media (prefers-reduced-motion: reduce) {
  .tomaier-landing *,
  .tomaier-landing *::before,
  .tomaier-landing *::after {
    animation-duration: .01ms;
    animation-iteration-count: 1;
    transition-duration: .01ms;
  }

  /* Hero остаётся статичным и полностью видимым:
     ни затухания, ни дрейфа форм, ни масштабирования.
     Параллакс отключается отдельно в hero-animation.js. */
  .tomaier-landing .tm-hero__art,
  .tomaier-landing .tm-hero__art img,
  .tomaier-landing .tm-hero__bg::before,
  .tomaier-landing .tm-hero__bg::after {
    animation: none;
  }
  .tomaier-landing .tm-hero__art { opacity: 1; transform: none; }
  .tomaier-landing .tm-hero__art img { transform: scale(1.04); }
}
