/* Preflight for the v2 site.
 *
 * The Next.js build began globals.css with `@import "tailwindcss"`, and although the design uses
 * no Tailwind utility classes at all, it did inherit Tailwind's reset — and leans on it. The
 * hand-written CSS never zeroes heading sizes, list bullets or button chrome, so without this the
 * page renders with browser-default h1..h6 sizes, bulleted lists and bordered buttons.
 *
 * This is that reset, cut down to what the design actually relies on. Loaded before site.css.
 */

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

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

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

/* Headings and paragraphs carry their size from the design's own rules, never the browser's. */
h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

p, figure, blockquote, dl, dd, pre {
  margin: 0;
}

ol, ul, menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

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

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

b, strong { font-weight: bolder; }

code, kbd, samp, pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 1em;
}

small { font-size: 80%; }

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

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

/* Form controls inherit the page's typography rather than the platform's. */
button,
input,
optgroup,
select,
textarea,
::file-selector-button {
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  background: transparent;
  margin: 0;
  padding: 0;
}

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

:-moz-focusring { outline: auto; }
:-moz-ui-invalid { box-shadow: none; }

progress { vertical-align: baseline; }

::-webkit-inner-spin-button,
::-webkit-outer-spin-button { height: auto; }

[type='search'] { -webkit-appearance: textfield; outline-offset: -2px; }

::-webkit-search-decoration { -webkit-appearance: none; }

summary { display: list-item; }

textarea { resize: vertical; }

::placeholder { opacity: 1; color: color-mix(in srgb, currentColor 50%, transparent); }

/* Media sit as blocks and never overflow their column. Several sections depend on this. */
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  vertical-align: middle;
}

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

[hidden] { display: none !important; }
