@layer components {
/* ─── CTA section ──────────────────────────── */
.tm-section-cta{
  position:relative;
  overflow:hidden;
  background:var(--gradient-brand);
  padding:var(--space-9) 0;
  color:var(--color-ink);
  text-align:center;
  margin:0;
}
/* Декор: мягкие белые блики поверх градиента */
.tm-section-cta::before,
.tm-section-cta::after{
  content:'';
  position:absolute;
  border-radius:50%;
  background:rgba(255,255,255,.14);
  pointer-events:none;
}
.tm-section-cta::before{
  width:420px; height:420px;
  top:-210px; left:-120px;
}
.tm-section-cta::after{
  width:520px; height:520px;
  bottom:-320px; right:-140px;
  background:rgba(255,255,255,.10);
}
.tm-section-cta__inner{
  position:relative;
  z-index:1;
  max-width:800px;
}
.tm-section-cta__title{
  font-size:var(--text-h1);
  font-weight:800;
  color:var(--color-ink);
  text-wrap:balance;
  margin:0 0 var(--space-3);
}
.tm-section-cta__text{
  font-size:var(--text-body-lg);
  line-height:1.6;
  color:var(--color-ink);
  opacity:.85;
  text-wrap:balance;
  max-width:640px;
  margin:0 auto var(--space-6);
}
.tm-section-cta__actions{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:var(--space-3);
  flex-wrap:wrap;
  margin-bottom:var(--space-4);
}
.tm-section-cta__btn{
  height:56px;
  padding:0 var(--space-6);
  font-size:var(--text-body-lg);
  font-weight:700;
}
/* Белая primary-кнопка поверх градиента (как .tm-geo-cta): зелёная на зелёном не читается */
.tm-section-cta .tm-btn--accent{
  background:var(--color-surface-alt);
  color:var(--color-ink);
  border-color:transparent;
  box-shadow:0 4px 16px rgba(26,26,26,.16);
}
.tm-section-cta .tm-btn--accent:hover{
  background:var(--color-surface);
  color:var(--color-ink);
}
.tm-section-cta__btn--call{
  background:transparent;
  border:2px solid var(--color-ink);
  color:var(--color-ink);
}
.tm-section-cta__btn--call:hover{
  background:var(--color-ink);
  border-color:var(--color-ink);
  color:var(--color-surface-alt);
}
.tm-section-cta__btn--call .icon{
  width:20px;
  height:20px;
}
.tm-section-cta__note{
  font-size:var(--text-body-sm);
  color:var(--color-ink);
  opacity:.75;
  margin:0;
}
.tm-section-cta__phones{
  font-size:var(--text-body-sm);
  color:var(--color-ink);
  opacity:.75;
  margin:var(--space-2) 0 0;
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-2) var(--space-4);
  justify-content:center;
}
.tm-section-cta__phones a{
  color:var(--color-ink);
  font-weight:700;
}
@media (max-width:767px){
  .tm-section-cta{
    padding:var(--space-7) 0;
  }
  .tm-section-cta__title{
    font-size:var(--text-h2);
  }
  .tm-section-cta__text{
    font-size:var(--text-body);
  }
  .tm-section-cta__actions{
    flex-direction:column;
    align-items:stretch;
  }
  .tm-section-cta__btn{
    width:100%;
    max-width:360px;
    margin:0 auto;
  }
}
}
