/**
 * GSS base reset
 *
 * Replaces the parts of Tailwind's Preflight the site actually depended on.
 * The Tailwind CDN build (cdn.tailwindcss.com) was previously loaded on 31
 * pages purely for this reset: no Tailwind utility classes are used anywhere
 * in the markup. That script compiles CSS in the browser, is explicitly not
 * intended for production, and was render-blocking on every page.
 *
 * Scope is deliberately narrow. This only reproduces the Preflight rules that
 * changed layout when removed (margin collapse on headings, paragraphs and
 * lists, list markers, and inherited heading type). Anything beyond that is
 * left to each page's own <style> block.
 */

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

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

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

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

/* Headings inherit type; every page sets its own scale explicitly. */
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: 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;
}

button,
input,
optgroup,
select,
textarea {
  font-family: 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: this is the group whose removal changed page height. */
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend { padding: 0; }

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

textarea { resize: vertical; }

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

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

:disabled { cursor: default; }

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  vertical-align: middle;
}

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

[hidden] { display: none; }
