* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font);
  color: var(--ink);
  background: var(--sky-top);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; }
:lang(ko) { word-break: keep-all; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
em { font-style: normal; }
:focus-visible { outline: 2px solid var(--brand-soft); outline-offset: 3px; border-radius: 6px; }

.skip-link {
  position: fixed; top: -56px; left: 16px; z-index: 99;
  background: var(--glass-strong); border: 1px solid var(--hairline);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  padding: 10px 16px; border-radius: 12px; font-size: 14px; font-weight: 600;
  transition: top 0.2s ease;
}
.skip-link:focus { top: 12px; }

/* scroll reveals */
[data-reveal] {
  opacity: 0; transform: translateY(28px);
  transition: opacity 0.9s ease, transform 0.9s cubic-bezier(0.16, 0.7, 0.22, 1);
}
[data-reveal].is-in { opacity: 1; transform: none; }
[data-reveal][data-reveal-delay="1"] { transition-delay: 0.12s; }
[data-reveal][data-reveal-delay="2"] { transition-delay: 0.24s; }
[data-reveal][data-reveal-delay="3"] { transition-delay: 0.36s; }
[data-parallax] { will-change: transform; }

.store-badge {
  display: inline-block;
  filter: drop-shadow(0 10px 24px rgba(2, 6, 16, 0.45));
  transition: transform 0.25s ease;
}
.store-badge:hover { transform: translateY(-2px) scale(1.02); }
.store-badge img { width: auto; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  [data-reveal] { opacity: 1; transform: none; transition: none; }
  .store-badge:hover { transform: none; }
}
