/* ============================================================
   BNC · Base element defaults & helpers
   Applies the foundations to bare HTML so the brand shows up
   without per-element wiring. Safe, low-specificity defaults.
   ============================================================ */

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

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--text-md);
  line-height: var(--line-md);
  color: var(--color-text-primary);
  background: var(--color-bg-primary);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Headings use Montserrat display family */
h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-family: var(--font-display);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  letter-spacing: var(--tracking-display);
  text-wrap: balance;
}

h1 { font-size: var(--text-display-lg); line-height: var(--line-display-lg); }
h2 { font-size: var(--text-display-md); line-height: var(--line-display-md); }
h3 { font-size: var(--text-display-sm); line-height: var(--line-display-sm); }
h4 { font-size: var(--text-display-xs); line-height: var(--line-display-xs); }
h5 { font-size: var(--text-xl); line-height: var(--line-xl); }
h6 { font-size: var(--text-lg); line-height: var(--line-lg); }

p { margin: 0; text-wrap: pretty; }

a {
  color: var(--color-text-link);
  text-decoration: none;
  transition: color var(--duration-fast) var(--ease-standard);
}
a:hover { color: var(--color-text-link-hover); }

button { font-family: inherit; }

/* ---- Reusable layout helper ---- */
.bnc-container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad-desktop);
}

/* ---- Animations ---- */
@keyframes bnc-spin { to { transform: rotate(360deg); } }
@keyframes bnc-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---- Eyebrow / label text (orange uppercase micro-label) ---- */
.bnc-eyebrow {
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-brand);
  letter-spacing: 0.02em;
}
