/* Resets, base elements, and layout helpers */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; overflow-x: hidden; }
body {
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-weight: 300;
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
::selection { background: var(--rose); color: var(--ivory); }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
img { max-width: 100%; display: block; }

/* Layout helpers */
.container { width: min(1280px, 92vw); margin: 0 auto; }
.container-tight { width: min(880px, 90vw); margin: 0 auto; }

/* Dividers */
.hairline { height: 1px; background: var(--marfil); border: 0; margin: 0; }
.vline { width: 1px; background: var(--marfil); align-self: stretch; }
