/* ===========================================================================
   Buro Inzicht — Base element styles
   Minimal resets + the brand's default type rendering. Components and kits
   build on top of these defaults; tokens stay the single source of truth.
   =========================================================================== */

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

html {
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  font-family: var(--font-body);
  font-weight: var(--weight-regular);
  font-size: var(--text-medium);
  line-height: var(--leading-body);
  color: var(--text-on-dark);
  background-color: var(--surface-base);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: var(--weight-bold);
  letter-spacing: var(--tracking-heading);
  margin: 0;
  text-wrap: balance;
}

h1 { font-size: var(--text-h1); line-height: var(--leading-h1); }
h2 { font-size: var(--text-h2); line-height: var(--leading-h2); }
h3 { font-size: var(--text-h3); line-height: var(--leading-h3); }
h4 { font-size: var(--text-h4); line-height: var(--leading-h4); }
h5 { font-size: var(--text-h5); line-height: var(--leading-h5); }
h6 { font-size: var(--text-h6); line-height: var(--leading-h6); }

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

a { color: inherit; text-decoration: none; }

img, svg, video { display: block; max-width: 100%; }

button {
  font-family: inherit;
  font-size: inherit;
}

button:not(:disabled),
[role="button"]:not(:disabled) {
  cursor: pointer;
}

:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}

/* Layout helpers ---------------------------------------------------------- */
.bi-container {
  width: 100%;
  max-width: var(--container-xxl);
  margin-inline: auto;
  padding-inline: var(--page-x);
}

.bi-section {
  padding-block: var(--section-y);
}
@media (min-width: 768px) {
  .bi-section { padding-block: var(--section-y-md); }
}
@media (min-width: 992px) {
  .bi-section { padding-block: var(--section-y-lg); }
}

/* Eyebrow / kicker label above headings */
.bi-eyebrow {
  font-size: var(--text-medium);
  font-weight: var(--weight-semibold);
  margin-bottom: var(--space-4);
}
