html {
  box-sizing: border-box;
  text-rendering: optimizeLegibility;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  @apply --font-smoothing-antialiased;
}

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

:focus {
  outline: var(--focus-outline);
  outline-offset: var(--focus-outline-offset);
}

html,
body {
  width: 100%;
  min-height: 100%;
}

figure {
  margin: 0;
}

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

h1,
h2,
h3,
h4,
h5,
h6,
p,
dl,
dd,
dt,
ul,
ul li,
ol,
ol li,
figcaption,
blockquote,
cite,
.display-title,
.big,
.small-caps,
.field,
fieldset,
label,
input,
textarea,
.select,
.control,
progress,
table {
  &:first-child {
    margin-top: 0;
  }

  &:last-child {
    margin-bottom: 0;
  }
}

html {
  box-sizing: border-box;
  text-rendering: optimizeLegibility;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  @apply --font-smoothing-antialiased;
}

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

:focus {
  outline: var(--focus-outline);
  outline-offset: var(--focus-outline-offset);
}

html,
body {
  width: 100%;
  min-height: 100%;
}

figure {
  margin: 0;
}

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

h1,
h2,
h3,
h4,
h5,
h6,
p,
dl,
dd,
dt,
ul,
ul li,
ol,
ol li,
figcaption,
blockquote,
cite,
.display-title,
.big,
.small-caps,
.field,
fieldset,
label,
input,
textarea,
.select,
.control,
progress,
caption,
table {
  &:first-child {
    margin-top: 0;
  }

  &:last-child {
    margin-bottom: 0;
  }
}

Reset <caption> margin for :first-child and :last-child
Reset <caption> margin for :first-child and :last-child
