:root {
  --home-ink: #102038;
  --home-muted: #5d6d80;
  --home-blue: #176fd1;
  --home-blue-dark: #0d58aa;
  --home-line: #dce6f1;
  --home-soft: #f3f7fb;
}

.home-body {
  margin: 0;
  background: #fff;
  color: var(--home-ink);
  font-family: "Geist", system-ui, sans-serif;
}

.home-body * { box-sizing: border-box; }
.home-body .topbar { position: relative; z-index: 30; }
.home-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.home-section { padding: 88px 0; }
.home-section-soft { background: var(--home-soft); }
.home-kicker {
  margin: 0 0 14px;
  color: var(--home-blue);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.home-section h2 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(30px, 4.2vw, 48px);
  line-height: 1.08;
  letter-spacing: -.035em;
}

.home-hero {
  overflow: hidden;
  padding: 76px 0 82px;
  background:
    radial-gradient(circle at 92% 8%, rgba(36, 127, 222, .18), transparent 33%),
    linear-gradient(145deg, #f8fbff 0%, #eef6ff 52%, #fff 100%);
}
.home-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(480px, 1.08fr);
  gap: 68px;
  align-items: center;
}
.home-hero h1 {
  max-width: 650px;
  margin: 0;
  font-size: clamp(43px, 6vw, 70px);
  line-height: .99;
  letter-spacing: -.055em;
}
.home-lead {
  max-width: 650px;
  margin: 24px 0 0;
  color: var(--home-muted);
  font-size: 20px;
  line-height: 1.6;
}
.home-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.home-btn {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  border: 1px solid transparent;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.home-btn:hover { transform: translateY(-2px); }
.home-btn-primary {
  background: var(--home-blue);
  box-shadow: 0 12px 26px rgba(23, 111, 209, .22);
  color: #fff;
}
.home-btn-primary:hover { background: var(--home-blue-dark); }
.home-btn-secondary { border-color: #bed1e7; background: #fff; color: #174f88; }
.home-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  margin: 28px 0 0;
  padding: 0;
  color: #496279;
  font-size: 14px;
  list-style: none;
}
.home-proof li::before { margin-right: 8px; color: #20a36a; content: "✓"; font-weight: 800; }

.home-hero-visual {
  overflow: hidden;
  border: 1px solid rgba(109, 155, 205, .35);
  border-radius: 22px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 28px 70px rgba(44, 93, 143, .18);
}
.home-visual-top,
.home-visual-bottom {
  display: flex;
  gap: 16px;
  align-items: center;
  padding: 18px 22px;
}
.home-visual-top { justify-content: space-between; border-bottom: 1px solid var(--home-line); }
.home-visual-top span { color: var(--home-muted); font-size: 13px; text-transform: uppercase; letter-spacing: .06em; }
.home-visual-top b { font: 600 14px/1.2 "JetBrains Mono", monospace; }
.home-chart { display: block; width: 100%; height: auto; padding: 14px 14px 0; }
.home-chart-grid path { fill: none; stroke: #dfe9f3; stroke-width: 1; }
.home-chart-grid path:first-child { stroke: #aebed0; }
.home-chart-area { fill: url(#homeArea); }
.home-chart-line { fill: none; stroke: #2678d1; stroke-width: 5; stroke-linecap: round; }
.home-system-line { fill: none; stroke: #24a26a; stroke-width: 4; stroke-linecap: round; stroke-dasharray: 9 8; }
.home-point-ring { fill: rgba(238, 90, 72, .15); stroke: #e95b4d; stroke-width: 2; }
.home-point { fill: #e95b4d; }
.home-chart text { fill: #587087; font: 600 13px/1 "Geist", sans-serif; }
.home-visual-bottom { flex-wrap: wrap; border-top: 1px solid var(--home-line); color: #53677c; font-size: 12px; }
.home-visual-bottom span { display: inline-flex; align-items: center; }
.home-dot { width: 8px; height: 8px; margin-right: 6px; border-radius: 50%; }
.home-dot-blue { background: #2678d1; }
.home-dot-green { background: #24a26a; }
.home-match { margin-left: auto; color: #17774c; font-weight: 700; }

.home-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 42px; }
.home-feature {
  padding: 28px;
  border: 1px solid var(--home-line);
  border-radius: 16px;
  background: #fff;
}
.home-feature-num { color: var(--home-blue); font: 600 13px/1 "JetBrains Mono", monospace; }
.home-feature h3 { margin: 38px 0 10px; font-size: 22px; }
.home-feature p { margin: 0; color: var(--home-muted); line-height: 1.62; }

.home-section-head { display: flex; gap: 28px; align-items: flex-end; justify-content: space-between; }
.home-text-link { color: var(--home-blue); font-weight: 700; text-decoration: none; white-space: nowrap; }
.home-application-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 38px; }
.home-application {
  display: flex;
  min-height: 330px;
  flex-direction: column;
  padding: 28px;
  border: 1px solid #d9e4ef;
  border-radius: 18px;
  background: #fff;
  color: var(--home-ink);
  text-decoration: none;
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.home-application:hover {
  transform: translateY(-4px);
  border-color: #75a9df;
  box-shadow: 0 15px 36px rgba(44, 83, 122, .11);
}
.home-application > span { color: var(--home-blue); font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }
.home-application h3 { margin: 58px 0 12px; font-size: 25px; line-height: 1.2; }
.home-application p { margin: 0; color: var(--home-muted); line-height: 1.55; }
.home-application b { margin-top: auto; color: #1b65af; }

.home-knowledge-layout { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(480px, 1.2fr); gap: 80px; align-items: start; }
.home-knowledge-intro > p:not(.home-kicker) { max-width: 530px; margin: 22px 0 28px; color: var(--home-muted); font-size: 18px; line-height: 1.65; }
.home-knowledge-links { border-top: 1px solid var(--home-line); }
.home-knowledge-links a {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 12px;
  align-items: center;
  padding: 21px 6px;
  border-bottom: 1px solid var(--home-line);
  color: var(--home-ink);
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
}
.home-knowledge-links a:hover { color: var(--home-blue); }
.home-knowledge-links span { color: #7b8c9e; font: 600 12px/1 "JetBrains Mono", monospace; }

.home-contact-section { padding-top: 26px; }
.home-contact {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  gap: 70px;
  align-items: center;
  padding: 48px;
  border-radius: 22px;
  background: #0e2744;
  color: #fff;
}
.home-contact .home-kicker { color: #7fbaff; }
.home-contact h2 { color: #fff; }
.home-contact p:not(.home-kicker) { max-width: 690px; margin: 18px 0 0; color: #bfd0e2; line-height: 1.6; }
.home-contact-actions { display: grid; gap: 12px; }
.home-contact-actions > a:not(.home-btn) { color: #d9e9fa; text-decoration: none; }
.home-btn-light { background: #fff; color: #103d6b; }
.home-news-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 29px; }
.home-news-card { display: flex; min-height: 245px; padding: 26px; border: 1px solid #cfe0ef; border-radius: 15px; flex-direction: column; color: #102038; background: linear-gradient(145deg, #fff, #eef6ff); text-decoration: none; }
.home-news-card--green { background: linear-gradient(145deg, #fff, #edf8f4); }
.home-news-card > div { display: flex; justify-content: space-between; gap: 14px; color: #75869a; font-size: 12px; }
.home-news-card > div span { color: #2572c1; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.home-news-card--green > div span { color: #14806a; }
.home-news-card h3 { max-width: 520px; margin: 29px 0 10px; font-size: 24px; line-height: 1.2; }
.home-news-card p { margin: 0; color: #53677d; line-height: 1.58; }
.home-news-card b { margin-top: auto; padding-top: 23px; color: #1769bc; }

body.home-body.theme-dark {
  --home-ink: var(--fg-strong);
  --home-muted: var(--muted);
  --home-line: var(--border);
  --home-soft: var(--bg-2);
  background: linear-gradient(160deg, var(--bg-1) 0%, var(--bg-2) 55%, var(--bg-3) 100%) fixed;
  color: var(--fg);
}
body.home-body.theme-dark .home-hero {
  background:
    radial-gradient(circle at 92% 8%, rgba(54, 132, 220, .16), transparent 33%),
    linear-gradient(145deg, var(--bg-2) 0%, var(--bg-1) 52%, var(--bg-3) 100%);
}
body.home-body.theme-dark .home-hero-visual,
body.home-body.theme-dark .home-feature,
body.home-body.theme-dark .home-application {
  border-color: var(--border);
  background: var(--card);
  color: var(--home-ink);
  box-shadow: var(--shadow-card);
}
body.home-body.theme-dark .home-chart-grid path { stroke: var(--border); }
body.home-body.theme-dark .home-chart-grid path:first-child { stroke: #3c5172; }
body.home-body.theme-dark .home-chart text { fill: var(--home-muted); }
body.home-body.theme-dark .home-proof,
body.home-body.theme-dark .home-visual-bottom,
body.home-body.theme-dark .home-news-card > div,
body.home-body.theme-dark .home-news-card p { color: var(--home-muted); }
body.home-body.theme-dark .home-news-card {
  border-color: var(--border);
  background: linear-gradient(145deg, var(--card), var(--card-soft));
  color: var(--home-ink);
}
body.home-body.theme-dark .home-news-card--green {
  background: linear-gradient(145deg, var(--card), #142d2c);
}

@media (max-width: 980px) {
  .home-hero-grid { grid-template-columns: 1fr; }
  .home-hero-visual { max-width: 720px; }
  .home-feature-grid, .home-application-grid { grid-template-columns: 1fr; }
  .home-application { min-height: 240px; }
  .home-application h3 { margin-top: 34px; }
  .home-knowledge-layout { grid-template-columns: 1fr; gap: 44px; }
  .home-contact { grid-template-columns: 1fr; gap: 32px; }
  .home-news-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .home-shell { width: min(100% - 28px, 1180px); }
  .home-section { padding: 62px 0; }
  .home-hero { padding: 54px 0 62px; }
  .home-hero-grid { gap: 40px; }
  .home-hero h1 { font-size: clamp(40px, 13vw, 55px); }
  .home-lead { font-size: 18px; }
  .home-actions { display: grid; }
  .home-actions .home-btn { width: 100%; }
  .home-visual-top { align-items: flex-start; flex-direction: column; }
  .home-visual-bottom { align-items: flex-start; flex-direction: column; }
  .home-match { margin-left: 0; }
  .home-section-head { align-items: flex-start; flex-direction: column; }
  .home-application { min-height: 270px; }
  .home-knowledge-links a { grid-template-columns: 36px 1fr; font-size: 16px; }
  .home-contact { padding: 30px 24px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-btn, .home-application { transition: none; }
}
