@layer base {

  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }

  html {
    &[data-screen-locked="true"] {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
    }
  }

  body {
    font-family: var(--font-family-base);
    font-size: var(--font-size-base);
    line-height: 1.5;
    color: var(--color-basic-brown);
    background-color: var(--color-white);
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  :where(a) {
    color: var(--color-basic-brown);
    text-decoration: none;

    &:focus-visible {
      z-index: 1;
      outline: 2px solid var(--color-basic-brown);
      outline-offset: 2px;
      box-shadow: 0 0 0 4px var(--color-white);
    }

    &[href^="tel:"] {
      visibility: hidden;
      pointer-events: none;

      @media (max-width: 1020px) {
        visibility: visible;
        pointer-events: auto;
      }
    }
  }

  :where(button),
  :where(iframe),
  :where(video) {
    &:focus-visible {
      z-index: 1;
      outline: 2px solid var(--color-basic-brown);
      outline-offset: 2px;
      box-shadow: 0 0 0 4px var(--color-white);
    }
  }
}