/* ГЕОХОРА Спецтехника — партнёрский сайт союз.online */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* ── СВЕТЛАЯ ТЕМА (дефолт) ── */
:root {
  --bg-deep:    #fff8f5;
  --bg-card:    #ffffff;
  --bg-card2:   #fff4ee;
  --border:     #f0d4c0;
  --border2:    #e08050;
  --accent:     #ea5f15;
  --accent2:    #f97316;
  --blue:       #1d4ed8;
  --blue2:      #2563eb;
  --yellow:     #d97706;
  --text:       #1a0a04;
  --text-muted: #5c3820;
  --text-dim:   #8a6050;
  --radius:     12px;
  --radius-sm:  8px;
}

/* ── ТЁМНАЯ ТЕМА ── */
[data-theme="dark"] {
  --bg-deep:    #090c14;
  --bg-card:    #0f1729;
  --bg-card2:   #141e36;
  --border:     #1e2d50;
  --border2:    #2d4580;
  --accent:     #f97316;
  --accent2:    #fb923c;
  --blue:       #3b82f6;
  --blue2:      #60a5fa;
  --yellow:     #eab308;
  --text:       #e2e8f0;
  --text-muted: #94a3b8;
  --text-dim:   #64748b;
}

html { scroll-behavior: smooth; }
body {
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  background: var(--bg-deep);
  color: var(--text);
  line-height: 1.55;
  transition: background .25s, color .25s;
}

a { color: var(--blue2); text-decoration: none; }
a:hover { text-decoration: underline; }

/* ── NAV ── */
.topnav {
  position: sticky; top: 0; z-index: 100;
  display: flex; align-items: center; gap: 1rem;
  padding: 0.65rem 1.25rem;
  background: rgba(255,248,245,.95);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(12px);
  transition: background .25s, border-color .25s;
}
[data-theme="dark"] .topnav { background: rgba(9,12,20,.92); }
.topnav__brand {
  display: flex; align-items: center; gap: 0.4rem;
  font-weight: 700; font-size: 0.95rem; color: var(--text);
}
.topnav__brand:hover { text-decoration: none; opacity: 0.85; }
.topnav__logo { font-size: 1.2rem; }
.topnav__link { font-size: 0.85rem; color: var(--text-muted); margin-left: auto; }
.topnav__link--tg { margin-left: 0.5rem; color: var(--blue2); }
.topnav__link:hover { color: var(--text); text-decoration: none; }
.theme-btn {
  width: 34px; height: 34px; border-radius: 50%;
  border: 1.5px solid var(--border2); background: var(--bg-card);
  cursor: pointer; font-size: .95rem;
  display: inline-flex; align-items: center; justify-content: center;
  transition: all .2s; margin-left: .25rem; flex-shrink: 0;
}
.theme-btn:hover { background: var(--bg-card2); transform: rotate(20deg); }

/* ── HERO ── */
.hero {
  padding: 5rem 1.5rem 4rem;
  text-align: center;
  background:
    radial-gradient(ellipse 90% 60% at 50% 0%, rgba(249,115,22,0.14) 0%, transparent 65%),
    radial-gradient(ellipse 50% 35% at 0% 80%, rgba(59,130,246,0.07) 0%, transparent 55%),
    var(--bg-deep);
  border-bottom: 1px solid var(--border);
}
.hero__badge {
  display: inline-block; padding: 0.3rem 1rem; border-radius: 999px;
  background: rgba(249,115,22,0.12); border: 1px solid rgba(249,115,22,0.3);
  color: var(--accent2); font-size: 0.8rem; font-weight: 600;
  letter-spacing: 0.04em; margin-bottom: 1.5rem;
}
.hero__title {
  font-size: clamp(2rem, 8vw, 5rem);
  font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; margin-bottom: 1rem;
}
.hero__company { font-size: 0.55em; color: var(--text-muted); letter-spacing: 0.15em; font-weight: 400; }
.hero__accent { color: var(--accent); }
.hero__sub { font-size: 1.1rem; color: var(--text-muted); max-width: 560px; margin: 0 auto 1.25rem; }
.hero__price-badge {
  display: inline-block; padding: 0.5rem 1.5rem; border-radius: var(--radius);
  background: rgba(249,115,22,0.15); border: 1px solid rgba(249,115,22,0.35);
  font-size: 1.1rem; color: var(--text); margin-bottom: 1.75rem;
}
.hero__price-badge strong { color: var(--accent2); }
.hero__actions {
  display: flex; justify-content: center; gap: 0.75rem; flex-wrap: wrap; margin-bottom: 2rem;
}
.hero__geo { display: flex; justify-content: center; gap: 0.5rem; flex-wrap: wrap; }
.geo-tag {
  padding: 0.25rem 0.75rem; border-radius: 999px;
  background: var(--bg-card2); border: 1px solid var(--border);
  font-size: 0.8rem; color: var(--text-muted);
}

/* ── BUTTONS ── */
.btn {
  display: inline-flex; align-items: center; gap: 0.3rem;
  padding: 0.7rem 1.5rem; border-radius: var(--radius-sm);
  font-size: 0.92rem; font-weight: 600;
  transition: all 0.15s ease; text-decoration: none;
}
.btn--primary { background: linear-gradient(135deg, var(--accent), #ea580c); color: #fff; }
.btn--primary:hover { filter: brightness(1.1); transform: translateY(-1px); text-decoration: none; }
.btn--ghost { border: 1px solid var(--border2); color: var(--text); background: var(--bg-card); }
.btn--ghost:hover { background: var(--bg-card2); text-decoration: none; }

/* ── FLEET ── */
.fleet { padding: 4rem 1.5rem; max-width: 1000px; margin: 0 auto; }
.section-head { text-align: center; margin-bottom: 2.5rem; }
.section-title { font-size: 1.8rem; font-weight: 700; margin-bottom: 0.5rem; }
.section-sub { color: var(--text-muted); font-size: 0.95rem; }

.fleet__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1.5rem; }

.mach-card {
  position: relative; background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 1.75rem;
  display: flex; flex-direction: column; gap: 1rem;
  transition: border-color 0.15s, transform 0.15s;
}
.mach-card:hover { border-color: var(--border2); transform: translateY(-2px); }
.mach-card--featured { border-color: rgba(239,68,68,0.4); background: var(--bg-card2); }
.mach-card--featured2 { border-color: rgba(234,179,8,0.35); }
.mach-card__badge {
  position: absolute; top: 1rem; right: 1rem;
  padding: 0.2rem 0.6rem; border-radius: 999px;
  background: rgba(239,68,68,0.15); border: 1px solid rgba(239,68,68,0.35);
  color: #f87171; font-size: 0.72rem; font-weight: 600;
}
.mach-card__badge--b { background: rgba(234,179,8,0.15); border-color: rgba(234,179,8,0.35); color: var(--yellow); }
.mach-card__header { display: flex; align-items: flex-start; gap: 1rem; }
.mach-card__icon { font-size: 2.5rem; flex-shrink: 0; }
.mach-card__title { font-size: 1.05rem; font-weight: 700; line-height: 1.3; }
.mach-card__price { font-size: 0.9rem; color: var(--accent2); font-weight: 600; margin-top: 0.25rem; }
.mach-card__desc { font-size: 0.88rem; color: var(--text-muted); }

.mach-card__specs { display: flex; flex-direction: column; gap: 0.4rem; }
.spec-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 0.3rem 0; border-bottom: 1px solid var(--border);
  font-size: 0.85rem;
}
.spec-label { color: var(--text-dim); }
.spec-val { color: var(--text); font-weight: 600; }

.mach-card__work { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.work-tag {
  padding: 0.2rem 0.6rem; border-radius: 999px;
  background: rgba(249,115,22,0.1); border: 1px solid rgba(249,115,22,0.25);
  font-size: 0.75rem; color: var(--accent2);
}
.mach-card__btn {
  display: block; padding: 0.65rem 1rem; border-radius: var(--radius-sm);
  background: linear-gradient(135deg, var(--accent), #ea580c);
  color: #fff; font-size: 0.88rem; font-weight: 600;
  text-align: center; text-decoration: none;
  transition: filter 0.15s;
}
.mach-card__btn:hover { filter: brightness(1.1); text-decoration: none; }

/* ── WORKS ── */
.works { padding: 4rem 1.5rem; background: var(--bg-card); border-top: 1px solid var(--border); }
.works .section-head { margin-bottom: 2rem; }
.works__grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1rem; max-width: 1000px; margin: 0 auto;
}
.work-card {
  background: var(--bg-deep); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 1.25rem;
  display: flex; flex-direction: column; gap: 0.5rem;
  transition: border-color 0.15s;
}
.work-card:hover { border-color: var(--border2); }
.work-card__icon { font-size: 1.75rem; }
.work-card__title { font-size: 0.95rem; font-weight: 700; }
.work-card__desc { font-size: 0.85rem; color: var(--text-muted); }

/* ── PRICING ── */
.pricing {
  padding: 4rem 1.5rem; border-top: 1px solid var(--border);
}
.pricing__inner { max-width: 800px; margin: 0 auto; }
.pricing__cards {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem; margin-bottom: 2rem;
}
.price-card {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 1.5rem; text-align: center;
}
.price-card--main { border-color: rgba(249,115,22,0.4); background: var(--bg-card2); }
.price-card__icon { font-size: 2rem; margin-bottom: 0.5rem; }
.price-card__label { font-size: 0.8rem; color: var(--text-dim); margin-bottom: 0.35rem; }
.price-card__val { font-size: 1.4rem; font-weight: 800; color: var(--accent); }
.price-card__note { font-size: 0.78rem; color: var(--text-muted); margin-top: 0.3rem; }
.pricing__cta { text-align: center; }

/* ── VERIFIED BAND ── */
.verified-band {
  background: var(--bg-card); border-bottom: 1px solid var(--border);
  padding: 0.6rem 1.25rem; overflow-x: auto;
}
.verified-band__inner {
  max-width: 1000px; margin: 0 auto;
  display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap;
}
.verified-item {
  display: flex; align-items: center; gap: 0.35rem;
  font-size: 0.8rem; color: var(--text-muted); white-space: nowrap;
}
.verified-item__icon { font-size: 0.9rem; }
.verified-item__label { font-weight: 600; color: var(--accent); }
.verified-band__sep { width: 1px; height: 16px; background: var(--border); flex-shrink: 0; }

/* ── STATS BAND ── */
.stats-band {
  padding: 3rem 1.5rem;
  background: linear-gradient(135deg, var(--accent) 0%, #c44a00 100%);
  color: #fff;
}
.stats-band__inner {
  max-width: 900px; margin: 0 auto;
  display: flex; flex-wrap: wrap; gap: 2rem; justify-content: space-around;
}
.stat-big { text-align: center; }
.stat-big__num { font-size: clamp(1.8rem, 5vw, 3rem); font-weight: 800; line-height: 1; }
.stat-big__lbl { font-size: 0.82rem; opacity: 0.85; margin-top: 0.35rem; max-width: 140px; }

/* ── PROCESS ── */
.process {
  padding: 5rem 1.5rem; max-width: 1000px; margin: 0 auto;
}
.process__steps {
  display: flex; align-items: flex-start; gap: 0.75rem;
  flex-wrap: wrap; justify-content: center; margin-top: 2.5rem;
}
.process-step {
  background: var(--bg-card); border: 1.5px solid var(--border);
  border-radius: var(--radius); padding: 1.5rem; flex: 1; min-width: 180px; max-width: 220px;
}
.process-step__num {
  font-size: 2rem; font-weight: 800; color: var(--accent); line-height: 1; margin-bottom: 0.5rem;
}
.process-step__title { font-size: 0.95rem; font-weight: 700; margin-bottom: 0.4rem; }
.process-step__desc { font-size: 0.82rem; color: var(--text-muted); }
.process-step__arrow { font-size: 1.5rem; color: var(--border2); align-self: center; flex-shrink: 0; }
@media (max-width: 700px) { .process-step__arrow { display: none; } }

/* ── HIGHLIGHTS ── */
.highlights {
  padding: 5rem 1.5rem; background: var(--bg-card); border-top: 1px solid var(--border);
}
.highlights .section-head { margin-bottom: 2.5rem; }
.highlights__grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.25rem; max-width: 1000px; margin: 0 auto;
}
.highlight-card {
  background: var(--bg-deep); border: 1.5px solid var(--border);
  border-radius: var(--radius); padding: 1.5rem;
  display: flex; flex-direction: column; gap: 0.5rem;
  transition: border-color 0.15s;
}
.highlight-card:hover { border-color: var(--border2); }
.highlight-card__icon { font-size: 1.75rem; }
.highlight-card__title { font-size: 0.95rem; font-weight: 700; }
.highlight-card__desc { font-size: 0.85rem; color: var(--text-muted); }

/* ── REVIEWS ── */
.reviews { padding: 5rem 1.5rem; border-top: 1px solid var(--border); }
.reviews .section-head { margin-bottom: 2.5rem; }
.reviews__grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.25rem; max-width: 1000px; margin: 0 auto;
}
.review-card {
  background: var(--bg-card); border: 1.5px solid var(--border);
  border-radius: var(--radius); padding: 1.5rem;
  display: flex; flex-direction: column; gap: 0.4rem;
}
.review-card__stars { color: #f59e0b; font-size: 1rem; letter-spacing: 0.05em; }
.review-card__text { font-size: 0.88rem; color: var(--text-muted); line-height: 1.5; flex: 1; }
.review-card__platform { font-size: 0.75rem; font-weight: 700; color: var(--text-dim); text-transform: uppercase; margin-top: 0.5rem; }
.review-card__author { font-size: 0.82rem; color: var(--text); font-weight: 600; }
.review-card__date { font-size: 0.78rem; color: var(--text-dim); }

/* ── CHANNELS ── */
.channels { padding: 5rem 1.5rem; background: var(--bg-card); border-top: 1px solid var(--border); }
.channels .section-head { margin-bottom: 2.5rem; }
.channels-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.25rem; max-width: 1000px; margin: 0 auto;
}
.channel-card {
  background: var(--bg-deep); border: 1.5px solid var(--border);
  border-radius: var(--radius); padding: 1.5rem;
  display: flex; flex-direction: column; gap: 0.4rem;
  text-decoration: none; transition: border-color 0.15s, transform 0.15s;
}
.channel-card:hover { border-color: var(--border2); transform: translateY(-2px); text-decoration: none; }
.channel-card__icon { font-size: 1.75rem; }
.channel-card__name { font-size: 0.88rem; font-weight: 700; color: var(--blue2); }
.channel-card__desc { font-size: 0.82rem; color: var(--text-muted); flex: 1; }
.channel-card__link { font-size: 0.8rem; color: var(--accent); font-weight: 600; margin-top: 0.25rem; }

/* ── ABOUT ── */
.about { padding: 5rem 1.5rem; border-top: 1px solid var(--border); }
.about__inner {
  max-width: 1000px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: start;
}
@media (max-width: 700px) { .about__inner { grid-template-columns: 1fr; gap: 2rem; } }
.about__text p { font-size: 0.95rem; color: var(--text-muted); line-height: 1.6; }
.about__text .section-title { margin-bottom: 1rem; }

/* ── COMPANY CARD ── */
.company-card {
  background: var(--bg-deep); border: 1.5px solid var(--border);
  border-radius: var(--radius); padding: 1.75rem;
}
.company-card__header {
  display: flex; align-items: center; gap: 1rem; margin-bottom: 1.25rem;
  padding-bottom: 1rem; border-bottom: 1px solid var(--border);
}
.company-card__logo { font-size: 2.5rem; }
.company-card__name { font-size: 1rem; font-weight: 700; }
.company-card__sub { font-size: 0.8rem; color: var(--text-muted); margin-top: 0.15rem; }
.company-card__rows { display: flex; flex-direction: column; gap: 0.6rem; }
.company-row { display: flex; gap: 0.75rem; align-items: baseline; }
.company-row__key {
  font-size: 0.74rem; color: var(--text-dim); text-transform: uppercase;
  letter-spacing: 0.08em; width: 72px; flex-shrink: 0;
}
.company-row__val { font-size: 0.88rem; color: var(--text); }
.company-row__val a { color: var(--blue2); }

/* ── FOOTER ── */
.footer { background: var(--bg-card); border-top: 1px solid var(--border); padding: 2rem 1.5rem; }
.footer__inner {
  max-width: 900px; margin: 0 auto;
  display: flex; flex-wrap: wrap; gap: 1rem;
  align-items: center; justify-content: space-between;
}
.footer__brand { font-weight: 600; }
.footer__brand a { color: var(--blue2); }
.footer__links { display: flex; gap: 1.25rem; flex-wrap: wrap; }
.footer__links a { font-size: 0.85rem; color: var(--text-muted); }
.footer__links a:hover { color: var(--text); }
.footer__copy { font-size: 0.78rem; color: var(--text-dim); width: 100%; }
