:root {
  --ink: #101614;
  --card: #07110e;
  --green: #2ee6a6;
  --green-dim: #14c98c;
  --paper: #f7f8f8;
  --muted: #4e5b57;
  --sans: "Manrope", "Segoe UI", sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, monospace;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  background: #e6e9ee;
  color: var(--ink);
  font-family: var(--sans);
  line-height: 1.45;
}
button, a { font: inherit; }
.toolbar {
  width: min(210mm, calc(100% - 24px));
  margin: 16px auto 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.toolbar a { color: #0e6b49; font-weight: 700; text-decoration: none; }
.toolbar button {
  border: 0;
  border-radius: 999px;
  background: var(--ink);
  color: white;
  font-weight: 700;
  padding: 10px 16px;
  cursor: pointer;
}

.sheet {
  width: min(210mm, calc(100% - 24px));
  min-height: 297mm;
  margin: 0 auto 18px;
  position: relative;
  overflow: hidden;
  background: white;
  box-shadow: 0 18px 40px rgba(16, 24, 22, 0.14);
}
.cover {
  background: linear-gradient(165deg, #0c1a16 0%, #07110e 46%, #050a09 100%);
  color: #f4f7f6;
  padding: 22mm 18mm 16mm;
  display: flex;
  flex-direction: column;
}
.grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(46, 230, 166, 0.14) 1px, transparent 1px),
    linear-gradient(90deg, rgba(46, 230, 166, 0.14) 1px, transparent 1px);
  background-size: 14mm 14mm;
  mask-image: linear-gradient(#000 15%, transparent 92%);
  pointer-events: none;
}
.glow {
  position: absolute;
  width: 90mm;
  height: 70mm;
  right: -10mm;
  top: -16mm;
  background: radial-gradient(circle, rgba(20, 160, 110, 0.45), transparent 68%);
  pointer-events: none;
}
.cover-brand, .cover h1, .prompt, .kicker, .lead, .facts, .cover-foot { position: relative; }
.cover-brand { display: flex; gap: 12px; align-items: center; }
.shield { width: 42px; height: 48px; color: var(--green); }
.word {
  margin: 0;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 1.25rem;
}
.word span { color: var(--green); }
.tag { margin: 2px 0 0; color: #b7c2be; }
.cover h1 {
  margin: 28mm 0 8px;
  font-size: 2.5rem;
  line-height: 1.05;
  letter-spacing: -0.03em;
  max-width: 12ch;
}
.prompt {
  margin: 22mm 0 0;
  color: var(--green);
  font-family: var(--mono);
  font-size: 0.98rem;
}
.prompt span { margin-right: 8px; }
.kicker {
  margin: 18mm 0 0;
  font-family: var(--mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-size: 0.75rem;
  color: #9fb0aa;
}
.kicker span { color: var(--green); margin-right: 6px; }
.kicker.dark { color: #5d6b66; margin: 0; }
.kicker.dark span { color: var(--green-dim); }
.lead {
  margin: 8px 0 0;
  max-width: 58ch;
  color: #d5e0dc;
  font-size: 1.05rem;
}
.facts {
  list-style: none;
  padding: 0;
  margin: auto 0 0;
  display: grid;
  gap: 4px;
}
.facts strong { font-size: 1.15rem; }
.cover-foot {
  margin-top: 10mm;
  padding-top: 4mm;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  color: #b7c2be;
  font-size: 0.82rem;
}
.cover-foot p { margin: 0; }

.services, .close { padding: 14mm 14mm 12mm; background: var(--paper); }
.sheet-head h2, .close h2 {
  margin: 6px 0 0;
  font-size: 1.7rem;
  letter-spacing: -0.03em;
  line-height: 1.1;
}
.services ol {
  list-style: none;
  margin: 8mm 0 0;
  padding: 0;
  display: grid;
  gap: 5mm;
}
.services > ol > li {
  display: grid;
  grid-template-columns: 12mm 1fr;
  gap: 3mm;
}
.services > ol > li > span, .steps span {
  font-family: var(--mono);
  color: var(--green-dim);
  font-weight: 500;
}
.services h3, .steps h3 { margin: 0; font-size: 1.02rem; }
.services p, .steps p, .close > section > p { margin: 3px 0 0; color: var(--muted); font-size: 0.92rem; }
.includes {
  margin-top: 6px !important;
  font-family: var(--mono);
  font-size: 0.68rem !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--green-dim) !important;
}
.services ul {
  list-style: none;
  margin: 3px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px 8px;
}
.services ul li {
  position: relative;
  padding-left: 12px;
  font-size: 0.84rem;
}
.services ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--green-dim);
}

.close { display: flex; flex-direction: column; gap: 9mm; }
.checks { list-style: none; margin: 5mm 0 0; padding: 0; display: grid; gap: 2.5mm; }
.checks li { display: flex; gap: 8px; align-items: flex-start; font-weight: 700; }
.checks li::before {
  content: "";
  width: 16px;
  height: 16px;
  margin-top: 2px;
  flex: none;
  border-radius: 50%;
  background: var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%2307110e' stroke-width='2' d='M3.5 8.2 6.4 11 12.5 4.8'/%3E%3C/svg%3E") center / 13px no-repeat;
}
.steps {
  list-style: none;
  margin: 5mm 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4mm;
}
.steps li {
  display: grid;
  grid-template-columns: 10mm 1fr;
  gap: 2mm;
  border-top: 2px solid var(--ink);
  padding-top: 2mm;
}
.cta {
  margin-top: auto;
  background: var(--card);
  color: #f4f7f6;
  border-radius: 14px;
  padding: 8mm;
  display: grid;
  grid-template-columns: 1fr 38mm;
  gap: 6mm;
  align-items: center;
}
.cta h2 { color: white; font-size: 1.45rem; }
.cta p { color: #c5d0cc; }
.phone { margin-top: 4mm !important; color: white !important; font-weight: 800; font-size: 1.15rem !important; }
.where { color: #b7c2be !important; }
.qr-block { text-align: center; }
.qr-block img { width: 32mm; height: 32mm; background: white; border-radius: 4px; }
.qr-block p { margin: 6px 0 0; color: white; font-weight: 800; font-size: 0.82rem; }

@media print {
  body { background: white; }
  .toolbar { display: none; }
  .sheet {
    width: 210mm;
    min-height: 297mm;
    margin: 0;
    box-shadow: none;
    page-break-after: always;
    break-after: page;
  }
  .sheet:last-child { page-break-after: auto; }
}
@page { size: A4; margin: 0; }
