html { scroll-behavior: smooth; }

:root {
  --black: #000000;
  --white: #FFFFFF;
}

body {
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  background: var(--white);
  color: var(--black);
}
.kr { word-break: keep-all; }
* { transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); }

.grayscale-photo { filter: grayscale(1) contrast(1.05); }

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(1.5rem); }
  to { opacity: 1; transform: translateY(0); }
}
[data-reveal] { opacity: 0; }
[data-reveal].in-view {
  animation: fadeInUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  animation-delay: calc(var(--index, 0) * 80ms);
}

.btn-primary { transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1); }
.btn-primary:hover { transform: scale(1.02); }
.btn-primary:active { transform: scale(0.98); }
.btn-primary .arrow-wrap { transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1); }
.btn-primary:hover .arrow-wrap { transform: translateX(4px); }

.card-hover { transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1); }
.card-hover:hover { transform: translateY(-6px); }

.nav-pill { backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }

/* Pain-point list — invitational, not a checklist of cards */
.fit-row { border-bottom: 1px solid rgba(0,0,0,0.12); }
.fit-row:first-child { border-top: 1px solid rgba(0,0,0,0.12); }

::selection { background: #000; color: #fff; }
:focus-visible { outline: 2px solid #000; outline-offset: 3px; }
