/*
 * Translated from styleguide/components/00-base/02-base/_04-base.scss
 * (html/body basics portion). Preserve first — do not simplify.
 */

html {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
  background-color: var(--color-lehigh-brown-20);
}

body {
  font-family: var(--font-body);
  color: var(--color-grey-darkest);
  max-width: 1920px;
  /* important flag preserved verbatim from the Sass source (_04-base.scss) —
     do not remove; this is a pre-existing behavior this phase must not
     change, even though it violates the "no important flag" convention for
     NEW code. */
  margin: 0 auto !important;
  background-color: var(--color-white);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
}

/* Bug fix (Phase 3b): 122px was a hardcoded assumption about the combined
   height of everything that becomes "position: fixed" when sticky
   (.business-nav + .name-tag). js/sticky-nav.js now measures the real
   combined height on every scroll event and sets --sticky-header-height on
   the root element; 122px is kept only as the pre-JS/no-JS fallback -- do
   not remove it. */
body.sticky main {
  position: relative;
  top: var(--sticky-header-height, 122px);
  margin-bottom: var(--sticky-header-height, 122px);
}

.body-inner {
  overflow: hidden;
}

.u-body-no-scroll {
  /* Added with JS when an overlay is active */
  max-height: 100vh;
  overflow: hidden;
}
