:root {
  --tour-ink: #28152F;
  --tour-primary: #5F48AD;
  --tour-deep: #7B2C87;
  --tour-lavender: #C9AFF6;
  --tour-magenta: #C356D7;
  --tour-cta: #FF6037;
  --tour-bg-warm: #FFF8F2;
  --tour-bg-soft: #F4EEFF;
  --tour-surface: #FFFFFF;
  --tour-muted: #6F6078;
  --tour-border: rgba(95,72,173,.16);
  --tour-shadow: 0 14px 38px rgba(40,21,47,.12);
}

body,
.t-records,
.t-text,
.t-title,
.t-descr,
.t-btn,
.t-input,
.t-select,
.t-submit,
[class^="rbtc-"],
[class*=" rbtc-"] {
  font-family: "Onest", Arial, sans-serif !important;
}

body {
  color: var(--tour-ink);
  background: var(--tour-bg-warm);
  font-size: 18px;
  line-height: 1.55;
}

h1, h2, h3,
.t-title,
.t-heading {
  color: var(--tour-ink);
  font-weight: 700;
}

h1, .t-title_xl {
  line-height: 1.04;
  letter-spacing: -.035em;
}

h2 {
  line-height: 1.08;
  letter-spacing: -.025em;
}

h3 {
  line-height: 1.2;
}

.t-btn,
.t-submit {
  min-height: 54px;
  border: 0;
  border-radius: 8px;
  background: var(--tour-cta);
  color: #111111 !important;
  font-weight: 700;
  line-height: 1.15;
  box-shadow: none;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

@media (hover: hover) {
  .t-btn:hover,
  .t-submit:hover {
    background: #F4512C;
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(255,96,55,.25);
  }
}

.t-input,
.t-select,
.t-input-block textarea {
  min-height: 52px;
  border: 1px solid var(--tour-border);
  border-radius: 8px;
  background: var(--tour-surface);
  color: var(--tour-ink);
  font-size: 16px;
}

.t-input:focus,
.t-select:focus,
.t-input-block textarea:focus {
  border-color: var(--tour-primary) !important;
  outline: 3px solid rgba(95,72,173,.14);
  outline-offset: 1px;
}

.tour-card {
  border: 1px solid var(--tour-border);
  border-radius: 12px;
  background: var(--tour-surface);
  box-shadow: 0 8px 26px rgba(40,21,47,.07);
}

@media (max-width: 640px) {
  body { font-size: 16px; }
  h1 { font-size: clamp(32px,9vw,40px); }
  h2 { font-size: 30px; }
  .t-btn, .t-submit { min-height: 52px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}