/* #notme sitestijl. Zelfde ontwerptaal als het manifest: papier, inktblauw, stempel-labels. */
:root {
  --bg: #f7f5f0; --ink: #23252b; --muted: #6b6f7a; --accent: #a51c30;
  --rule: #d9d7cf; --note-bg: #f0eee9; --ok: #2e6b3f; --err: #8a3324;
}
@media (prefers-color-scheme: dark) {
  :root { --bg:#14161c; --ink:#e6e4dd; --muted:#979caa; --accent:#e35d6a; --rule:#2c2f3a; --note-bg:#1c1e24; --ok:#7fbf92; --err:#d98b6f; }
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
  margin:0; background:var(--bg); color:var(--ink);
  font-family:'Spectral', Georgia, 'Times New Roman', serif;
  font-size:1.2rem; line-height:1.75;
  display:flex; flex-direction:column; min-height:100vh;
}
footer.bottom { margin-top:auto; }
::selection { background:var(--accent); color:var(--bg); }
a { color:var(--accent); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.wrap { max-width:46rem; margin:0 auto; padding:0 1.5rem; }
.mono { font-family:'Courier Prime','Courier New',monospace; }

header.top { border-bottom:1px solid var(--rule); }
nav.main { display:flex; align-items:center; justify-content:space-between; gap:1rem; max-width:46rem; margin:0 auto; padding:1rem 1.5rem; flex-wrap:wrap; }
nav.main .brand { font-family:'Courier Prime',monospace; font-weight:700; font-size:1.15rem; letter-spacing:.06em; color:var(--ink); text-decoration:none; }
nav.main .brand span { color:var(--accent); }
nav.main ul { display:flex; gap:1.4rem; list-style:none; margin:0; padding:0; flex-wrap:wrap; }
nav.main ul a { font-family:'Courier Prime',monospace; font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; text-decoration:none; color:var(--muted); }
nav.main ul a:hover, nav.main ul a[aria-current] { color:var(--accent); }

.hero { text-align:center; padding:4.5rem 1.5rem 3.5rem; }
.hero .tag { font-family:'Courier Prime',monospace; font-weight:700; font-size:clamp(2.8rem,9vw,4.6rem); letter-spacing:-.01em; margin:0; color:var(--ink); }
.hero .tag span { color:var(--accent); }
.hero h1 { font-family:'Fraunces',Georgia,serif; font-weight:500; font-size:clamp(1.5rem,4.5vw,2.1rem); margin:1.25rem 0 .75rem; text-wrap:balance; }
.hero p.lead { max-width:34rem; margin:0 auto; color:var(--muted); font-style:italic; text-wrap:balance; }
.hero .cta-row { display:flex; gap:.8rem; justify-content:center; margin-top:2.25rem; flex-wrap:wrap; }

.btn { display:inline-block; font-family:'Courier Prime',monospace; font-weight:700; font-size:.85rem; letter-spacing:.12em; text-transform:uppercase;
  padding:.7rem 1.3rem; border:1.5px solid var(--accent); border-radius:2px; color:var(--accent); background:transparent; text-decoration:none; cursor:pointer; }
.btn.primary { background:var(--accent); color:var(--bg); }
.btn:hover { transform:rotate(-.6deg); }
.btn:disabled { opacity:.5; cursor:wait; }

section.block { padding:3rem 0; border-top:1px solid var(--rule); }
.stamp { display:inline-block; font-family:'Courier Prime',monospace; font-weight:700; font-size:.72rem; letter-spacing:.3em; text-transform:uppercase;
  color:var(--accent); border:1.5px solid var(--accent); border-radius:2px; padding:.32rem .55rem .22rem .8rem; transform:rotate(-1.4deg); margin-bottom:1rem; }
h2 { font-family:'Fraunces',Georgia,serif; font-weight:500; font-size:1.8rem; line-height:1.15; margin:.4rem 0 1.1rem; text-wrap:balance; }
h3 { font-family:'Fraunces',Georgia,serif; font-weight:600; font-size:1.15rem; margin:1.8rem 0 .6rem; }
p { margin:0 0 1.3rem; }
.muted { color:var(--muted); }

.levels { display:grid; gap:1.25rem; margin-top:1.5rem; }
.level { border:1px solid var(--rule); border-radius:3px; padding:1.5rem 1.6rem; background:var(--note-bg); }
.level .lvl { font-family:'Courier Prime',monospace; font-weight:700; font-size:.72rem; letter-spacing:.3em; text-transform:uppercase; color:var(--accent); }
.level h3 { margin:.5rem 0 .6rem; }
.level p { margin-bottom:1rem; }

.share-card { border:1px solid var(--rule); border-radius:3px; padding:1rem 1.2rem; margin-bottom:1rem; background:var(--bg); }
.share-card blockquote { margin:0 0 .8rem; font-style:italic; }
.share-actions { display:flex; gap:.6rem; flex-wrap:wrap; }
.share-actions a, .share-actions button { font-size:.72rem; padding:.45rem .8rem; }

form .field { margin-bottom:1.2rem; }
label { display:block; font-family:'Courier Prime',monospace; font-size:.75rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-bottom:.4rem; }
input[type=text], input[type=email], select, textarea {
  width:100%; font-family:'Spectral',Georgia,serif; font-size:1rem; color:var(--ink);
  background:var(--bg); border:1px solid var(--rule); border-radius:2px; padding:.65rem .8rem; }
textarea { min-height:6.5rem; resize:vertical; }
.checks { display:grid; gap:.45rem; }
.checks label { display:flex; align-items:flex-start; gap:.6rem; text-transform:none; letter-spacing:0; font-family:'Spectral',Georgia,serif; font-size:1rem; color:var(--ink); }
.checks input { margin-top:.3rem; }
.consent { border-left:3px solid var(--accent); background:var(--note-bg); padding:1rem 1.2rem; margin:1.4rem 0; }
.consent label { display:flex; gap:.7rem; align-items:flex-start; text-transform:none; letter-spacing:0; font-family:'Spectral',Georgia,serif; font-size:.98rem; color:var(--ink); }
.msg { display:none; margin-top:1rem; padding:.9rem 1.1rem; border-radius:2px; font-size:.98rem; }
.msg.ok { display:block; background:var(--note-bg); border-left:3px solid var(--ok); }
.msg.err { display:block; background:var(--note-bg); border-left:3px solid var(--err); }
.hp { position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }

.addr-box { display:none; margin-top:1.5rem; text-align:center; }
.addr-box.show { display:block; }
#qr { display:inline-block; padding:12px; background:#ffffff; border:1px solid var(--rule); border-radius:3px; }
#btc-address { font-family:'Courier Prime',monospace; font-size:.9rem; word-break:break-all; margin:1rem auto .6rem; max-width:30rem; }

.quote { text-align:center; font-style:italic; font-size:1.2rem; max-width:30rem; margin:0 auto; }
.quote .attr { font-family:'Courier Prime',monospace; font-style:normal; font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin-top:.6rem; }

footer.bottom { border-top:1px solid var(--rule); margin-top:3rem; padding:2rem 1.5rem; text-align:center;
  font-family:'Courier Prime',monospace; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
footer.bottom a { color:var(--muted); }

.share-card .fact { font-family:'Courier Prime',monospace; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin:0 0 .7rem; }
details.why { margin:0 0 1rem; }
details.why summary { cursor:pointer; font-family:'Courier Prime',monospace; font-size:.75rem; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); }
details.why p { margin:.7rem 0 0; font-size:.98rem; }
.src-note { font-size:.8rem; line-height:1.6; color:var(--muted); margin-top:2rem; }
.src-note a { color:var(--muted); }

.explain { border-left:3px solid var(--accent); background:var(--note-bg); padding:1.3rem 1.6rem; margin:0 0 2.25rem; }
.explain p { margin:0; }
.explain strong { color:var(--accent); }
