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

html,
body {
  min-width: 0;
  margin: 0;
  background: #e9ebed;
}

/* Reserve the vertical scrollbar so viewport units use the available width. */
html {
  overflow-y: scroll;
}

/* Bound page surfaces without scaling their desktop content coordinates. */
main,
main > section {
  max-width: 100%;
}

/* Use the document's actual inline size for full-bleed layers at browser zoom. */
@supports (width: 100cqw) {
  html {
    container-type: inline-size;
  }

  body main[class]::before,
  body main[class] > section::before,
  body .global-footer {
    width: 100cqw;
  }
}

@media (max-width: 1439px) {
  html,
  body {
    min-width: 0;
  }
}

body {
  color: var(--color-ink);
  font-family: var(--font-body);
}

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

button {
  font: inherit;
}

img {
  display: block;
}

.temporary-entry {
  display: grid;
  min-height: 100vh;
  place-content: center;
  justify-items: center;
  gap: var(--space-6);
  background: var(--color-navy);
  color: var(--color-white-green);
}
