/* ================================================================
   Babel Contract Board — Base reset + semantic elements
   ================================================================ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: var(--cb-font-body);
  font-size:   var(--cb-body-size);
  color:       var(--cb-text-primary);
  background:  var(--cb-bg-app);
  line-height: var(--cb-leading);
  -webkit-font-smoothing: antialiased;
}

h1 {
  font-family:    var(--cb-h1-font);
  font-size:      var(--cb-h1-size);
  font-weight:    var(--cb-h1-weight);
  color:          var(--cb-h1-color);
  letter-spacing: var(--cb-h1-spacing);
  line-height:    var(--cb-leading-tight);
}
h2 {
  font-family: var(--cb-h2-font);
  font-size:   var(--cb-h2-size);
  font-weight: var(--cb-h2-weight);
  color:       var(--cb-h2-color);
  line-height: var(--cb-leading);
}
h3 {
  font-family: var(--cb-font-body);
  font-size:   var(--cb-text-lg);
  font-weight: 700;
  color:       var(--cb-brand-deep);
  line-height: var(--cb-leading);
}
p {
  font-family: var(--cb-body-font);
  font-size:   var(--cb-body-size);
  font-weight: var(--cb-body-weight);
  color:       var(--cb-body-color);
  line-height: var(--cb-leading);
}
small {
  font-size: var(--cb-text-sm);
  color:     var(--cb-text-muted);
}
