/* B&B Nexus — design tokens */
:root {
  /* Brand */
  --forest: #1f3d2b;
  --forest-deep: #15291d;
  --forest-ink: #0e1410;
  --gold: #b8924a;
  --gold-soft: #d4b06a;

  /* Neutrals — warm bone */
  --bone: #f5f1e8;
  --bone-2: #ece6d6;
  --bone-3: #dcd4bf;
  --paper: #fbf8f1;
  --rule: rgba(14, 20, 16, 0.14);
  --rule-strong: rgba(14, 20, 16, 0.32);

  /* Accent (tweakable) */
  --accent: #b8924a;
  --accent-ink: #0e1410;

  /* Type */
  --f-display: "Instrument Serif", "Cormorant Garamond", Georgia, serif;
  --f-body: "IBM Plex Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --f-mono: "Geist Mono", "IBM Plex Mono", ui-monospace, monospace;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--bone);
  color: var(--forest-ink);
  font-family: var(--f-body);
  font-size: 15px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: 0; background: none; color: inherit; }

.mono { font-family: var(--f-mono); font-feature-settings: "ss01"; letter-spacing: -0.01em; }
.serif { font-family: var(--f-display); font-weight: 400; }
.eyebrow {
  font-family: var(--f-mono);
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--forest);
}
.hairline { height: 1px; background: var(--rule); width: 100%; }

/* Selection */
::selection { background: var(--forest); color: var(--bone); }
