/* Adam Smith Entertainment — custom component styles
   Tailwind CDN이 제공하지 못하는 ::after/@keyframes/data-reveal 트랜지션을 여기서 담당합니다. */

:root {
  --font-sans: "Noto Sans KR", system-ui, -apple-system, BlinkMacSystemFont,
    "Apple SD Gothic Neo", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-serif: "Bodoni Moda", Georgia, "Times New Roman", serif;
}

html { scroll-behavior: smooth; font-family: var(--font-sans); }
body { font-family: var(--font-sans); overflow-x: hidden; -webkit-font-smoothing: antialiased; }
a, button, input, textarea { -webkit-tap-highlight-color: transparent; }

/* 상단 로고 워드마크 */
.logo-wordmark {
  font-family: var(--font-serif);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 0.82;
}

/* 섹션 상단 키커 라벨 */
.section-kicker {
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.28em;
  color: rgba(0, 0, 0, 0.35);
}

/* 네비게이션 밑줄 애니메이션 */
.nav-link { position: relative; }
.nav-link::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -0.45rem;
  height: 1px;
  background: #111111;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 260ms ease;
}
.nav-link:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

/* 스크롤 인 리빌 */
[data-reveal] {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 700ms ease, transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}
[data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}
.hero-grid [data-reveal]:nth-child(2),
.creator-card:nth-child(2),
.business-card:nth-child(2) { transition-delay: 80ms; }
.creator-card:nth-child(3),
.business-card:nth-child(3) { transition-delay: 150ms; }
.creator-card:nth-child(4) { transition-delay: 220ms; }

/* 히어로 스크롤 인디케이터 (미사용 시에도 남겨둠) */
.scroll-arrow { position: relative; overflow: hidden; }
.scroll-arrow::after {
  content: "";
  position: absolute;
  left: 0; top: -40%;
  width: 1px; height: 40%;
  background: #111111;
  animation: scroll-indicator 1.8s ease-in-out infinite;
}
@keyframes scroll-indicator {
  0%   { transform: translateY(0);    opacity: 0; }
  25%  {                              opacity: 1; }
  100% { transform: translateY(380%); opacity: 0; }
}

.creator-tile,
.creator-card,
.business-card,
.map-placeholder { will-change: transform; }

/* Tailwind CDN에 없는 scale-108 대체 */
.group:hover .hover-scale-108 { transform: scale(1.08); }

/* 모바일 메뉴 햄버거 → X 애니메이션 */
#mobile-menu-toggle.is-open .hamburger-bar-1 { transform: translateY(0.5rem) rotate(45deg); }
#mobile-menu-toggle.is-open .hamburger-bar-2 { opacity: 0; }
#mobile-menu-toggle.is-open .hamburger-bar-3 { transform: translateY(-0.5rem) rotate(-45deg); }

/* 모바일 드로어 */
#mobile-menu-drawer.is-open { max-height: 24rem; }

/* 접근성: 모션 최소화 */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }
  [data-reveal] { opacity: 1; transform: none; }
}

/* 모바일에서는 히어로 타일 오프셋 해제 */
@media (max-width: 640px) {
  .hero-grid .creator-tile:nth-child(n) { transform: none !important; }
}
