:root {
  --bg: #FFFFFF;
  --surface: #FFFFFF;
  --surface-2: #FAF7F2;
  --ink: #2D2926;
  --muted: #746D67;
  --line: #E4DED7;
  --accent: #7A6474;
  --accent-ink: #FFFFFF;
  --accent-soft: #EDE5E9;
  --highlight: #B7A58E;
  --font-display: 'Lora', Georgia, serif;
  --font-body: 'Lato', system-ui, sans-serif;
  --radius: 2px;
  --hero-layout: "overlay";
}
body.nsf-store { background: var(--bg); color: var(--ink); font-family: var(--font-body); }
.nsf-store h1, .nsf-store h2, .nsf-store h3 { font-family: var(--font-display); }
.nsf-store .page-content h2 { font-size: clamp(24px, 3vw, 34px); margin: 1.2em 0 .4em; }
.nsf-store .page-content p, .nsf-store .page-content li { color: var(--muted); line-height: 1.75; }
.nsf-store .page-content ul { padding-left: 20px; }
.nsf-store .page-head .result-count { color: var(--muted); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.nsf-store .empty-state { color: var(--muted); padding: 40px 0; }
.nsf-store .post-list { display: grid; gap: 24px; }
.nsf-store .post-card { border-bottom: 1px solid var(--line); padding-bottom: 20px; }
