* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

::view-transition-group(root) {
  animation-duration: 360ms;
  animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: "Inter", sans-serif;
  line-height: 1.45;
  text-rendering: optimizeLegibility;
}

img {
  display: block;
  max-width: 100%;
}

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

a,
button,
input,
summary {
  -webkit-tap-highlight-color: transparent;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
summary:focus-visible {
  outline: 2px solid rgba(201, 120, 74, 0.9);
  outline-offset: 3px;
}

button,
input {
  font: inherit;
}

.skip-link {
  position: absolute;
  left: 16px;
  top: -48px;
  z-index: 1200;
  padding: 10px 12px;
  background: var(--text);
  color: var(--bg);
  font-size: 0.86rem;
  transition: top 180ms ease;
}

.skip-link:focus-visible {
  top: 12px;
}

.container {
  width: min(calc(100% - 56px), var(--container));
  margin: 0 auto;
}
