/* ЦИФРОВОЙ РЕЙС — сайт, стили на токенах приложения (14.09.2026) */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg:          #F0EAE0;
  --bg2:         #E6DDD1;
  --bg3:         #D9CEBB;
  --card:        #FFFFFF;
  --border:      #D8D0C4;
  --ink:         #1C1917;
  --ink2:        #44403C;
  --ink3:        #78716C;
  --ink4:        #A8A29E;
  --accent:      #C2783C;
  --accent-dim:  #FDF0E6;
  --accent-dark: #A0622E;
  --green:       #16A34A;
  --green-dim:   #F0FDF4;
  --red:         #DC2626;
  --red-dim:     #FEF2F2;
  --radius:      14px;
  --radius-sm:   9px;
  --s3d-card:    0 0 0 1px rgba(28,25,23,.05), 0 1px 0 rgba(255,255,255,.92) inset, 0 4px 8px rgba(28,25,23,.07), 0 16px 36px rgba(28,25,23,.09);
  --s3d-hover:   0 0 0 1px rgba(194,120,60,.15), 0 1px 0 rgba(255,255,255,.92) inset, 0 8px 24px rgba(28,25,23,.13), 0 28px 56px rgba(28,25,23,.11);
  --s3d-btn:     0 1px 0 rgba(255,255,255,.3) inset, 0 2px 0 #8a5226, 0 5px 14px rgba(194,120,60,.45), 0 12px 28px rgba(194,120,60,.22);
  --s3d-btn-h:   0 1px 0 rgba(255,255,255,.38) inset, 0 2px 0 #7a4820, 0 10px 24px rgba(194,120,60,.55), 0 20px 40px rgba(194,120,60,.28);
  --tr:          .22s cubic-bezier(.4,0,.2,1);
  --font:        'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif;
}

html { scroll-behavior: smooth; }
body {
  font-family: var(--font); color: var(--ink); font-size: 15px; line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  background:
    radial-gradient(ellipse at 15% 5%, rgba(194,120,60,.12) 0%, transparent 48%),
    radial-gradient(ellipse at 85% 95%, rgba(28,25,23,.08) 0%, transparent 48%),
    linear-gradient(150deg, #f2ece2 0%, #e8e0d2 45%, #ddd6c8 100%);
  background-attachment: fixed;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

.wrap { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 20px; }

/* ================= ШАПКА ================= */
.hdr {
  position: sticky; top: 0; z-index: 100;
  background: rgba(250,247,242,.86);
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(194,120,60,.14);
  box-shadow: 0 -1px 0 rgba(255,255,255,.7) inset, 0 4px 20px rgba(28,25,23,.06);
}
.hdr.scrolled { box-shadow: 0 4px 24px rgba(28,25,23,.12); }
.hdr-in { display: flex; align-items: center; gap: 18px; height: 70px; }

.brand { display: flex; align-items: center; gap: 11px; flex-shrink: 0; }
.brand-img {
  width: 44px; height: 44px; border-radius: 10px; object-fit: cover;
  box-shadow: 0 2px 8px rgba(28,25,23,.22), 0 6px 18px rgba(28,25,23,.12);
}
.brand-img.hide { display: none; }
.brand-txt { font-size: 14px; font-weight: 800; line-height: 1.15; letter-spacing: -.3px; }

.nav { display: flex; gap: 4px; margin-left: auto; }
.nav a {
  padding: 8px 12px; border-radius: var(--radius-sm);
  font-size: 13.5px; font-weight: 500; color: var(--ink2);
  transition: all var(--tr); white-space: nowrap;
}
.nav a:hover { color: var(--accent-dark); background: var(--accent-dim); }

.hdr-act { display: flex; align-items: center; gap: 9px; flex-shrink: 0; }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  padding: 10px 18px; border-radius: var(--radius-sm);
  font-family: var(--font); font-size: 13.5px; font-weight: 700;
  border: none; cursor: pointer; transition: all var(--tr); white-space: nowrap;
}
.btn-lg { padding: 15px 28px; font-size: 15px; }
.btn-w { width: 100%; }
.btn-acc {
  background: linear-gradient(180deg, #e09558 0%, #c2783c 40%, #a86628 100%);
  color: #fff; box-shadow: var(--s3d-btn); text-shadow: 0 1px 2px rgba(0,0,0,.25);
}
.btn-acc:hover {
  background: linear-gradient(180deg, #eca066 0%, #d08848 40%, #b87234 100%);
  box-shadow: var(--s3d-btn-h); transform: translateY(-3px);
}
.btn-acc:active { transform: translateY(1px); box-shadow: 0 1px 4px rgba(194,120,60,.3); }
.btn-ghost {
  background: linear-gradient(180deg, #fffdf9 0%, #ede8de 100%);
  color: var(--ink2); border: 1px solid rgba(28,25,23,.12);
  box-shadow: 0 1px 0 rgba(255,255,255,.95) inset, 0 2px 0 rgba(28,25,23,.08), 0 4px 12px rgba(28,25,23,.08);
}
.btn-ghost:hover {
  color: var(--accent-dark); border-color: rgba(194,120,60,.4);
  transform: translateY(-2px); box-shadow: 0 1px 0 rgba(255,255,255,.95) inset, 0 6px 18px rgba(28,25,23,.14);
}
.btn-ghost:active { transform: translateY(1px); }

.burger {
  display: none; width: 40px; height: 40px; border-radius: var(--radius-sm);
  background: linear-gradient(180deg, #fff 0%, #ede8df 100%);
  border: 1px solid rgba(28,25,23,.1); cursor: pointer;
  flex-direction: column; align-items: center; justify-content: center; gap: 4px;
  box-shadow: 0 1px 0 rgba(255,255,255,.9) inset, 0 2px 6px rgba(28,25,23,.08);
}
.burger span { display: block; width: 18px; height: 1.6px; background: var(--ink); border-radius: 2px; transition: all var(--tr); }

/* ================= HERO ================= */
.hero { padding: 74px 0 84px; }
.hero-in { display: grid; grid-template-columns: 1.15fr .85fr; gap: 46px; align-items: center; }
.tag {
  display: inline-block; padding: 6px 14px; border-radius: 22px;
  background: linear-gradient(145deg, #fef5e8, #fde4be); color: #b45309;
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .9px;
  box-shadow: 0 1px 0 rgba(255,255,255,.65) inset, 0 2px 6px rgba(28,25,23,.1);
  margin-bottom: 20px;
}
.hero h1 {
  font-size: clamp(30px, 4.6vw, 52px); line-height: 1.08;
  font-weight: 900; letter-spacing: -1.6px;
  text-shadow: 0 1px 0 rgba(255,255,255,.7);
}
.lead { font-size: 17px; color: var(--ink2); margin-top: 18px; max-width: 560px; }
.hero-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.hero-ticks { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 26px; }
.hero-ticks li { font-size: 13.5px; color: var(--ink2); font-weight: 500; position: relative; padding-left: 22px; }
.hero-ticks li::before {
  content: '\2713'; position: absolute; left: 0; top: -1px;
  color: var(--green); font-weight: 900;
}

.hero-card {
  background: linear-gradient(155deg, #ffffff 0%, #f7f3ed 100%);
  border-radius: 20px; padding: 22px; box-shadow: var(--s3d-card);
  transition: transform var(--tr), box-shadow var(--tr);
}
.hero-card:hover { transform: translateY(-5px); box-shadow: var(--s3d-hover); }
.hc-row {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 13px 4px; border-bottom: 1px solid rgba(28,25,23,.06); font-size: 13.5px;
}
.hc-row span { color: var(--ink2); }
.hc-row b { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; padding: 5px 11px; border-radius: 22px; white-space: nowrap; }
.hc-row b.ok   { background: linear-gradient(145deg, #e8fdf0, #c6f2d8); color: #15803d; }
.hc-row b.warn { background: linear-gradient(145deg, #fef5e8, #fde4be); color: #b45309; }
.hc-row b.bad  { background: linear-gradient(145deg, #fef2f2, #fecaca); color: var(--red); }
.hc-foot { margin-top: 14px; font-size: 11.5px; color: var(--ink4); text-align: center; }

/* ================= СЕКЦИИ ================= */
.sec { padding: 76px 0; }
.sec h2 {
  font-size: clamp(24px, 3.2vw, 36px); font-weight: 900; letter-spacing: -1.1px;
  line-height: 1.15; text-shadow: 0 1px 0 rgba(255,255,255,.6);
}
.sec-lead { font-size: 16px; color: var(--ink2); margin-top: 16px; max-width: 820px; }
.note { font-size: 12.5px; color: var(--ink4); margin-top: 18px; max-width: 900px; }

.grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 34px; }
.grid4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 34px; }

.pcard, .fcard, .vcard, .prcard {
  background: linear-gradient(155deg, #ffffff 0%, #f7f3ed 100%);
  border-radius: var(--radius); padding: 24px 22px;
  box-shadow: var(--s3d-card); transition: transform var(--tr), box-shadow var(--tr);
}
.pcard:hover, .fcard:hover, .prcard:hover { transform: translateY(-5px); box-shadow: var(--s3d-hover); }
.pcard h3, .fcard h3 { font-size: 16.5px; font-weight: 800; letter-spacing: -.4px; }
.pcard p, .fcard p, .vcard p, .scard p { font-size: 14px; color: var(--ink3); margin-top: 9px; }
.fic {
  width: 44px; height: 44px; border-radius: 12px; margin-bottom: 15px;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(145deg, #e09558, #b86830); color: #fff;
  font-size: 14px; font-weight: 900;
  box-shadow: 0 1px 0 rgba(255,255,255,.3) inset, 0 4px 14px rgba(194,120,60,.45);
}

/* тёмная секция — как сайдбар приложения */
.sec.dark {
  background: linear-gradient(170deg, #3a2e22 0%, #2a2118 22%, #1e1810 48%, #151108 76%, #0d0a06 100%);
  color: #fff; margin: 0;
}
.sec.dark h2 { color: #fff; text-shadow: 0 2px 8px rgba(0,0,0,.5); }
.sec.dark .sec-lead { color: rgba(255,255,255,.7); }
.scard, .sec.dark .vcard {
  background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  border: 1px solid rgba(255,255,255,.08); border-radius: var(--radius); padding: 22px 20px;
  box-shadow: 0 1px 0 rgba(255,255,255,.07) inset, 0 8px 24px rgba(0,0,0,.35);
  transition: transform var(--tr), box-shadow var(--tr);
}
.scard:hover, .sec.dark .vcard:hover {
  transform: translateY(-4px);
  border-color: rgba(194,120,60,.5);
  box-shadow: 0 1px 0 rgba(255,255,255,.1) inset, 0 14px 34px rgba(0,0,0,.45), 0 2px 10px rgba(194,120,60,.25);
}
.scard h3, .sec.dark .vcard h3 { font-size: 15.5px; font-weight: 800; color: #f5c090; margin-top: 10px; }
.scard p, .sec.dark .vcard p { color: rgba(255,255,255,.62); }
.snum { font-size: 26px; font-weight: 900; color: rgba(194,120,60,.85); letter-spacing: -1px; }
.vals { margin-top: 18px; }

/* чипсы аудитории */
.chips { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.chips li {
  padding: 11px 20px; border-radius: 26px; font-size: 14px; font-weight: 600; color: var(--ink2);
  background: linear-gradient(180deg, #fffdf9 0%, #e8e2d7 100%);
  border: 1px solid rgba(28,25,23,.12); border-bottom: 2px solid rgba(28,25,23,.15);
  box-shadow: 0 1px 0 rgba(255,255,255,.95) inset, 0 3px 8px rgba(28,25,23,.07);
  transition: all var(--tr);
}
.chips li:hover { transform: translateY(-2px); color: var(--accent-dark); box-shadow: 0 1px 0 rgba(255,255,255,.95) inset, 0 8px 18px rgba(28,25,23,.12); }

/* ================= ТАРИФЫ ================= */
.price { align-items: stretch; }
.prcard { display: flex; flex-direction: column; }
.prcard.hot {
  background: linear-gradient(160deg, #fffaf5 0%, #fdf3e8 55%, #f5e8d4 100%);
  box-shadow: 0 0 0 2px rgba(194,120,60,.35), 0 6px 16px rgba(194,120,60,.2), 0 22px 46px rgba(194,120,60,.16);
}
.prtop { border-bottom: 1px solid rgba(28,25,23,.08); padding-bottom: 16px; margin-bottom: 16px; }
.prnum { font-size: 11px; font-weight: 800; color: var(--ink4); letter-spacing: 1.2px; }
.prcard h3 { font-size: 20px; font-weight: 900; letter-spacing: -.6px; margin-top: 2px; }
.prval { font-size: 38px; font-weight: 900; color: var(--accent-dark); letter-spacing: -2px; margin-top: 10px; }
.prval small { font-size: 13px; font-weight: 600; color: var(--ink3); letter-spacing: 0; }
.prcard ul { list-style: none; display: flex; flex-direction: column; gap: 10px; flex: 1; margin-bottom: 20px; }
.prcard li { font-size: 13.5px; color: var(--ink2); padding-left: 22px; position: relative; }
.prcard li::before { content: '\2713'; position: absolute; left: 0; color: var(--accent); font-weight: 900; }

.tbl-wrap {
  margin-top: 30px; overflow-x: auto; border-radius: var(--radius);
  background: linear-gradient(160deg, #ffffff 0%, #faf6f0 60%, #f5f0e8 100%);
  box-shadow: var(--s3d-card);
}
.tbl { width: 100%; border-collapse: collapse; min-width: 620px; }
.tbl thead tr { background: linear-gradient(180deg, #f0ebe2 0%, #e0d8cc 100%); }
.tbl th {
  padding: 14px 18px; text-align: left; font-size: 11px; font-weight: 700;
  color: var(--ink4); text-transform: uppercase; letter-spacing: .7px;
}
.tbl th:not(:first-child), .tbl td:not(:first-child) { text-align: center; }
.tbl td { padding: 14px 18px; border-bottom: 1px solid rgba(28,25,23,.05); font-size: 13.5px; }
.tbl tbody tr:hover td { background: rgba(194,120,60,.04); }
.tbl td.y { color: var(--green); font-weight: 900; font-size: 16px; }
.tbl td.n { color: var(--ink4); }
.tbl .trsum td { font-weight: 900; font-size: 17px; color: var(--accent-dark); border-bottom: none; background: rgba(194,120,60,.06); }

/* ================= КАЛЬКУЛЯТОР ================= */
.roi-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 20px; margin-top: 34px; align-items: start; }
.roi-form, .roi-out {
  background: linear-gradient(155deg, #ffffff 0%, #f7f3ed 100%);
  border-radius: var(--radius); padding: 24px 22px; box-shadow: var(--s3d-card);
}
.roi-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.fld { display: flex; flex-direction: column; gap: 6px; }
.fld:first-child { grid-column: 1 / -1; }
.fld label { font-size: 12px; font-weight: 600; color: var(--ink2); }
.fld input, .fld select {
  height: 42px; padding: 0 13px; width: 100%;
  background: linear-gradient(180deg, #ede8e0 0%, #faf7f3 100%);
  border: 1.5px solid var(--border); border-radius: var(--radius-sm);
  color: var(--ink); font-size: 14px; font-family: var(--font); outline: none;
  box-shadow: 0 2px 6px rgba(0,0,0,.08) inset, 0 1px 0 rgba(255,255,255,.85);
  transition: all var(--tr);
}
.fld input:focus, .fld select:focus {
  border-color: var(--accent); background: #fff;
  box-shadow: 0 0 0 3px rgba(194,120,60,.14);
}
.ro-row {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  padding: 12px 2px; border-bottom: 1px solid rgba(28,25,23,.06); font-size: 13.5px;
}
.ro-row span { color: var(--ink2); }
.ro-row b { font-size: 17px; font-weight: 900; letter-spacing: -.5px; white-space: nowrap; }
.ro-row.tot b { color: var(--accent-dark); font-size: 21px; }
.ro-row.net { border-bottom: none; }
.ro-row.net b { color: var(--green); font-size: 24px; }
.ro-kpi { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
.ro-kpi div {
  background: linear-gradient(145deg, #fef5e8, #fde4be); border-radius: var(--radius-sm);
  padding: 14px 16px; text-align: center;
  box-shadow: 0 1px 0 rgba(255,255,255,.7) inset, 0 3px 10px rgba(28,25,23,.08);
}
.ro-kpi span { display: block; font-size: 10.5px; font-weight: 700; color: #b45309; text-transform: uppercase; letter-spacing: .7px; }
.ro-kpi b { font-size: 20px; font-weight: 900; color: var(--accent-dark); letter-spacing: -.8px; }

/* ================= FAQ ================= */
.faq { margin-top: 30px; display: flex; flex-direction: column; gap: 10px; }
.fq {
  background: linear-gradient(155deg, #ffffff 0%, #f7f3ed 100%);
  border-radius: var(--radius); box-shadow: var(--s3d-card); overflow: hidden;
}
.fq-q {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 19px 22px; background: none; border: none; cursor: pointer;
  font-family: var(--font); font-size: 15.5px; font-weight: 700; color: var(--ink);
  text-align: left; transition: color var(--tr);
}
.fq-q:hover { color: var(--accent-dark); }
.fq-i { position: relative; width: 16px; height: 16px; flex-shrink: 0; }
.fq-i::before, .fq-i::after {
  content: ''; position: absolute; background: var(--accent); border-radius: 2px;
  transition: transform var(--tr);
}
.fq-i::before { top: 7px; left: 0; width: 16px; height: 2px; }
.fq-i::after  { left: 7px; top: 0; width: 2px; height: 16px; }
.fq.open .fq-i::after { transform: rotate(90deg); }
.fq-a { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
.fq-a p { padding: 0 22px 20px; font-size: 14px; color: var(--ink3); }

/* ================= CTA ================= */
.cta-in { display: grid; grid-template-columns: 1.1fr .9fr; gap: 34px; align-items: center; }
.cta-card {
  background: linear-gradient(155deg, #ffffff 0%, #f7f3ed 100%);
  border-radius: 20px; padding: 24px; box-shadow: var(--s3d-card);
}
.cc-row {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  padding: 13px 2px; border-bottom: 1px solid rgba(28,25,23,.06); font-size: 13.5px;
}
.cc-row:last-child { border-bottom: none; }
.cc-row span { color: var(--ink4); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; }
.cc-row a { color: var(--accent-dark); font-weight: 700; }
.cc-row a:hover { text-decoration: underline; }
.cc-row b { font-weight: 600; text-align: right; }

/* ================= ПОДВАЛ ================= */
.ftr {
  background: linear-gradient(170deg, #2a2118 0%, #1a1410 55%, #0d0a06 100%);
  color: rgba(255,255,255,.62); padding: 54px 0 22px; font-size: 13px;
}
.ftr-in { display: grid; grid-template-columns: 1.2fr .7fr 1.5fr .8fr; gap: 30px; }
.ftr-col h4 { font-size: 11px; font-weight: 700; color: rgba(255,255,255,.32); text-transform: uppercase; letter-spacing: 1.3px; margin-bottom: 14px; }
.ftr-col a { display: block; padding: 5px 0; color: rgba(255,255,255,.62); transition: color var(--tr); }
.ftr-col a:hover { color: #f5c090; }
.ftr-brand { margin-bottom: 14px; }
.ftr-brand .brand-txt { color: #fff; }
.ftr-sm { font-size: 12px; line-height: 1.75; color: rgba(255,255,255,.5); }
.ftr-bot {
  margin-top: 34px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.08);
  font-size: 12px; color: rgba(255,255,255,.35);
}

/* ================= АДАПТИВ ================= */
@media (max-width: 1000px) {
  .nav {
    position: absolute; top: 70px; left: 0; right: 0;
    flex-direction: column; gap: 2px; padding: 12px 16px 18px;
    background: rgba(250,247,242,.98); backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(194,120,60,.16);
    box-shadow: 0 14px 30px rgba(28,25,23,.14);
    display: none;
  }
  .nav.open { display: flex; }
  .nav a { padding: 12px 14px; font-size: 15px; }
  .burger { display: flex; }
  .hdr-act .btn-ghost { display: none; }
  .hero-in, .cta-in, .roi-grid { grid-template-columns: 1fr; }
  .grid4 { grid-template-columns: repeat(2, 1fr); }
  .ftr-in { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .sec { padding: 54px 0; }
  .hero { padding: 46px 0 56px; }
  .grid3, .grid4, .roi-form { grid-template-columns: 1fr; }
  .ro-kpi { grid-template-columns: 1fr; }
  .ftr-in { grid-template-columns: 1fr; }
  .btn-lg { width: 100%; }
  .hero-btns .btn { width: 100%; }
  .brand-txt { font-size: 13px; }
  body { font-size: 14.5px; }
}

/* ================= СТРАНИЦА-ДОКУМЕНТ (privacy.html) ================= */
.sec.doc { padding: 48px 0 70px; }
.doc-wrap { max-width: 880px; }
.doc-wrap h1 {
  font-size: clamp(24px, 3.4vw, 36px); font-weight: 900; letter-spacing: -1.1px;
  line-height: 1.15; text-shadow: 0 1px 0 rgba(255,255,255,.6);
}
.doc-date { font-size: 12.5px; color: var(--ink4); margin-top: 8px; }
.doc-wrap h2 {
  font-size: 19px; font-weight: 800; letter-spacing: -.5px;
  margin: 32px 0 10px; padding-left: 14px; border-left: 3px solid var(--accent);
}
.doc-wrap p { font-size: 14.5px; color: var(--ink2); margin-top: 10px; }
.doc-wrap ul { margin: 10px 0 0 4px; padding-left: 18px; }
.doc-wrap li { font-size: 14.5px; color: var(--ink2); margin-bottom: 7px; }
.doc-wrap a { color: var(--accent-dark); font-weight: 600; }
.doc-wrap a:hover { text-decoration: underline; }
.doc-box {
  margin-top: 24px; padding: 20px 22px; border-radius: var(--radius);
  background: linear-gradient(155deg, #ffffff 0%, #f7f3ed 100%);
  box-shadow: var(--s3d-card);
}
.doc-box p { margin-top: 0; font-size: 13.5px; line-height: 1.8; }
.doc-back { margin-top: 40px; }
@media (max-width: 720px) {
  .sec.doc { padding: 32px 0 50px; }
  .doc-wrap h2 { font-size: 17px; margin-top: 26px; }
}
/* ================= ФОРМА ЗАЯВКИ ================= */
.lead-card { padding: 26px 24px; }
.lead-h { font-size: 18px; font-weight: 900; letter-spacing: -.5px; margin-bottom: 16px; }
.lead-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.lead-form .fld-full, .lead-form .lead-agree, .lead-form button, .lead-note { grid-column: 1 / -1; }
.lead-form textarea {
  width: 100%; padding: 11px 13px; resize: vertical; min-height: 74px;
  background: linear-gradient(180deg, #ede8e0 0%, #faf7f3 100%);
  border: 1.5px solid var(--border); border-radius: var(--radius-sm);
  color: var(--ink); font-size: 14px; font-family: var(--font); outline: none;
  box-shadow: 0 2px 6px rgba(0,0,0,.08) inset, 0 1px 0 rgba(255,255,255,.85);
  transition: all var(--tr);
}
.lead-form textarea:focus { border-color: var(--accent); background: #fff; box-shadow: 0 0 0 3px rgba(194,120,60,.14); }
.lead-trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.lead-agree { font-size: 12px; color: var(--ink3); display: flex; align-items: flex-start; gap: 8px; line-height: 1.5; }
.lead-agree input { margin-top: 2px; accent-color: var(--accent); }
.lead-agree a { color: var(--accent-dark); font-weight: 600; text-decoration: underline; }
.lead-note { font-size: 13px; font-weight: 600; min-height: 18px; margin-top: 2px; }
.lead-note.ok { color: var(--green); }
.lead-note.bad { color: var(--red); }
.lead-form button[disabled] { opacity: .7; cursor: progress; }
@media (max-width: 720px) { .lead-form { grid-template-columns: 1fr; } }
/* ============ БЛОК КОНТАКТОВ: текст + форма + реквизиты без пустот ============ */
.cta-in {
  align-items: start;
  grid-template-columns: 1.02fr .98fr;
  row-gap: 20px;
}
.cta-in .lead-card { grid-column: 2; grid-row: 1 / span 2; }
.cta-in > div:first-child { grid-column: 1; grid-row: 1; }
.cta-in .cta-card:not(.lead-card) { grid-column: 1; grid-row: 2; align-self: start; }
.cta.sec { padding-top: 56px; }
.cta-in .hero-btns { margin-top: 22px; }

@media (max-width: 1000px) {
  .cta-in { grid-template-columns: 1fr; }
  .cta-in .lead-card,
  .cta-in > div:first-child,
  .cta-in .cta-card:not(.lead-card) { grid-column: 1; grid-row: auto; }
}
/* ============ КОНТАКТЫ: две честные колонки ============ */
.cta-in {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 460px);
  align-items: start;
  gap: 28px;
}
.cta-in > div:first-child,
.cta-in .cta-card:not(.lead-card),
.cta-in .lead-card { grid-column: auto; grid-row: auto; }
.cta-left { display: flex; flex-direction: column; gap: 22px; }
.cta-left > div:first-child { margin: 0; }
.cta-left .cta-card { width: 100%; }
.cta-in .lead-card { margin: 0; align-self: start; }
@media (max-width: 1000px) {
  .cta-in { grid-template-columns: 1fr; }
}