/* preflight.css — a Tailwind-Preflight-equivalent base reset.
   --------------------------------------------------------------------------
   The React build pulled this in via `@tailwind base`. When we ported the
   hand-written CSS to theme.css we dropped `@tailwind base`, so the Bootstrap
   build was left with only Bootstrap's Reboot — which (unlike Preflight) KEEPS
   <ul>/<ol> bullets + 40px indent, native <button> chrome, blue <a> colour, and
   heading/paragraph margins. That mismatch caused the bullets, boxed FAQ rows,
   blue footer links, and the section height deltas the parity pass flagged.

   This mirrors Tailwind v3 Preflight (the subset that matters here). It loads
   AFTER bootstrap.min.css (so it overrides Reboot) and BEFORE theme.css +
   utilities.css (so component + utility classes still win), matching Tailwind's
   base → components → utilities cascade order. */

*,
::before,
::after {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  border-color: currentColor;
}

html {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -moz-tab-size: 4;
  tab-size: 4;
}

body {
  margin: 0;
  line-height: inherit;
}

hr {
  height: 0;
  color: inherit;
  border-top-width: 1px;
}

abbr:where([title]) {
  text-decoration: underline dotted;
}

/* Headings inherit size/weight — the design sets them via utility classes
   (font-display, text-[NN], font-bold…) exactly like the React build. */
h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
}

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

b, strong {
  font-weight: bolder;
}

code, kbd, samp, pre {
  font-family: "JetBrains Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

table {
  text-indent: 0;
  border-color: inherit;
  border-collapse: collapse;
}

/* Form controls inherit type + lose UA chrome (the FAQ triggers etc.). */
button, input, optgroup, select, textarea {
  font-family: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  font-size: 100%;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
}

button, select {
  text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  background-color: transparent;
  background-image: none;
}

:-moz-focusring {
  outline: auto;
}

progress {
  vertical-align: baseline;
}

summary {
  display: list-item;
}

/* Margin reset — the design controls spacing with utilities. */
blockquote, dl, dd,
h1, h2, h3, h4, h5, h6,
hr, figure, p, pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

/* THE big one: lists lose bullets + indent + margin (Bootstrap kept them). */
ol, ul, menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

dialog {
  padding: 0;
}

textarea {
  resize: vertical;
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
  color: #9ca3af;
}

button,
[role="button"] {
  cursor: pointer;
}

:disabled {
  cursor: default;
}

/* Media is block-level (removes the inline descender gap Reboot leaves). */
img, svg, video, canvas, audio, iframe, embed, object {
  display: block;
  vertical-align: middle;
}

img, video {
  max-width: 100%;
  height: auto;
}

[hidden] {
  display: none;
}
