/* BBSRONE design tokens — shared by every page.
   Canonical Google Fonts import (kept as a <link> in each page <head>):
   https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,500&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500&display=swap
   Load order per page: Google Fonts link -> tokens.css -> components.css -> pages/<page>.css */

:root{
  --paper: #FAF7F1;
  --sand: #EEE4D2;
  --ink: #15251E;
  --ink-soft: #4A554E;
  --ink-faint: #8B9089;
  --pine: #1F4D3E;
  --pine-deep: #163A2E;
  --pine-tint: #E4EDE8;
  --brass: #B8873F;
  --brass-tint: #F3E7D2;
  --brass-deep: #8A631F;
  --line: #E2DAC9;
  --white: #FFFFFF;
  --radius-s: 10px;
  --radius-m: 16px;
  --radius-l: 24px;
  --shadow-soft: 0 1px 2px rgba(21,37,30,0.04), 0 6px 20px -8px rgba(21,37,30,0.10);
  --shadow-lift: 0 2px 4px rgba(21,37,30,0.06), 0 16px 32px -12px rgba(21,37,30,0.18);
  --error: #B23B3B;
  --error-tint: #FBEAEA;
  --danger: #B3432F;
  --danger-tint: #F5E4DF;
  --gold: #B8873F;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
}
h1,h2,h3,.font-display{
  font-family:'Fraunces',serif;
  color:var(--ink);
  margin:0;
  letter-spacing:-0.01em;
}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
button{font-family:inherit;cursor:pointer;}
:focus-visible{outline:2px solid var(--pine);outline-offset:2px;}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}
}
@keyframes shimmer{0%{background-position:100% 0;}100%{background-position:-100% 0;}}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.35;}}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
@keyframes spin{to{transform:rotate(360deg);}}
