/* Restocked marketing — Carbon palette. Zero JS; dark mode is OS-follow only. */
:root {
  --paper: #FFFFFF;
  --surface: #F6F7F7;
  --ink: #111418;
  --muted: #555B58;
  --ok: #00A862;
  --warn: #B08300;
  --err: #D64545;
  /* AA-safe variants for small text on light backgrounds */
  --ok-text: #007A50;
  --warn-text: #8A6900;
  --err-text: #C43D3D;
  --line: #E5E7E6;
  --serif: Georgia, "Times New Roman", serif;
  --sans: ui-sans-serif, system-ui, sans-serif;
  --mono: ui-monospace, "SF Mono", Menlo, monospace;
}
@media (prefers-color-scheme: dark) {
  :root {
    --paper: #0C0E10;
    --surface: #15181B;
    --ink: #F2F4F3;
    --muted: #9AA39E;
    --ok: #19C37D;
    --warn: #D9A441;
    --err: #E0685E;
    /* bright tokens clear AA on dark backgrounds */
    --ok-text: #19C37D;
    --warn-text: #D9A441;
    --err-text: #E0685E;
    --line: #24282C;
  }
}

* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  line-height: 1.6;
}
.wrap { max-width: 880px; margin: 0 auto; padding: 0 24px; }

h1, h2, h3 { font-family: var(--serif); line-height: 1.15; }
h1 { font-size: clamp(2rem, 5vw, 3rem); margin: 0 0 16px; }
h2 { font-size: 1.6rem; margin: 0 0 12px; }
h1 em, h2 em { color: var(--ok); }
.muted { color: var(--muted); }

header.site { display: flex; justify-content: space-between; align-items: center; padding: 20px 0; }
.brand { font-family: var(--serif); font-weight: 700; font-size: 1.2rem; color: var(--ink); text-decoration: none; }
.brand span { color: var(--ok); }

.cta {
  display: inline-block;
  background: var(--ink);
  color: var(--paper);
  font-family: var(--sans);
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  padding: 10px 18px;
  border-radius: 4px;
}

.hero { padding: 56px 0 40px; border-top: none; }

.receipt {
  font-family: var(--mono);
  font-size: 0.85rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 14px 16px;
  margin: 28px 0;
  max-width: 560px;
}
.receipt .label {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.7rem;
  color: var(--muted);
  margin-bottom: 8px;
}
.receipt .row { display: flex; justify-content: space-between; gap: 16px; padding: 2px 0; }
.ok { color: var(--ok-text); }
.warn { color: var(--warn-text); }
.err { color: var(--err-text); }

section { padding: 32px 0; border-top: 1px solid var(--line); }
ol.steps li, ul.features li { margin: 10px 0; }

.price { font-family: var(--serif); font-size: 2.4rem; }

table.compare { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
table.compare th, table.compare td {
  border: 1px solid var(--line);
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
}
table.compare th { background: var(--surface); font-family: var(--sans); }

details { border: 1px solid var(--line); border-radius: 6px; padding: 10px 14px; margin: 8px 0; background: var(--surface); }
summary { cursor: pointer; font-weight: 600; }

footer.site { padding: 32px 0 48px; border-top: 1px solid var(--line); font-size: 0.9rem; color: var(--muted); }
footer.site a { color: var(--muted); }
