/**
 * EpiCentral UA — chrome for the content pages (Проєкт · Питання).
 * Same palette / rhythm as the launcher and the estimate — studio-locked look,
 * only the layout primitives a text page needs.
 */

:root {
  --brand-blue:       #116490;
  --brand-blue-light: #9FBACD;
  --bg-top:    #0a1219;
  --bg-bottom: #1e2a35;
  --charcoal:  #1e2a35;
  --white:     #fff;
  --accent:    #4B6CFF;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  background: var(--charcoal);
  color: var(--white);
}
body {
  min-height: 100vh;
  background: linear-gradient(180deg, var(--bg-top) 0%, var(--bg-bottom) 100%);
  overflow-x: hidden;
}

.wrap { max-width: 1080px; width: 100%; margin: 0 auto; padding: 32px 32px 16px; }

/* sticky top bar with the brand logo */
.topbar {
  position: sticky; top: 0; z-index: 100;
  padding: 0 max(32px, calc(50vw - 508px)) 16px;
  background: rgba(10, 18, 25, 0.82);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.brand { display: inline-block; height: 53px; }
.brand img { display: block; height: 100%; width: auto; }

.eyebrow {
  display: inline-block; font-size: 12px; font-weight: 500;
  text-transform: uppercase; letter-spacing: 0.14em;
  color: var(--brand-blue-light); margin-bottom: 16px;
}

.head { display: grid; grid-template-columns: 2fr 1fr; gap: 48px; align-items: end; }
@media (max-width: 760px) { .head { grid-template-columns: 1fr; gap: 14px; align-items: start; } }

.page-title { font-size: clamp(30px, 4.5vw, 46px); font-weight: 700; letter-spacing: -0.02em; line-height: 1.05; }
.lede { font-size: 14px; line-height: 1.55; color: rgba(255, 255, 255, 0.55); }

/* ─── Section heading ────────────────────────────────────────── */
.sect { margin-top: 44px; }
.sect__title {
  font-size: 13px; font-weight: 500; text-transform: uppercase;
  letter-spacing: 0.14em; color: rgba(255, 255, 255, 0.45); margin-bottom: 18px;
}

/* ─── Prose ──────────────────────────────────────────────────── */
.prose { font-size: 15px; line-height: 1.65; color: rgba(255, 255, 255, 0.7); max-width: 860px; }
.prose p + p { margin-top: 14px; }
.prose strong { color: rgba(255, 255, 255, 0.92); font-weight: 600; }
.prose code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.88em; padding: 2px 6px; border-radius: 5px;
  background: rgba(159, 186, 205, 0.12); border: 1px solid rgba(159, 186, 205, 0.2);
  color: var(--brand-blue-light);
}

/* ─── Card grid ──────────────────────────────────────────────── */
.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 12px; }
.card {
  padding: 20px; background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 12px;
}
.card__l {
  font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--brand-blue-light); margin-bottom: 10px;
}
.card__t { font-size: 15.5px; font-weight: 600; letter-spacing: -0.01em; margin-bottom: 8px; }
.card__d { font-size: 13px; line-height: 1.55; color: rgba(255, 255, 255, 0.55); }
.card__d strong { color: rgba(255, 255, 255, 0.8); font-weight: 600; }
.card--accent { background: rgba(75, 108, 255, 0.07); border-color: rgba(75, 108, 255, 0.28); }
.card--warn   { background: rgba(255, 173, 51, 0.06); border-color: rgba(255, 173, 51, 0.26); }
.card--warn .card__l { color: #ffce8a; }

/* ─── Definition rows (spec table) ───────────────────────────── */
.spec { border-top: 1px solid rgba(255, 255, 255, 0.1); }
.spec__row {
  display: grid; grid-template-columns: 260px 1fr; gap: 24px;
  padding: 14px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.spec__k { font-size: 13px; font-weight: 600; color: rgba(255, 255, 255, 0.75); }
.spec__v { font-size: 13.5px; line-height: 1.55; color: rgba(255, 255, 255, 0.58); }
.spec__v code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.9em; padding: 1px 5px; border-radius: 4px;
  background: rgba(159, 186, 205, 0.12); color: var(--brand-blue-light);
}
@media (max-width: 700px) { .spec__row { grid-template-columns: 1fr; gap: 6px; } }

/* ─── Numbered question list ─────────────────────────────────── */
.qgroup { margin-top: 26px; }
.qgroup__h {
  display: flex; align-items: baseline; gap: 10px; margin-bottom: 14px;
  font-size: 17px; font-weight: 600; letter-spacing: -0.01em;
}
.qgroup__n {
  font-size: 11px; font-weight: 700; letter-spacing: 0.08em; color: var(--brand-blue-light);
  background: rgba(159, 186, 205, 0.12); border: 1px solid rgba(159, 186, 205, 0.24);
  border-radius: 6px; padding: 3px 8px; font-variant-numeric: tabular-nums;
}
.qlist { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.q {
  display: grid; grid-template-columns: 30px 1fr; gap: 12px; align-items: start;
  padding: 15px 18px; background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 11px;
}
.q__n {
  font-size: 12px; font-weight: 700; color: var(--brand-blue-light);
  font-variant-numeric: tabular-nums; padding-top: 1px;
}
.q__t { font-size: 14.5px; line-height: 1.5; font-weight: 600; color: rgba(255, 255, 255, 0.9); }
.q__w { font-size: 12.5px; line-height: 1.5; color: rgba(255, 255, 255, 0.5); margin-top: 6px; }
.q__w strong { color: rgba(255, 255, 255, 0.72); font-weight: 600; }
.q--block { border-color: rgba(255, 173, 51, 0.32); background: rgba(255, 173, 51, 0.05); }
.q--block .q__n { color: #ffce8a; }
.q__tag {
  display: inline-block; font-size: 9px; font-weight: 700; letter-spacing: 0.07em;
  text-transform: uppercase; padding: 2px 7px; border-radius: 5px; margin-left: 8px;
  color: #ffce8a; background: rgba(255, 173, 51, 0.12); border: 1px solid rgba(255, 173, 51, 0.34);
  vertical-align: middle;
}

/* ─── Notice ─────────────────────────────────────────────────── */
.notice {
  display: flex; gap: 12px; align-items: flex-start;
  padding: 14px 18px; background: rgba(255, 173, 51, 0.08);
  border: 1px solid rgba(255, 173, 51, 0.28); border-radius: 10px;
  font-size: 13px; line-height: 1.55; color: rgba(255, 220, 170, 0.92);
}
.notice strong { color: #ffce8a; font-weight: 600; }
.notice svg { flex-shrink: 0; width: 18px; height: 18px; margin-top: 1px; color: #ffce8a; }

/* ─── Next-step CTA ──────────────────────────────────────────── */
.nextstep {
  margin-top: 40px; padding: 24px 26px;
  background: rgba(75, 108, 255, 0.08); border: 1px solid rgba(75, 108, 255, 0.3);
  border-radius: 14px;
}
.nextstep__t { font-size: 17px; font-weight: 600; letter-spacing: -0.01em; margin-bottom: 8px; }
.nextstep__d { font-size: 13.5px; line-height: 1.6; color: rgba(255, 255, 255, 0.6); }

.footer-pad { height: 120px; }

@media (max-width: 560px) {
  .wrap { padding-left: 18px; padding-right: 18px; }
}
