/* Общая визуальная система публичного сайта */
:root {
  --lime: #c5df7a;
  --ink: #1c1917;
  --cream: #f6f4ef;
  --mint: #eef3dc;
}

html, body { overflow-x: clip; max-width: 100%; }
body {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, sans-serif;
  color: #292524;
  background: var(--cream);
}
/* inherit — иначе заголовки остаются чёрными на тёмных секциях (text-white родителя не побеждает) */
h1, h2, h3, h4 {
  color: inherit;
  line-height: 1.25;
  overflow-wrap: break-word;
}
.heading-on-ink { color: #fff; }
img, svg, video, canvas { max-width: 100%; height: auto; }
main { min-height: 50vh; }
.grid > * { min-width: 0; }
.prose, .prose * { overflow-wrap: anywhere; word-break: break-word; }

.font-display { font-family: Unbounded, Inter, system-ui, sans-serif; }

.lp-card {
  border: 2px solid var(--ink);
  box-shadow: 6px 6px 0 var(--ink);
}
.lp-card-sm {
  border: 2px solid var(--ink);
  box-shadow: 4px 4px 0 var(--ink);
}
.lp-card-hover { transition: transform .15s ease, box-shadow .15s ease; }
.lp-card-hover:hover { transform: translate(-2px, -2px); box-shadow: 8px 8px 0 var(--ink); }
.lp-card-sm.lp-card-hover:hover { box-shadow: 6px 6px 0 var(--ink); }

.lp-btn {
  background: var(--lime);
  color: var(--ink);
  font-weight: 800;
  border: 2px solid var(--ink);
  box-shadow: 5px 5px 0 var(--ink);
  transition: transform .15s ease, box-shadow .15s ease;
}
.lp-btn:hover { transform: translate(-2px, -2px); box-shadow: 7px 7px 0 var(--ink); }
.lp-btn:active { transform: translate(2px, 2px); box-shadow: 2px 2px 0 var(--ink); }
.lp-btn:disabled { opacity: .55; transform: none; cursor: not-allowed; }

.lp-btn-dark {
  background: var(--ink);
  color: var(--lime);
  font-weight: 800;
  border: 2px solid var(--ink);
}

.lp-chip {
  display: inline-flex;
  align-items: center;
  border: 2px solid var(--ink);
  background: #fff;
  font-weight: 700;
  border-radius: 9999px;
}
.lp-chip:hover, .lp-chip.is-on { background: var(--lime); }

.lp-input, .lp-textarea {
  width: 100%;
  border: 2px solid var(--ink);
  border-radius: 1rem;
  padding: .85rem 1rem;
  background: #fff;
  color: var(--ink);
  font-size: 1rem;
}
.lp-input:focus, .lp-textarea:focus {
  outline: none;
  box-shadow: 4px 4px 0 var(--ink);
  background: #fffeef;
}

.lp-drop {
  border: 2px dashed var(--ink);
  border-radius: 1.25rem;
  background: #fff;
}
.lp-drop.is-over { background: var(--mint); }

details.faq-item > summary { list-style: none; }
details.faq-item > summary::-webkit-details-marker { display: none; }
details.faq-item[open] .faq-plus { transform: rotate(45deg); }

#backToTop {
  background: var(--lime) !important;
  color: var(--ink) !important;
  border: 2px solid var(--ink);
  box-shadow: 4px 4px 0 var(--ink);
}
#backToTop:hover { background: #d4ea9a !important; }

input, textarea, select { font-size: 16px; max-width: 100%; }

@media (max-width: 639px) {
  .lp-card { box-shadow: 4px 4px 0 var(--ink); }
  .lp-btn { box-shadow: 3px 4px 0 var(--ink); }
}

@media (prefers-reduced-motion: reduce) {
  .marquee-track { animation: none !important; }
  .lp-card-hover, .lp-btn { transition: none; }
}
