/* base — single ownership; responsive overrides remain with their component. */
@font-face {
  font-family:Pretendard;
  src:url('../assets/PretendardVariable.woff2') format('woff2');
  font-weight:100 900;
  font-display:swap;
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
}

body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:400 var(--body)/1.5 Pretendard,sans-serif;
}

h1 {
  margin:0;
}

h2 {
  margin:0;
}

h3 {
  margin:0;
}

p {
  margin:0;
}

h1 {
  font-weight:500;
  line-height:1.08;
  letter-spacing:-.04em;
}

h2 {
  font-weight:500;
  line-height:1.08;
  letter-spacing:-.04em;
}

h3 {
  font-weight:500;
  line-height:1.08;
  letter-spacing:-.04em;
}

h2 {
  font-size:var(--title);
}

h3 {
  font-size:24px;
}

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

button {
  font:inherit;
}

input {
  font:inherit;
}

textarea {
  font:inherit;
}

select {
  font:inherit;
}

button {
  color:inherit;
  cursor:pointer;
  background:none;
  border:0;
  padding:0;
}

button:disabled {
  cursor:default;
}

button:focus-visible {
  outline:2px solid #577600;
  outline-offset:5px;
}

a:focus-visible {
  outline:2px solid #577600;
  outline-offset:5px;
}

summary:focus-visible {
  outline:2px solid #577600;
  outline-offset:5px;
}

[tabindex]:focus-visible {
  outline:2px solid #577600;
  outline-offset:5px;
}

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

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

[hidden] {
  display:none!important;
}

.skip {
  position:fixed;
  top:-60px;
  left:16px;
  background:var(--accent);
  z-index:100;
  padding:12px;
}

.skip:focus {
  top:8px;
}

@media(max-width:760px) {
  html {
    scroll-padding-top:64px;
  }
}

html {
  scroll-padding-top:0;
  scroll-snap-type:y proximity;
}

body[data-menu-open=true] {
  scroll-snap-type:none;
}

@media(max-width:760px) {
  html {
    scroll-snap-type:none;
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-snap-type:none;
    scroll-behavior:auto;
  }
}

html[data-scroll-assist=off] {
  scroll-snap-type:none;
}

