/* ==========================================================================
   МИЛЛИМЕТРОВКА — бумага в клетке, штамп листа, выноски, номер листа.
   Отличается от «спецификации» тем, что сетка здесь — фон всей страницы,
   а не акцентная линия.
   ========================================================================== */
@import url("_skeleton.css");

:root {
  --paper: #F5F1E8;
  --surface: #FBF8F1;
  --ink: #2F4751;
  --ink-deep: #1E3038;
  --ink-soft: #45606C;
  --muted: #62707A;
  --accent: #EDFF49;
  --grid: rgba(47, 71, 81, 0.10);
  --grid-major: rgba(47, 71, 81, 0.20);
  --radius: 2px;
  --h1: clamp(28px, 4vw, 46px);
  --h2: clamp(20px, 2.4vw, 28px);
  --body: 15px;
  --lead: 1.55;
  --section-pad: 38px;
}

body {
  background-color: var(--paper);
  background-image:
    linear-gradient(var(--grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid) 1px, transparent 1px),
    linear-gradient(var(--grid-major) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-major) 1px, transparent 1px);
  background-size: 8px 8px, 8px 8px, 40px 40px, 40px 40px;
}

.site-header { background: var(--surface); border-bottom: 2px solid var(--ink); }
.logo-mark { border-radius: 2px; }

/* ---------- Первый экран: двойная рамка-штамп ---------- */
.hero { background: var(--surface); border-bottom: 2px solid var(--ink); }
.hero-inner { gap: 30px; }

.hero h1 {
  border: 1px solid var(--ink);
  outline: 1px solid var(--grid-major);
  outline-offset: 4px;
  padding: 12px 16px;
  background: var(--paper);
  line-height: 1.08;
  letter-spacing: 0.02em;
}
.hero h1 .hl { background: var(--accent); color: var(--ink-deep); padding: 0 4px; }

.hero-eyebrow { color: var(--muted); }
.hero-sub { color: var(--ink-soft); }

.hero-facts { }
.fact { border: 1px solid var(--grid-major); background: var(--paper); border-radius: 2px; }
.fact b { font-size: 22px; }
.fact span { color: var(--muted); }

.hero-spec { border: 1px solid var(--ink); background: var(--paper); padding: 16px 18px; }
.spec-label { color: var(--ink); letter-spacing: 0.16em; }
.spec-table tr { border-bottom: 1px solid var(--grid); }
.spec-key { font-size: 14px; }
.spec-val { font-family: ui-monospace, 'JetBrains Mono', monospace; font-size: 13px; }
.spec-note { color: var(--muted); }

/* ---------- Секции: «Лист N» ---------- */
.section { border-bottom: 1px solid var(--grid-major); }
.index {
  font-family: ui-monospace, 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--ink-soft);
}
.section-title { letter-spacing: 0.01em; }
.section-sub { color: var(--muted); }

.showcase-card { border: 1px solid var(--grid-major); background: var(--paper); border-radius: 2px; }
.showcase-card .thumb { background: var(--surface); }
.showcase-card:hover { border-color: var(--ink); }

/* Этапы как сборочные позиции: номер + размерная линия слева */
.steps { gap: 16px; }
.step {
  border-top: 1px solid var(--grid-major);
  border-left: 2px solid var(--accent);
  padding-left: 14px;
}
.step .num { font-family: ui-monospace, 'JetBrains Mono', monospace; font-size: 12px; }
.step h3 { font-size: 16px; }
.step p { color: var(--muted); }

.partner-logo { border: 1px solid var(--grid-major); background: var(--paper); border-radius: 2px; }
.ind-row { border: 1px solid var(--grid-major); background: var(--paper); border-radius: 2px; }
.faq-q { font-family: var(--font-display); }
.cta-form input, .cta-form textarea { border: 1px solid var(--grid-major); border-radius: 2px; background: var(--paper); }

@media (max-width: 1020px) {
  .hero-facts { grid-template-columns: repeat(2, 1fr); }
  body { background-size: 12px 12px, 12px 12px, 48px 48px, 48px 48px; }
}

@media (max-width: 480px) {
  body { background-size: 16px 16px, 16px 16px, 64px 64px, 64px 64px; }
  .hero h1 { outline: none; padding: 10px 12px; }
  .hero-spec { padding: 12px; }
}
