/* wpoffertes.nl — a poster, not a brochure. Near-white paper, near-black ink,
   one saturated accent that only ever marks the door. Signature: the receipt
   (table.data) with its dotted rules and orange line numbers. See site.md. */

:root {
  --brand: #141414;
  --brand-2: #3a3a3a;
  --accent: #c2330e;
  --ring: #c2330e;
  --paper: #fbfaf7;
  --surface: #ffffff;
  --surface-2: #f3f1ec;
  --band: #f3f1ec;
  --line: #d9d5cc;
  --ink: #141414;
  --muted: #5b5852;
  --on-brand: #ffffff;
  --grad: linear-gradient(135deg, #141414 0%, #2b2b2b 100%);
  --hero-bg: var(--paper);
  --hero-ink: #141414;
  --hero-ink-soft: #5b5852;
  --hero-line: #141414;
  --measure: 34em;
  --page: 960px;
  --narrow: 720px;
  --t6: clamp(2.4rem, 9vw, 4.6rem);
  --t5: clamp(2rem, 6vw, 3.2rem);
  --t4: clamp(1.5rem, 4.4vw, 2.2rem);
  --shadow-1: none;
  --shadow-2: 0 1px 0 #141414;
}

body { background: var(--paper); color: var(--ink); }

/* The poster headline: heavy, tight, short lines. */
.hero { border-bottom: 3px solid var(--hero-line); }
.hero h1 {
  font-family: var(--font-display);
  font-size: var(--t6);
  font-weight: 800;
  line-height: .98;
  letter-spacing: -.035em;
  max-width: 11ch;
}
.hero .lede { max-width: 30em; font-size: var(--t2); color: var(--hero-ink-soft); }
.hero .eyebrow, .section-head .eyebrow {
  font-family: var(--font-mono);
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--ink);
}
.hero .eyebrow::before, .section-head .eyebrow::before {
  content: "";
  display: inline-block;
  width: 1.4em;
  height: 3px;
  margin-right: .5em;
  vertical-align: middle;
  background: var(--accent);
}
.hero-meta { font-family: var(--font-mono); font-size: var(--t0); }

/* Orange means: this takes you to the form. Nothing else is orange. */
.btn, .hero .btn, .lead button, .lead [type="submit"] {
  background: var(--accent);
  color: #fff;
  border: 0;
  font-weight: 700;
  letter-spacing: .01em;
}
.btn:hover, .lead button:hover, .lead [type="submit"]:hover { background: #9e290b; }
a { color: var(--ink); text-decoration-thickness: 2px; text-underline-offset: 3px; }
a:hover { text-decoration-color: var(--accent); }
:focus-visible { outline: 3px solid var(--ring); outline-offset: 2px; }

.section-head h2 { font-weight: 800; letter-spacing: -.025em; line-height: 1.05; }

/* Cards: numbered columns ruled at the top, no boxes. */
.card {
  background: transparent;
  border: 0;
  border-top: 3px solid var(--ink);
  border-radius: 0;
  box-shadow: none;
  padding-left: 0;
  padding-right: 0;
}
.cards { counter-reset: post; }
.card { counter-increment: post; }
.card h3::before {
  content: counter(post, decimal-leading-zero);
  display: block;
  margin-bottom: var(--s2);
  font-family: var(--font-mono);
  font-size: var(--t0);
  color: var(--accent);
  font-weight: 700;
}

/* The signature: the receipt. */
.table-wrap {
  max-width: 44rem;
  margin-inline: auto;
  background: var(--surface);
  padding: var(--s5) var(--s5) var(--s6);
  border-radius: var(--r2);
  border: 1px solid var(--line);
  box-shadow: 0 18px 40px -28px rgba(20, 20, 20, .45);
}
table.data {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-mono);
  font-size: var(--t0);
}
table.data thead th {
  text-transform: uppercase;
  letter-spacing: .1em;
  border-bottom: 2px solid var(--ink);
  background: transparent;
  text-align: left;
}
table.data td, table.data th {
  padding: var(--s3) var(--s2);
  border-bottom: 1px dotted var(--ink);
  vertical-align: top;
  background: transparent;
}
table.data tbody th { white-space: nowrap; font-weight: 700; }
table.data tbody th::first-letter { color: var(--accent); }
table.data tbody tr:last-child td, table.data tbody tr:last-child th { border-bottom: 4px double var(--ink); }
table.data caption { caption-side: bottom; padding-top: var(--s3); color: var(--muted); text-align: left; }

/* FAQ: plain rules, no cards. */
.faq-item { background: transparent; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; }
.faq-item summary { font-weight: 700; }

/* The prose aside stays a short column. */
.prose { max-width: var(--measure); }

/* The door at the bottom: a framed block, the one place the accent fills an edge. */
.section[data-tone] .lead, .lead {
  border-top: 6px solid var(--accent);
}

@media (max-width: 480px) {
  .hero h1 { max-width: none; }
  table.data tbody th { white-space: normal; }
  .table-wrap { padding: var(--s4) var(--s3); }
}
