/* ==========================================================================
   RESET

   This site was built against Tailwind's "preflight" reset, but used none of
   Tailwind's utility classes — so the framework is gone and the handful of
   rules the layout actually depended on are written out here instead.

   Load this BEFORE globals.css: a few of these are deliberately overridden
   there (html's line-height, for one).
   ========================================================================== */

/* Zero every margin and padding. The whole layout assumes this: headings,
   paragraphs and lists carry no default spacing of their own, and every gap
   you see is set on purpose somewhere in a stylesheet. */
*,
*::before,
*::after,
::backdrop {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0 solid;
}

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

body { line-height: inherit; }

/* Headings are sized by the `.text--title*` / `.text--subtitle*` classes, so
   the browser's own bold-and-big defaults would only fight them. */
h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
}

b, strong { font-weight: bolder; }

/* Lists are used as layout containers throughout (the gallery grid, the nav
   menus, the footer columns), never as bulleted prose. */
ol, ul, menu { list-style: none; }

/* Inline-block media sits on the text baseline, which leaves a few stray
   pixels under every image. Block removes it. */
img, svg, video, canvas, audio, iframe, embed, object {
  display: block;
  vertical-align: middle;
}

/* Never overflow the column; keep the aspect ratio while scaling. */
img, video {
  max-width: 100%;
  height: auto;
}

/* Form controls do not inherit type by default. */
button, input, optgroup, select, textarea {
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  background: transparent;
}

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

summary { display: list-item; }
[hidden] { display: none !important; }
