body { margin: 0; background: #FFFFFF; font-family: 'Noto Sans KR', 'Apple SD Gothic Neo', sans-serif; letter-spacing: 0.03em; }
a { color: #8C7A6B; text-decoration: none; } a:hover { color: #2B2B2B; }

.reveal { opacity: 0; transform: translateY(26px); transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
.reveal.in { opacity: 1; transform: translateY(0); }

@keyframes floaty { 0% { transform: translateY(0); } 50% { transform: translateY(-12px); } 100% { transform: translateY(0); } }
.floaty { animation: floaty 6s ease-in-out infinite; }

@keyframes nudge { 0% { transform: translateY(0); opacity: 0.6; } 50% { transform: translateY(8px); opacity: 1; } 100% { transform: translateY(0); opacity: 0.6; } }
.nudge { animation: nudge 2.2s ease-in-out infinite; }

.lift { transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1); }
.lift:hover { transform: translateY(-4px); box-shadow: 0 24px 48px rgba(43, 43, 43, 0.10); }

html { scroll-behavior: smooth; }
a.btn, a.badge, a.nav-a { text-decoration: none; color: inherit; }
a.nav-a { padding: 10px 2px; display: inline-block; }

@media (max-width: 1023px) {
  .hr { flex-direction: column !important; gap: 44px !important; padding: 56px 24px 10px 24px !important; }
  .hr .h1 { font-size: 38px !important; }
  .hr img.phone { width: 240px !important; }
  .nav-m { display: none !important; }
  .sec { padding: 76px 24px !important; }
  .ft { flex-direction: column !important; }
  .cr { padding-top: 0 !important; }
  .pw { margin: 0 auto; }
  .wf { position: static !important; margin: 16px auto 0 !important; }
  .wf > div { width: 300px !important; margin: 0 auto; }
  .tl > div > div:last-child { font-size: 10px !important; }
  .qr { display: none !important; }
  .cta { flex-direction: column !important; gap: 18px !important; }
  .phi { flex-wrap: wrap; justify-content: center; }
}
