/* ─────────────────────────────────────────────────────────────────────────
   ai-tm.ru — компоненты макета «светлый финтех» (холст Claude Design, вариант А).
   Префикс tm-. Подключается после theme.css.

   Плашка блока  .tm-panel (--white | --tint | --dark): ширина до 1408 px,
                 скругление 36 px, между плашками 16 px фона страницы.
   Шапка блока   .tm-head: надзаголовок + h2 слева, пояснение справа.
   Карточки      .tm-tile, .tm-dcard (на тёмном), .tm-win (окно браузера).
   Анимация      .tm-grow (полоса растёт), .tm-draw (кольцо рисуется),
                 .tm-float (плавает), .tm-live (пульсирует), бегущая лента.
   ───────────────────────────────────────────────────────────────────────── */

.tm { --tint: #f3f7f5; --tint-2: #e1eee6; --bright: #3ddc97; --dark: #0b1512; --muted: #4a5650; --soft: #5b6670;
      --grid: #d9e5df; --shadow: 0 24px 60px rgba(16, 40, 28, .10); }
.tm h1, .tm h2, .tm h3 { font-weight: 800; letter-spacing: -.035em; color: inherit; }
.tm h2 { font-size: clamp(30px, 4vw, 48px); line-height: 1.06; margin: 0; }
.tm-eyebrow { display: block; margin: 0 0 14px; font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); }
.tm-muted { color: var(--muted); }
.tm-link { font-weight: 700; color: var(--accent); text-decoration: none; }
.tm-link:hover { color: var(--accent-hover); }

/* ─── анимации ─── */
@keyframes tmGrow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes tmFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes tmPulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .4; transform: scale(.8); } }
@keyframes tmTicker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes tmTravel { 0% { left: 0; opacity: 0; } 10%, 90% { opacity: 1; } 100% { left: calc(100% - 10px); opacity: 0; } }
@keyframes tmDraw { from { stroke-dasharray: 0 340; } }
@keyframes tmGlow2 { 0%, 100% { opacity: .85; transform: scale(1); } 50% { opacity: 1; transform: scale(1.08); } }
.tm-grow { display: block; transform-origin: left center; animation: tmGrow 1.4s cubic-bezier(.2, .8, .2, 1) both; }
.tm-draw { fill: none; stroke-width: 16; animation: tmDraw 1.6s cubic-bezier(.2, .8, .2, 1) both; }
html.tm-anim :is(.tm-grow, .tm-draw):not(.is-on) { animation-play-state: paused; }
.tm-live { display: inline-block; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--accent); animation: tmPulse 2s ease-in-out infinite; }
.tm-float { animation: tmFloat 5s ease-in-out infinite; }
.tm-float--tz { animation-duration: 6s; animation-delay: 1.2s; }

/* ─── плашки блоков ─── */
.tm-panel { position: relative; overflow: hidden; width: calc(100% - 32px); max-width: var(--panel-max); margin: 16px auto 0;
  border-radius: var(--radius-panel); padding: clamp(56px, 6.5vw, 80px) 0; }
.tm-panel > .wrap { position: relative; z-index: 1; }
.tm-panel--white { background: #fff; --card: var(--tint); --btn2: var(--tint); }
.tm-panel--tint { background: var(--tint); --card: #fff; --btn2: #fff; }
.tm-panel--dark { background: var(--dark); color: #eaf1ee; --card: rgba(255, 255, 255, .04); }
.tm-panel--dark::before { content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 56px 56px; }
.tm-panel--dark::after { content: ""; position: absolute; right: -10%; top: -45%; width: 80%; height: 110%; pointer-events: none;
  background: radial-gradient(closest-side, rgba(61, 220, 151, .22), transparent); animation: tmGlow2 7s ease-in-out infinite; }
#contact.tm-panel--dark::after { right: auto; left: -15%; top: auto; bottom: -70%; width: 75%; height: 180%; }
.tm-panel--dark .tm-eyebrow { color: var(--bright); }
.tm-panel--dark .tm-head p, .tm-panel--dark p { color: #a9b8b1; }
.tm-panel--stats { padding: 0; }

.tm-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px 40px; margin-bottom: 40px; }
.tm-head > div { max-width: 640px; }
.tm-head > p { margin: 0; max-width: 360px; font-size: 16px; line-height: 1.55; color: var(--muted); }
.tm-head--filter > div { max-width: none; }

.tm-ico { flex: none; width: 44px; height: 44px; border-radius: 12px; background: var(--btn2, #fff); display: inline-flex; align-items: center; justify-content: center; }
.tm-ico svg { width: 22px; height: 22px; fill: none; stroke: var(--accent); stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }

/* ─── окно браузера ─── */
.tm-win { margin: 0; background: #fff; border-radius: 24px; box-shadow: var(--shadow); overflow: hidden; }
.tm-win__bar { display: flex; align-items: center; gap: 8px; padding: 12px 18px; border-bottom: 1px solid #eef0ed; background: #fbfcfb; }
.tm-win__bar i { width: 10px; height: 10px; border-radius: 50%; background: #e1e5e2; }
.tm-win__bar span { margin-left: 10px; font-size: 12px; color: var(--soft); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tm-win video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: left top; background: #f4f6f4; }

/* ─── первый экран ─── */
.tm-hero { position: relative; overflow: hidden; }
.tm-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px); background-size: 56px 56px;
  -webkit-mask-image: linear-gradient(180deg, #000 60%, transparent); mask-image: linear-gradient(180deg, #000 60%, transparent); }
.tm-hero::after { content: ""; position: absolute; right: -8%; top: -10%; width: 62%; height: 120%; pointer-events: none;
  background: radial-gradient(closest-side, rgba(255, 255, 255, .85), transparent); animation: tmGlow2 7s ease-in-out infinite; }
.tm-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 56px; padding-top: 48px; padding-bottom: 64px; }
.tm-hero__text { display: flex; flex-direction: column; align-items: flex-start; gap: 26px; }
.tm-badge { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 700; color: var(--accent); background: #fff; padding: 8px 14px; border-radius: 999px; }
.tm-hero h1 { margin: 0; font-size: clamp(38px, 5vw, 68px); line-height: 1.03; letter-spacing: -.04em; text-wrap: balance; }
.tm-mark { color: var(--accent); }
.tm-lede { margin: 0; font-size: 19px; line-height: 1.55; color: #3d4a44; max-width: 520px; }
.tm-hero .actions { margin: 0; }
.tm-checks { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 14px; font-weight: 600; color: #3d4a44; }
.tm-checks li { display: inline-flex; align-items: center; gap: 6px; }
.tm-checks svg { width: 16px; height: 16px; fill: none; stroke: var(--accent); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }

.tm-hero__art { position: relative; padding: 36px 0 52px; }
.tm-moneycard { box-shadow: 0 30px 70px rgba(16, 40, 28, .14); }
.tm-moneycard__body { padding: 28px; display: flex; flex-direction: column; gap: 22px; }
.tm-moneycard__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 14px; font-weight: 600; color: var(--soft); }
.tm-pill { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; color: var(--accent); background: var(--tint-2); padding: 4px 10px; border-radius: 999px; }
.tm-pill .tm-live { width: 6px; height: 6px; }
.tm-moneycard__total { font-weight: 800; font-size: clamp(34px, 3.8vw, 52px); letter-spacing: -.04em; line-height: 1; font-variant-numeric: tabular-nums; }
.tm-stack { display: flex; gap: 3px; height: 14px; border-radius: 999px; overflow: hidden; background: #f1f3f0; }
.tm-stack--thin { height: 10px; }
.tone-accent { background: var(--accent); } .tone-mid { background: #f59e0b; } .tone-warm { background: #c9d0cc; }
.tm-legend { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; font-size: 15px; }
.tm-legend li { display: flex; align-items: center; gap: 10px; }
.tm-legend li span { flex: 1; }
.tm-legend i { width: 10px; height: 10px; border-radius: 3px; flex: none; }
.tm-note { font-size: 12px; color: var(--soft); }

.tm-float { position: absolute; z-index: 2; background: #fff; box-shadow: 0 18px 40px rgba(16, 40, 28, .14); display: flex; gap: 12px; }
.tm-float b { display: block; font-size: 14px; }
.tm-float small { display: block; font-size: 13px; color: var(--soft); }
.tm-float--tz { right: -16px; top: 0; border-radius: 16px; padding: 12px 16px; align-items: center; }
.tm-float--find { left: -28px; bottom: 0; max-width: 340px; border-radius: 18px; padding: 16px 18px; align-items: flex-start; }
.tm-float--find b { font-size: 15px; }
.tm-float--find em { display: block; font-style: normal; font-size: 14px; font-weight: 700; color: #b45309; }
.tm-warn { flex: none; width: 36px; height: 36px; border-radius: 10px; background: #fff4de; display: flex; align-items: center; justify-content: center; }
.tm-warn svg { width: 18px; height: 18px; fill: none; stroke: #b45309; stroke-width: 2.2; stroke-linecap: round; }

/* ─── цифры + лента ─── */
.tm-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px 32px; padding-top: 40px; padding-bottom: 40px; }
.tm-stats div { display: flex; flex-direction: column; gap: 6px; }
.tm-stats b { font-weight: 800; font-size: clamp(28px, 2.6vw, 36px); letter-spacing: -.035em; line-height: 1.1; color: var(--accent); }
.tm-stats span { font-size: 14px; line-height: 1.45; color: var(--muted); }
.tm-ticker { border-top: 1px solid #eef0ed; background: var(--tint); overflow: hidden; }
.tm-ticker__track { display: flex; width: max-content; gap: 48px; padding: 16px 0; font-size: 15px; font-weight: 600; white-space: nowrap; animation: tmTicker 40s linear infinite; }
.tm-ticker__track i { font-style: normal; color: var(--accent); }
.tm-ticker__track i.is-warn { color: #d97706; }
.tm-ticker__track small { font-size: 15px; font-weight: 500; color: var(--soft); }
.tm-ticker:hover .tm-ticker__track { animation-play-state: paused; }

/* ─── как это работает ─── */
.tm-flow { display: flex; flex-wrap: wrap; align-items: stretch; gap: 16px; }
.tm-flow__step { flex: 1 1 250px; min-width: 0; position: relative; overflow: hidden; background: var(--card); border-radius: 22px; padding: 28px; display: flex; flex-direction: column; gap: 14px; }
.tm-flow__step b { font-size: 18px; }
.tm-flow__step > span:last-child { font-size: 15px; line-height: 1.5; color: var(--muted); }
.tm-flow__step .tm-ico { background: #fff; }
.tm-flow__step.is-core { background: var(--dark); color: #fff; }
.tm-flow__step.is-core::before { content: ""; position: absolute; right: -40%; top: -60%; width: 120%; height: 160%; background: radial-gradient(closest-side, rgba(61, 220, 151, .22), transparent); }
.tm-flow__step.is-core > * { position: relative; }
.tm-flow__step.is-core > span:last-child { color: #b9c6c0; }
.tm-flow__step.is-core .tm-ico { background: var(--bright); }
.tm-flow__step.is-core .tm-ico svg { fill: var(--dark); stroke: none; width: 26px; height: 26px; }
.tm-flow__link { flex: 0 1 72px; min-width: 40px; align-self: center; position: relative; height: 2px; background: repeating-linear-gradient(90deg, #b9c8bf 0 6px, transparent 6px 12px); }
.tm-flow__link i { position: absolute; top: -4px; width: 10px; height: 10px; border-radius: 50%; background: var(--accent); animation: tmTravel 2.6s ease-in-out infinite; }
.tm-flow__link i + i { animation-delay: 1.3s; }

/* ─── продукт изнутри ─── */
.tm-tour { display: flex; flex-wrap: wrap; gap: 24px; align-items: stretch; }
.tm-tour__tabs { flex: 1 1 280px; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.tm-tour__tabs button { font: inherit; text-align: left; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; white-space: normal; height: auto; gap: 6px; padding: 18px 20px; min-height: 44px; border: 0; border-radius: 18px; background: transparent; color: var(--ink); cursor: pointer; box-shadow: none; }
.tm-tour__tabs button:hover { background: rgba(255, 255, 255, .6); }
.tm-tour__tabs button[aria-selected="true"] { background: #fff; box-shadow: 0 10px 30px rgba(16, 40, 28, .08); }
.tm-tour__tabs b { display: flex; align-items: center; gap: 10px; font-size: 17px; font-weight: 800; }
.tm-tour__tabs b i { width: 10px; height: 10px; border-radius: 50%; background: #a9bbb1; }
.tm-tour__tabs [aria-selected="true"] b i { background: var(--accent); }
.tm-tour__tabs span { font-size: 14px; line-height: 1.45; color: var(--muted); font-weight: 400; }
.tm-tour__screen { flex: 3 1 600px; min-width: 0; display: flex; flex-direction: column; min-height: 440px; }
.tm-tour__screen [role=tabpanel] { flex: 1; }
.tm-tour__screen [hidden] { display: none !important; }
.tm-tour__video video { aspect-ratio: auto; height: 100%; min-height: 400px; }
.tm-tour__tz { display: flex; flex-wrap: wrap; }
.tm-doc { flex: 1 1 280px; min-width: 0; padding: 24px; background: #fbfcfb; border-right: 1px solid #eef0ed; display: flex; flex-direction: column; gap: 12px; }
.tm-doc small, .tm-finding small { font-size: 12px; font-weight: 700; color: var(--soft); }
.tm-doc i, .tm-finding i { display: block; height: 10px; border-radius: 5px; background: #e4e7e3; }
.tm-doc__gap { display: flex; flex-direction: column; gap: 8px; background: #fff4de; border: 1px solid #f3d9a6; border-radius: 12px; padding: 12px; }
.tm-doc__gap i { background: #f3d9a6; }
.tm-doc__gap b { font-size: 12px; font-weight: 800; color: #b45309; }
.tm-doc__side { flex: 1 1 280px; min-width: 0; padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.tm-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.tm-kpis div { background: var(--tint); border-radius: 12px; padding: 10px 12px; display: flex; flex-direction: column; }
.tm-kpis b { font-size: 20px; }
.tm-kpis span { font-size: 12px; color: var(--muted); }
.tm-kpis .is-crit { background: #fff4de; } .tm-kpis .is-crit b { color: #b45309; }
.tm-finding { border: 1px solid #eef0ed; border-radius: 14px; padding: 14px; display: flex; flex-direction: column; gap: 6px; }
.tm-finding.is-crit { border-color: #f3d9a6; background: #fff8ea; }
.tm-finding.is-crit small { color: #b45309; letter-spacing: .06em; text-transform: uppercase; font-weight: 800; }
.tm-finding b { font-size: 15px; } .tm-finding span { font-size: 13px; color: var(--soft); }
.tm-doc__done { margin-top: auto; font-size: 13px; color: var(--accent); }
.tm-tour__chat { background: var(--tint); padding: 24px; display: flex; flex-direction: column; gap: 10px; font-size: 14px; line-height: 1.45; }
.tm-msg { align-self: flex-start; max-width: 78%; background: #fff; border-radius: 16px 16px 16px 4px; padding: 12px 14px; display: flex; flex-direction: column; gap: 5px; }
.tm-msg small { font-size: 12px; font-weight: 800; color: var(--accent); }
.tm-msg em { align-self: flex-start; font-style: normal; font-size: 13px; font-weight: 700; color: var(--accent); border: 1px solid rgba(22, 107, 71, .35); border-radius: 10px; padding: 6px 10px; }
.tm-msg--me { align-self: flex-end; max-width: 70%; background: var(--accent); color: #fff; border-radius: 16px 16px 4px 16px; }
.tm-msg__big { font-size: 20px; letter-spacing: -.02em; }
.tm-msg__input { margin-top: auto; display: flex; align-items: center; gap: 10px; background: #fff; border-radius: 14px; padding: 12px 14px; color: var(--soft); }
.tm-msg__input span { flex: 1; }
.tm-msg__input i { width: 32px; height: 32px; border-radius: 50%; background: var(--accent); display: flex; align-items: center; justify-content: center; }
.tm-msg__input svg { width: 16px; height: 16px; fill: none; stroke: #fff; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }

/* ─── карточки на тёмном: кольца и полосы ─── */
.tm-dcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.tm-dcard { background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .09); border-radius: 22px; padding: 28px; display: flex; flex-direction: column; gap: 20px; }
.tm-dcard__title { font-size: 15px; font-weight: 600; color: #a9b8b1; }
.tm-dcard__foot { margin-top: auto; font-size: 14px; line-height: 1.5; color: #a9b8b1; border-top: 1px solid rgba(255, 255, 255, .09); padding-top: 16px; }
.tm-ring { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.tm-ring svg { flex: none; }
.tm-ring__bg { fill: none; stroke: rgba(255, 255, 255, .08); stroke-width: 16; }
.tm-ring__big { fill: #eaf1ee; font-family: var(--sans); font-weight: 800; text-anchor: middle; }
.tm-ring__small { fill: #a9b8b1; font-family: var(--sans); font-weight: 600; font-size: 12px; text-anchor: middle; }
.tm-ring ul { flex: 1 1 120px; list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 13px; }
.tm-ring li { display: flex; align-items: center; gap: 8px; }
.tm-ring li i { width: 10px; height: 10px; border-radius: 3px; flex: none; }
.tm-ring .c1 { background: #3ddc97; } .tm-ring .c2 { background: #fbbf4d; } .tm-ring .c3 { background: #6b7c74; }
.tm-ring .tm-muted { color: #a9b8b1; }
.tm-bars { display: flex; flex-direction: column; gap: 18px; }
.tm-bars > div { display: flex; flex-direction: column; gap: 7px; }
.tm-bars__row { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; }
.tm-bars__row b { color: var(--bright); }
.tm-bars__hand, .tm-bars__fast { height: 8px; border-radius: 8px; background: #33413b; }
.tm-bars__fast { background: var(--bright); min-width: 8px; }
.tm-bars small { font-size: 12px; color: #93a39c; }

/* ─── сервисы: карточки ─── */
.tm .hm-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.tm .hm-card { background: var(--card); border: 0; border-radius: 22px; padding: 28px; gap: 16px; }
.tm .hm-card h3 { font-size: 22px; line-height: 1.2; letter-spacing: -.02em; }
.tm .hm-card .btn { background: transparent; padding: 0; min-height: 0; color: var(--accent); font-weight: 700; }
.tm .hm-card .btn::after { content: " →"; }
.tm .hm-card .btn:hover { background: transparent; color: var(--accent-hover); }
.tm .hm-card .hm-mark { background: #fff; }
.tm .hm-screen { background: #fff; border-radius: 14px; }
.tm .hm-line, .tm .hm-bubble:not(.hm-bubble--me), .tm .hm-stages span { background: var(--tint); }
.tm .hm-chips { background: var(--tint); }

/* ─── плитки ─── */
.tm-grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.tm-tile { background: var(--card); border-radius: 22px; padding: 28px; display: flex; flex-direction: column; gap: 14px; }
.tm-tile b { font-size: 18px; }
.tm-panel--tint .tm-tile .tm-ico { background: var(--tint); }
.tm-panel--white .tm-tile .tm-ico { background: #fff; }
.tm-tile > span:last-child { font-size: 15px; line-height: 1.5; color: var(--muted); }

/* ─── бесплатно ─── */
.tm-free { display: flex; flex-wrap: wrap; gap: 16px; }
.tm-free a { color: var(--ink); text-decoration: none; }
.tm-free__main { flex: 1 1 340px; min-width: 0; display: flex; flex-direction: column; gap: 16px; padding: 28px; border-radius: 22px; background: var(--card); transition: transform .2s var(--ease); }
.tm-free__main .tm-eyebrow { margin: 0; }
.tm-free__title { font-weight: 800; font-size: 24px; line-height: 1.2; letter-spacing: -.02em; }
.tm-free__main .tm-stack { margin-top: auto; }
.tm-free__foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.tm-free__foot b { font-size: 22px; letter-spacing: -.02em; }
.tm-free__grid { flex: 2 1 480px; min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.tm-free__tile { display: flex; flex-direction: column; gap: 6px; padding: 24px; border-radius: 22px; background: var(--card); transition: transform .2s var(--ease); }
.tm-free__tile span { font-weight: 700; }
.tm-free__tile b { font-weight: 800; font-size: 26px; letter-spacing: -.02em; color: var(--accent); }
.tm-free__tile small { font-size: 13px; color: var(--muted); }
.tm-free__tile em { margin-top: 6px; font-style: normal; font-size: 14px; font-weight: 700; color: var(--accent); }
.tm-free a:hover { transform: translateY(-3px); }

/* ─── кейс ─── */
.tm-case { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); align-items: center; gap: 48px; }
.tm-case__text { display: flex; flex-direction: column; gap: 20px; }
.tm-case__text .tm-eyebrow { margin: 0; }
.tm-case__text p { margin: 0; font-size: 16px; line-height: 1.6; }
.tm-case__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.tm-case__stats div { display: flex; flex-direction: column; gap: 4px; background: #fff; border-radius: 16px; padding: 16px; }
.tm-case__stats b { font-weight: 800; font-size: 28px; letter-spacing: -.03em; }
.tm-case__stats span { font-size: 13px; color: var(--soft); }
.tm-case__art { position: relative; padding-bottom: 40px; }
.tm-case__art video { aspect-ratio: 16 / 9; }
.tm-float--bot { right: -12px; bottom: 0; max-width: 300px; flex-direction: column; gap: 4px; border-radius: 18px 18px 4px 18px; padding: 14px 16px; }
.tm-float--bot small { font-size: 12px; font-weight: 800; color: var(--accent); }
.tm-float--bot span { font-size: 14px; line-height: 1.45; }

/* ─── безопасность ─── */
.tm-sec { display: flex; flex-wrap: wrap; gap: 16px; align-items: stretch; }
.tm-sec__main { flex: 1 1 360px; min-width: 0; position: relative; overflow: hidden; background: var(--dark); color: #eaf1ee; border-radius: 22px; padding: 28px; display: flex; flex-direction: column; gap: 14px; }
.tm-sec__main::before { content: ""; position: absolute; right: -40%; bottom: -50%; width: 120%; height: 120%; background: radial-gradient(closest-side, rgba(61, 220, 151, .22), transparent); animation: tmGlow2 7s ease-in-out infinite; }
.tm-sec__main > * { position: relative; }
.tm-sec__main .tm-eyebrow { margin: 0; color: var(--bright); letter-spacing: .08em; }
.tm-sec__main > b { font-size: 22px; line-height: 1.2; letter-spacing: -.02em; }
.tm-sec__main > span:not(.tm-eyebrow) { font-size: 15px; line-height: 1.5; color: #a9b8b1; }
.tm-sec__server { margin-top: auto; border: 1px dashed rgba(255, 255, 255, .25); border-radius: 16px; padding: 14px; display: flex; flex-direction: column; gap: 10px; }
.tm-sec__server small { font-size: 12px; font-weight: 700; color: #a9b8b1; }
.tm-sec__server div { display: flex; flex-wrap: wrap; gap: 8px; font-size: 13px; font-weight: 700; }
.tm-sec__server span { background: rgba(255, 255, 255, .08); border-radius: 10px; padding: 8px 12px; }
.tm-sec__server .is-core { background: var(--bright); color: #061210; }
.tm-sec__grid { flex: 2 1 480px; min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.tm-sec__grid .tm-tile { padding: 24px; gap: 10px; }
.tm-sec__grid .tm-tile b { font-size: 17px; }
.tm-sec__grid .tm-ico { background: #fff; }

/* ─── заявка на тёмном ─── */
.tm-cta { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 48px; }
.tm-cta__text { display: flex; flex-direction: column; gap: 16px; }
.tm-cta__text .tm-eyebrow, .tm-cta__text p { margin: 0; }
.tm-cta__text p { font-size: 17px; line-height: 1.55; max-width: 520px; }
.tm-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; font-weight: 600; }
.tm-chips li { background: rgba(255, 255, 255, .08); border-radius: 999px; padding: 8px 14px; }
.tm-cta__who { display: inline-flex; align-items: center; gap: 12px; color: var(--bright); font-weight: 700; text-decoration: none; margin-top: 8px; }
.tm-cta__who:hover { color: #6ee7b0; }
.tm-cta__who img { border-radius: 50%; object-fit: cover; }
.tm-cta__form .form-card { background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .12); border-radius: 22px; padding: 24px; box-shadow: none; color: #eaf1ee; }
.tm-cta__form h3 { margin: 0 0 14px; font-size: 20px; color: #fff; letter-spacing: -.02em; }
.tm-cta__form .field span, .tm-cta__form .consent { color: #a9b8b1; }
.tm-cta__form .consent a { color: var(--bright); }
.tm-cta__form input:not([type=checkbox]), .tm-cta__form textarea { color: #eaf1ee; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .16); border-radius: 12px; }
.tm-cta__form input:focus, .tm-cta__form textarea:focus { border-color: var(--bright); outline: none; }
.tm-cta__form .btn-primary { background: var(--bright); border-color: var(--bright); color: #061210; box-shadow: none; }
.tm-cta__form .btn-primary:hover { background: #6ee7b0; border-color: #6ee7b0; color: #061210; }
.tm-cta__form .form-status { color: #eaf1ee; }

/* ─── шапка: значок перед названием ─── */
.brand { display: inline-flex; align-items: center; gap: 0; font-weight: 800; }
.brand::before { content: ""; width: 26px; height: 26px; border-radius: 8px; flex: none; margin-right: 10px;
  background: radial-gradient(circle at 50% 50%, #fff 0 4px, transparent 4.5px), var(--accent); }

/* ─── планшет и телефон ─── */
@media (max-width: 1080px) {
  .tm-hero__grid, .tm-case, .tm-cta { grid-template-columns: minmax(0, 1fr); }
  .tm-hero__art { max-width: 620px; }
  .tm-dcards, .tm .hm-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tm-grid4, .tm-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .tm-panel { width: calc(100% - 16px); margin-top: 8px; border-radius: 26px; padding: 48px 0; }
  .tm-panel--stats { padding: 0; }
  .tm-hero__grid { gap: 32px; padding-top: 28px; padding-bottom: 32px; }
  .tm-hero h1 { font-size: clamp(34px, 9.4vw, 44px); line-height: 1.05; }
  .tm-lede { font-size: 17px; }
  .tm-hero .actions { width: 100%; }
  .tm-hero .actions .btn { flex: 1 1 100%; }
  .tm-hero__art { padding: 0; }
  .tm-float--tz { right: 8px; top: -18px; }
  .tm-float--find { position: relative; left: auto; bottom: auto; margin: -22px 12px 0; max-width: none; }
  .tm-moneycard__body { padding: 20px; }
  .tm-dcards, .tm .hm-cards, .tm-grid4, .tm-free__grid, .tm-sec__grid { grid-template-columns: minmax(0, 1fr); }
  .tm-stats { gap: 20px; padding-top: 28px; padding-bottom: 28px; }
  .tm-flow { flex-direction: column; }
  .tm-flow__step { flex: 1 1 auto; }
  .tm-flow__link { flex: none; width: 2px; height: 28px; min-width: 0; align-self: center; background: repeating-linear-gradient(180deg, #b9c8bf 0 6px, transparent 6px 12px); }
  .tm-flow__link i { display: none; }
  .tm-head { margin-bottom: 28px; }
  .tm-tour__tabs { flex-direction: row; flex-basis: 100%; overflow-x: auto; gap: 6px; padding-bottom: 2px; scrollbar-width: none; }
  .tm-tour__tabs button { flex: none; padding: 10px 16px; border-radius: 999px; }
  .tm-tour__tabs button b { font-size: 15px; white-space: nowrap; }
  .tm-tour__tabs button span { display: none; }
  .tm-tour__screen { flex-basis: 100%; min-height: 0; }
  .tm-tour__video video { min-height: 0; aspect-ratio: 16 / 10; }
  .tm-doc { border-right: 0; border-bottom: 1px solid #eef0ed; }
  .tm-case__stats b { font-size: 22px; }
  .tm-float--bot { position: relative; right: auto; margin: -24px 12px 0 auto; }
  .tm-case__art { padding-bottom: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .tm-grow, .tm-draw, .tm-float, .tm-live, .tm-ticker__track, .tm-flow__link i, .tm-hero::after, .tm-panel--dark::after, .tm-sec__main::before { animation: none !important; }
}

/* ═════ компоненты внутренних страниц ═════ */
@keyframes tmGrowY { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes tmIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.tm-grow--y { transform-origin: center bottom; animation-name: tmGrowY; }
.tm-src { margin: 20px 0 0; font-size: 13px; color: var(--soft); }

/* сводка директору (первый экран /stroyka) */
.tm-hero__art--flat { padding: 0; }
.tm-feed { box-shadow: 0 30px 70px rgba(16, 40, 28, .14); }
.tm-feed__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 20px; border-bottom: 1px solid #eef0ed; background: #fbfcfb; font-size: 13px; }
.tm-feed__list { padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.tm-feed__item { display: flex; gap: 14px; align-items: flex-start; padding: 14px; border-radius: 16px; background: var(--tint); animation: tmIn .6s cubic-bezier(.2, .8, .2, 1) both; }
.tm-feed__item > i { flex: none; width: 10px; height: 10px; margin-top: 6px; border-radius: 50%; background: var(--accent); }
.tm-feed__item > div { flex: 1; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.tm-feed__item > div > span { font-size: 13px; color: var(--soft); }
.tm-feed__top { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; }
.tm-feed__val { white-space: nowrap; }
.tm-feed__tag { white-space: nowrap; color: var(--accent); }
.tm-feed__item.is-crit { background: #fff8ea; }
.tm-feed__item.is-crit > i { background: #f59e0b; }
.tm-feed__item.is-crit .tm-feed__val { color: #b45309; }
.tm-feed__item:last-of-type > i { background: #9db0a6; }
.tm-feed__total { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 14px 8px; font-size: 14px; font-weight: 600; color: var(--muted); }
.tm-feed__total b { font-size: 26px; letter-spacing: -.03em; color: var(--accent); }

/* зоны потерь */
.tm-zone { background: var(--card); border-radius: 22px; padding: 28px; display: flex; flex-direction: column; gap: 14px; }
.tm-zone__k { font-size: 14px; font-weight: 700; color: var(--muted); }
.tm-zone__v { font-weight: 800; font-size: 34px; letter-spacing: -.035em; line-height: 1.05; }
.tm-zone__v small { font-size: 18px; color: #b45309; letter-spacing: -.01em; }
.tm-zone__s { font-size: 14px; line-height: 1.45; color: var(--muted); margin-top: auto; }
.tm-zone__bars { display: flex; align-items: flex-end; gap: 6px; height: 56px; }
.tm-zone__bars > span { flex: 1; border-radius: 6px 6px 3px 3px; background: #c9d9cf; }
.tm-zone__bars > span:nth-child(3) { background: #f5c46a; }
.tm-zone__bars > span.is-crit { background: #f59e0b; }
.tm-zone__legend { display: flex; gap: 6px; margin-top: -8px; }
.tm-zone__legend span { flex: 1; font-size: 11px; color: var(--soft); text-align: center; }
.tm-meter { display: flex; height: 8px; border-radius: 8px; background: #fff; overflow: hidden; }
.tm-panel--tint .tm-meter { background: var(--tint); }
.tm-meter > span { border-radius: 8px; background: var(--accent); }
.tm-meter > .is-warm { background: #f59e0b; } .tm-meter > .is-grey { background: #9db0a6; }

/* сейчас / с tm.hub */
.tm-vs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.tm-vs__col { background: #fff; border-radius: 22px; padding: 28px; display: flex; flex-direction: column; }
.tm-vs__col.is-after { box-shadow: inset 0 0 0 2px var(--accent); }
.tm-vs__label { font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--soft); padding-bottom: 12px; }
.is-after .tm-vs__label { color: var(--accent); }
.tm-vs__col > div { display: flex; gap: 14px; padding: 16px 0; border-top: 1px solid #eef0ed; font-size: 16px; line-height: 1.5; }
.tm-vs__col i { flex: none; width: 28px; height: 28px; border-radius: 8px; background: #f1f3f0; color: var(--soft); display: flex; align-items: center; justify-content: center; font-style: normal; font-weight: 800; }
.is-after i { background: var(--accent); color: #fff; }

/* шаги на тёмном */
.tm-dstep { gap: 14px; }
.tm-dstep b { font-size: 20px; }
.tm-dstep > span:not(.tm-dstep__when):not(.tm-grow):not(.tm-stack) { font-size: 15px; line-height: 1.5; color: #a9b8b1; }
.tm-dstep__when { align-self: flex-start; font-size: 13px; font-weight: 800; color: #eaf1ee; background: rgba(255, 255, 255, .10); border-radius: 999px; padding: 6px 12px; }
.tm-dstep__when.is-on { color: #061210; background: var(--bright); }
.tm-dstep__bar { margin-top: auto; height: 6px; border-radius: 6px; background: var(--bright); }
.tm-stack--dark { margin-top: auto; height: 6px; background: transparent; }
.tm-dfoot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid rgba(255, 255, 255, .1); margin-top: 32px; padding-top: 28px; font-size: 16px; color: #a9b8b1; }
.tm-panel--dark .btn-mark { background: var(--bright); border-color: var(--bright); color: #061210; }
.tm-panel--dark .btn-mark:hover { background: #6ee7b0; border-color: #6ee7b0; color: #061210; }

/* нумерованные шаги */
.tm-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.tm-steps li { display: flex; gap: 14px; align-items: flex-start; }
.tm-steps li > span { flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--accent); color: #fff; font-weight: 800; font-size: 14px; display: flex; align-items: center; justify-content: center; }
.tm-steps b { font-size: 16px; }
.tm-steps p { margin: 2px 0 0; font-size: 14px; line-height: 1.5; color: var(--muted); }

/* калькулятор */
.tm .c-grid { gap: 16px; }
.tm .c-card { background: #fff; border: 0; border-radius: 22px; padding: 28px; box-shadow: none; }
.tm .c-num { border-radius: 12px; }
.tm .c-seg { border-radius: 999px; background: var(--tint); padding: 4px; }
.tm .c-seg button { border-radius: 999px; }
.tm .c-result { position: relative; overflow: hidden; background: var(--dark); border-radius: 22px; padding: 28px; }
.tm .c-result::before { content: ""; position: absolute; right: -30%; top: -40%; width: 90%; height: 120%; background: radial-gradient(closest-side, rgba(61, 220, 151, .22), transparent); pointer-events: none; }
.tm .c-result > * { position: relative; }
.tm .c-result .v { color: var(--bright); }
.tm .c-result .btn-light { border-radius: 999px; }
.tm .c-chart { background: #fff; border: 0; border-radius: 22px; padding: 24px; margin-top: 16px; }
.tm .c-more { margin-top: 16px; }
.tm .qa details { background: #fff; border: 0; border-radius: 18px; margin-bottom: 10px; padding: 0 22px; }
.tm .qa { border-top: 0; }
.tm .qa summary { padding: 20px 0; font-size: 17px; font-weight: 700; }
.tm .qa details > :not(summary) { padding-bottom: 20px; }
.tm-panel--white .qa details { background: var(--tint); }
.tm .src-note { margin-top: 16px; font-size: 12px; color: var(--soft); }

/* два способа */
.tm-ways { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.tm-way { background: var(--card); border-radius: 22px; padding: 32px; display: flex; flex-direction: column; gap: 16px; }
.tm-way .tm-eyebrow { margin: 0; letter-spacing: .08em; }
.tm-way h3 { margin: 0; font-size: 24px; letter-spacing: -.02em; }
.tm-way p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--muted); }
.tm-way > div:last-child { margin-top: auto; }
.tm-way.is-main { box-shadow: inset 0 0 0 2px var(--accent); }
.tm-way__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.tm-way__badge { font-size: 12px; font-weight: 800; color: #fff; background: var(--accent); border-radius: 999px; padding: 5px 10px; }
.tm-way__price b { font-size: 36px; letter-spacing: -.04em; color: var(--ink); }
.tm-way__price span { font-size: 15px; color: var(--muted); }

/* как доказываем эффект */
.tm-proof { list-style: none; margin: 0; padding: 0; }
.tm-proof__no { font-weight: 800; font-size: 14px; color: var(--accent); }
.tm-tile.is-dark { background: var(--dark); color: #eaf1ee; }
.tm-tile.is-dark .tm-proof__no { color: var(--bright); }
.tm-tile.is-dark > span:last-child { color: #a9b8b1; }

/* форма без подписей (заявка с калькулятора) на тёмном */
.tm-cta__form .lead-form { display: flex; flex-direction: column; gap: 12px; margin: 0; }
.tm-cta__form .lead-form .two { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.tm-cta__form .lead-form input:not([type=checkbox]), .tm-cta__form .lead-form textarea { width: 100%; min-height: 46px; padding: 12px 14px; font: inherit; font-size: 15px; }
.tm-cta__form ::placeholder { color: #7d8e86; }
.tm-cta__form .lead-sum { background: rgba(255, 255, 255, .06); border-radius: 12px; padding: 12px 14px; font-size: 13px; line-height: 1.5; color: #a9b8b1; }
.tm-cta__form .consent span { font-size: 13px; }

/* вопросы */
.tm-faq { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 40px; align-items: start; }
.tm-faq h2 { margin-bottom: 14px; }
.tm-faq p.tm-muted { margin: 0; font-size: 16px; line-height: 1.55; }

@media (max-width: 1080px) {
  .tm-faq { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 860px) {
  .tm-vs, .tm-ways { grid-template-columns: minmax(0, 1fr); }
  .tm-cta__form .lead-form .two { grid-template-columns: 1fr; }
  .tm-feed__top { flex-wrap: wrap; }
  .tm-way { padding: 24px; }
}
@media (prefers-reduced-motion: reduce) { .tm-feed__item { animation: none !important; } }
.tm-panel--white :is(.tm-way, .tm-tile, .tm-zone, .tm-free__main) { --btn2: #fff; }
.tm-panel--tint :is(.tm-way, .tm-tile, .tm-zone) { --btn2: var(--tint); }

/* ═════ внутренние страницы: старая разметка в стиле макета ═════ */
.tm .pg-hero h1, .tm .hm-hero h1 { font-weight: 800; font-size: clamp(36px, 4.6vw, 62px); line-height: 1.04; letter-spacing: -.04em; text-wrap: balance; }
.tm .pg-hero { padding-bottom: clamp(32px, 4vw, 56px); }
.tm .pg-lead, .tm .hm-hero__lede { font-size: 18px; line-height: 1.55; color: #3d4a44; }
.tm .home-h2, .tm .tm-panel h2 { font-size: clamp(30px, 4vw, 48px); line-height: 1.06; font-weight: 800; letter-spacing: -.035em; margin: 0 0 14px; }
.tm .home-why, .tm .why { font-size: 16px; line-height: 1.55; color: var(--muted); max-width: 640px; margin: 0 0 32px; }
.tm .tm-panel h3 { font-weight: 800; letter-spacing: -.02em; }
.tm .tm-panel .tm-eyebrow + h2 { margin-top: 0; }
.tm .section-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px 40px; margin-bottom: 32px; }
.tm .section-head h2 { margin: 0; }
.tm .section-head .why { margin: 8px 0 0; }
/* финальный призыв на тёмном */
.tm-panel--dark .hm-final { position: relative; z-index: 1; }
.tm-panel--dark .hm-final h2 { color: #fff; margin: 0 0 10px; }
.tm-panel--dark .hm-final p { color: #a9b8b1; font-size: 17px; line-height: 1.55; }
.tm-panel--dark .hm-final__who img { border-radius: 22px; }
.tm-panel--dark .btn-onnight { background: transparent; border-color: rgba(255, 255, 255, .3); color: #fff; }
/* карточки старой разметки на плашках */
.tm-panel :is(.pg-steps li, .pg-metrics > div, .pg-findings > div, .pg-plan, .pg-mod, .pg-exp > div, .pg-person, .pg-ways a, .pg-ways div, .dc-cycle li, .dc-chart, .pg-specs, .dc-works, .dc-table-wrap, .panel, .step, .find, .tile, .deal, .plan, .place, .way, .hm-why__card, .compare__col:not(.compare__col--after)) { background: var(--card); border: 0; border-radius: 22px; }
.tm-panel--dark :is(.pg-steps li, .pg-mod, .panel) { background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .09); }
.tm-panel .hm-mark { background: var(--btn2); }
.tm .pg-form-card, .tm .form-card { border: 0; border-radius: 22px; box-shadow: var(--shadow); }
.tm .tm-cta__form .form-card { box-shadow: none; }

/* ═════ первый экран внутренней страницы и тарифы ═════ */
.tm-hero--page > .wrap { position: relative; z-index: 1; padding-top: 48px; padding-bottom: 48px; }
.tm-pagehead { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px 48px; }
.tm-pagehead > div { flex: 1 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.tm-pagehead .tm-eyebrow { margin: 0; }
.tm-hero--page h1 { margin: 0; font-size: clamp(38px, 5vw, 66px); line-height: 1.03; letter-spacing: -.04em; text-wrap: balance; }
.tm-checks--col { flex: 0 1 380px; flex-direction: column; gap: 10px; font-size: 15px; }
.tm-seg { display: inline-flex; flex-wrap: wrap; gap: 6px; margin-top: 32px; background: #fff; border-radius: 999px; padding: 6px; box-shadow: 0 10px 30px rgba(16, 40, 28, .06); }
.tm-seg a { font-size: 14px; font-weight: 700; color: #33413a; text-decoration: none; padding: 10px 16px; border-radius: 999px; }
.tm-seg a:hover { background: var(--tint); color: var(--accent); }
.tm-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.tm-tile.is-dark .tm-ico { background: var(--bright); }
.tm-tile.is-dark .tm-ico svg { stroke: #061210; }
/* карточки тарифов */
.tm .pg-plan { background: var(--card); border: 0; border-radius: 22px; padding: 24px; gap: 8px; }
.tm .pg-plan > span { font-size: 15px; font-weight: 800; color: var(--ink); }
.tm .pg-plan b { font-size: 30px; font-weight: 800; letter-spacing: -.035em; }
.tm .pg-plan--accent { border: 0; box-shadow: inset 0 0 0 2px var(--accent); }
.tm .pg-plan ul { gap: 8px; font-size: 14px; color: var(--ink); }
.tm .pg-plan__dl { border-top-color: rgba(14, 21, 18, .08); }
.tm .pg-head { margin-bottom: 0; }
.tm .pg-head .home-why { margin-bottom: 0; }
@media (max-width: 860px) {
  .tm-hero--page > .wrap { padding-top: 28px; padding-bottom: 28px; }
  .tm-seg { display: flex; border-radius: 22px; }
  .tm-seg a { padding: 8px 12px; }
  .tm-grid3 { grid-template-columns: minmax(0, 1fr); }
}

/* ═════ о нас ═════ */
.tm-orbit-wrap { display: flex; justify-content: center; }
.tm-orbit-wrap svg { max-width: 100%; height: auto; font-family: var(--sans); }
@keyframes tmSpin { to { transform: rotate(360deg); } }
.tm-orbit { transform-origin: 180px 180px; animation: tmSpin 60s linear infinite; }
.tm-dcards--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tm-principle { gap: 12px; }
.tm-principle__no { font-weight: 800; font-size: 14px; color: var(--bright); }
.tm-principle b { font-size: 18px; color: #fff; }
.tm-principle > span:last-child { font-size: 15px; line-height: 1.5; color: #a9b8b1; }
.tm-team { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.tm-person { background: var(--card); border-radius: 22px; padding: 28px; display: flex; flex-direction: column; gap: 16px; }
.tm-person__top { display: flex; align-items: center; gap: 16px; }
.tm-person__top img { width: 72px; height: 72px; border-radius: 18px; object-fit: cover; }
.tm-person__top b { display: block; font-size: 20px; }
.tm-person__top span { font-size: 14px; color: var(--accent); font-weight: 700; }
.tm-person p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--muted); }
.tm-tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.tm-tags li { font-size: 13px; font-weight: 600; background: #fff; border-radius: 999px; padding: 6px 12px; }
@media (max-width: 1080px) { .tm-dcards--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 860px) { .tm-dcards--4, .tm-team { grid-template-columns: minmax(0, 1fr); } .tm-orbit-wrap svg { width: 200px; } }
@media (prefers-reduced-motion: reduce) { .tm-orbit { animation: none; } }

/* ═════ страница продукта ═════ */
.tm-crumbs { display: flex; gap: 8px; font-size: 14px; font-weight: 600; color: var(--muted); margin-bottom: -8px; }
.tm-crumbs a { color: var(--muted); text-decoration: none; }
.tm-crumbs a:hover { color: var(--accent); }
.tm-crumbs span:last-child { color: var(--accent); }
.tm-ico--sm { width: 24px; height: 24px; border-radius: 7px; background: var(--tint-2); }
.tm-ico--sm svg { width: 15px; height: 15px; }
.tm-sheet { box-shadow: 0 30px 70px rgba(16, 40, 28, .14); }
.tm-sheet__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 20px; border-bottom: 1px solid #eef0ed; background: #fbfcfb; font-size: 13px; }
.tm-sheet__body { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
.tm-sheet__doc { position: relative; overflow: hidden; padding: 20px; background: #fbfcfb; border-right: 1px solid #eef0ed; display: flex; flex-direction: column; gap: 11px; }
.tm-sheet__doc small { font-size: 12px; font-weight: 700; color: var(--soft); }
.tm-sheet__doc i { display: block; height: 9px; border-radius: 5px; background: #e4e7e3; }
.tm-sheet__doc i:nth-of-type(4) { background: #f3d9a6; }
@keyframes tmScan { 0% { top: 8%; } 50% { top: 88%; } 100% { top: 8%; } }
.tm-scan { position: absolute; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--accent), transparent); box-shadow: 0 0 12px rgba(22, 107, 71, .5); animation: tmScan 4s ease-in-out infinite; }
.tm-sheet__list { padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.tm-sheet__list .tm-finding { animation: tmIn .6s cubic-bezier(.2, .8, .2, 1) both; }
.tm-sheet__list .tm-link { font-size: 13px; }
.tm-float--ready { right: -16px; bottom: 0; border-radius: 16px; padding: 12px 16px; align-items: center; }
.tm-ready { flex: none; width: 36px; height: 36px; border-radius: 10px; background: var(--accent); display: flex; align-items: center; justify-content: center; }
.tm-ready svg { width: 18px; height: 18px; fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.tm-screencard { padding: 20px; box-shadow: 0 30px 70px rgba(16, 40, 28, .14); }
.tm-screencard .hm-screen { background: var(--tint); }
.tm-numbered { list-style: none; margin: 0; padding: 0; }
.tm-num { width: 32px; height: 32px; border-radius: 50%; background: var(--accent); color: #fff; font-weight: 800; font-size: 14px; display: flex; align-items: center; justify-content: center; }
.tm-real { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 16px; }
.tm-real__nums { flex-direction: row; align-items: center; flex-wrap: wrap; gap: 24px; }
.tm-real__list { display: flex; flex-direction: column; gap: 12px; font-size: 14px; color: #a9b8b1; }
.tm-real__list b { display: inline-block; min-width: 40px; margin-right: 8px; font-size: 24px; letter-spacing: -.02em; color: #eaf1ee; }
.tm-real__list b.is-crit { color: #fbbf4d; }
.tm-real__finds { display: flex; flex-direction: column; gap: 10px; }
.tm-dfind { display: flex; justify-content: space-between; align-items: center; gap: 16px; background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .09); border-radius: 16px; padding: 16px 18px; }
.tm-dfind span { display: flex; flex-direction: column; gap: 4px; }
.tm-dfind small { font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #a9b8b1; }
.tm-dfind.is-crit small { color: #fbbf4d; }
.tm-dfind b { font-size: 15px; color: #eaf1ee; }
.tm-dfind em { font-style: normal; font-size: 13px; color: #93a39c; white-space: nowrap; }
.tm-dnote { margin: 4px 0 0; font-size: 13px; color: #93a39c; }
.tm-forwhom { list-style: none; margin: 0; padding: 0; }
.tm-forwhom .tm-tile { flex-direction: row; align-items: flex-start; gap: 14px; padding: 22px; }
.tm-forwhom .tm-ico { width: 32px; height: 32px; border-radius: 10px; }
.tm-forwhom .tm-ico svg { width: 16px; height: 16px; }
.tm-forwhom .tm-tile > span:last-child { color: var(--ink); font-weight: 600; }
@media (max-width: 1080px) { .tm-real { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 860px) {
  .tm-sheet__body { grid-template-columns: minmax(0, 1fr); }
  .tm-sheet__doc { display: none; }
  .tm-float--ready { position: relative; right: auto; bottom: auto; margin: -16px 12px 0; }
  .tm-dfind { flex-direction: column; align-items: flex-start; gap: 6px; }
}
@media (prefers-reduced-motion: reduce) { .tm-scan, .tm-sheet__list .tm-finding { animation: none !important; } }

/* английская версия: метка у ссылок на страницы только на русском */
.ru-mark { margin-left: 5px; font-size: 10px; font-weight: 800; letter-spacing: .04em; color: var(--ink-subtle); border: 1px solid var(--line-strong); border-radius: 5px; padding: 0 4px; vertical-align: 1px; }
.hm-cards--two { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
@media (max-width: 860px) { .hm-cards--two { grid-template-columns: minmax(0, 1fr) !important; } }
/* ядро на главной: 5 карточек — 2 широкие сверху, 3 под ними, без пустот */
@media (min-width: 1081px) {
  .tm .hm-cards--core { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .tm .hm-cards--core > .hm-card { grid-column: span 2; }
  .tm .hm-cards--core > .hm-card:nth-child(-n+2) { grid-column: span 3; }
}
@media (min-width: 861px) and (max-width: 1080px) {
  .tm .hm-cards--core > .hm-card:last-child { grid-column: 1 / -1; }
}
/* «Бесплатно» на главной: две плитки — в столбик рядом с большой карточкой */
.tm-free__grid:has(> :nth-child(2):last-child) { grid-template-columns: minmax(0, 1fr); }

/* ═════ публичные страницы: проверка без регистрации, пример отчёта, документы ═════ */
.tm-try { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 48px; align-items: center; padding-top: 48px; padding-bottom: 56px; }
.tm-try__text { display: flex; flex-direction: column; gap: 18px; }
.tm-try__text .tm-eyebrow { margin: 0; }
.tm-try__text h1 { margin: 0; font-size: clamp(36px, 4.6vw, 60px); line-height: 1.04; letter-spacing: -.04em; }
.tm-try__text .tm-checks { flex-direction: column; gap: 8px; }
.tm-try__card { background: #fff; border-radius: 24px; padding: 28px; box-shadow: 0 30px 70px rgba(16, 40, 28, .14); display: flex; flex-direction: column; gap: 16px; }
.tm-try__form { display: flex; flex-direction: column; gap: 16px; margin: 0; }
.tm-drop { display: flex; flex-direction: column; gap: 10px; padding: 22px; border: 2px dashed var(--line-strong); border-radius: 18px; background: var(--tint); cursor: pointer; transition: border-color .2s var(--ease); }
.tm-drop:hover { border-color: var(--accent); }
.tm-drop b { font-size: 15px; }
.tm-drop input { font: inherit; font-size: 14px; }
.tm-drops { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.tm-drop--slot { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 14px; row-gap: 4px; align-items: start; padding: 16px 18px; min-width: 0; }
.tm-drop--slot .tm-ico { grid-row: span 3; }
.tm-drop--slot b { font-size: 15px; line-height: 1.3; }
.tm-drop__sub { font-size: 13px; line-height: 1.4; color: var(--muted); }
.tm-drop--slot input { font-size: 13px; max-width: 100%; margin-top: 6px; }
.tm .tm-drops__note { margin: -2px 0 0; }
.tm-try__card .consent { display: flex; gap: 10px; font-size: 13px; color: var(--muted); align-items: flex-start; }
.tm-try__card .consent input { margin-top: 3px; }
.tm-try__error { margin: 0; padding: 12px 14px; border-radius: 12px; background: #fff4de; color: #8a4a06; font-size: 14px; font-weight: 600; }
.tm-try__more p { margin: 0 0 10px; font-size: 16px; }
.tm-report { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.tm-report .tm-finding { background: #fff; border: 0; padding: 18px 20px; }
.tm-report .tm-finding.is-crit { background: #fff; box-shadow: inset 4px 0 0 #f59e0b; }
.tm-report .tm-finding p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--muted); }
.tm-report .tm-finding > span { font-size: 13px; color: var(--soft); }
.tm-stats b.is-crit { color: #b45309; }
.tm-legal-wrap { margin-top: 24px; }
.tm-legal-grid { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 48px; align-items: start; }
.tm-legal-nav { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 4px; }
.tm-legal-nav a { padding: 10px 14px; border-radius: 12px; font-weight: 600; font-size: 15px; color: var(--muted); text-decoration: none; }
.tm-legal-nav a:hover { background: var(--tint); color: var(--ink); }
.tm-legal-nav a[aria-current] { background: var(--tint-2); color: var(--accent); }
.tm-legal { max-width: 46rem; font-size: 16px; line-height: 1.65; }
.tm-legal .kicker { margin: 0 0 10px; font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); }
.tm-legal h1 { margin: 0 0 8px; font-size: clamp(30px, 3.6vw, 44px); line-height: 1.08; letter-spacing: -.035em; }
.tm-legal .rev { margin: 0 0 28px; color: var(--soft); font-size: 14px; }
.tm-legal h2 { margin: 32px 0 10px; font-size: 21px; letter-spacing: -.02em; }
.tm-legal p, .tm-legal li { color: #2d3833; }
.tm-legal ul, .tm-legal ol { padding-left: 1.2rem; }
.tm-legal .req, .tm-legal dl { background: var(--tint); border-radius: 18px; padding: 20px 22px; display: grid; grid-template-columns: minmax(9rem, auto) 1fr; gap: 8px 20px; }
.tm-legal dt { color: var(--soft); font-size: 14px; }
.tm-legal dd { margin: 0; }
@media (max-width: 1080px) { .tm-try { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 860px) {
  .tm-try { padding-top: 28px; padding-bottom: 32px; gap: 28px; }
  .tm-legal-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .tm-legal-nav { position: static; flex-direction: row; flex-wrap: wrap; }
  .tm-legal .req, .tm-legal dl { grid-template-columns: minmax(0, 1fr); }
}
.tm .tm-legal h1 { font-size: clamp(30px, 3.6vw, 44px); margin: 0 0 8px; }
.tm .tm-legal h2 { font-size: 21px; line-height: 1.25; margin: 32px 0 10px; letter-spacing: -.02em; }

/* согласие на cookie (partials/analytics.html) */
.tm-consent { position: fixed; z-index: 60; left: 16px; right: 16px; bottom: 16px; max-width: 560px; margin: 0 auto; padding: 18px 20px; display: flex; flex-direction: column; gap: 14px; background: #fff; border: 1px solid var(--line-strong); border-radius: 18px; box-shadow: 0 18px 50px rgba(16, 24, 20, .16); font-size: 14px; line-height: 1.5; }
.tm-consent[hidden] { display: none; }
.tm-consent p { margin: 0; }
.tm-consent a { color: inherit; text-decoration: underline; }
.tm-consent__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.tm-consent__actions .btn { min-height: 40px; padding: 0 18px; }
