@font-face{font-family:Paperlogy;src:url('https://fastly.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-4Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Paperlogy;src:url('https://fastly.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-7Bold.woff2') format('woff2');font-weight:700;font-display:swap}

:root {
  --font-display: "Arial Black", Impact, Arial, sans-serif;
  --font-body: Paperlogy, Pretendard, "Apple SD Gothic Neo", "Noto Sans KR", Arial, sans-serif;
}

[hidden] { display: none !important; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.hero-wordmark {
  width: min(72vw, 720px);
  margin: 0;
}

.hero-wordmark img {
  width: 100%;
  height: auto;
  filter: invert(1);
}

.bonbon {
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  padding: 0;
  cursor: pointer;
}

.bonbon:focus-visible,
[data-blog-filter]:focus-visible,
[data-menu-open]:focus-visible,
[data-menu-close]:focus-visible {
  outline: 3px solid #ffdc00;
  outline-offset: 4px;
}

.hero-bonbon { position: absolute; }
.hero-bonbon > span { display: block; animation: floaty var(--float-duration, 6s) ease-in-out infinite; }
.hero-bonbon img { width: 100%; height: auto; }

.grid-bonbon {
  position: relative;
  width: 100%;
  transition: transform .4s cubic-bezier(.34, 1.8, .5, 1);
}
.grid-bonbon:hover { transform: translateY(-14px) rotate(-8deg) scale(1.18); }
.grid-bonbon:active { transform: translateY(2px) scale(.82) rotate(6deg); }
.grid-bonbon > span {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  aspect-ratio: 1;
  animation: floaty var(--float-duration, 6s) ease-in-out var(--float-delay, 0s) infinite;
}
.grid-bonbon img { max-width: 100%; max-height: 100%; }
.bonbon.is-popping > span { animation: bonbonPop .5s cubic-bezier(.22, 1, .36, 1) forwards; }
.bonbon.is-popped { visibility: hidden; pointer-events: none; }

.menu-link:hover { color: #ffdc00; opacity: 1; }
.journal-card img { transition: transform 1.1s; }
.journal-card:hover img { transform: scale(1.035); }
[data-blog-filter][aria-pressed="true"] { background: #111 !important; color: #f4f3f2 !important; }

.js [data-reveal] {
  opacity: 0;
  transform: translateY(70px);
  transition: opacity .7s ease, transform .7s ease;
}
.js [data-reveal].is-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
