/* ============================================================
   Eduxis — coming soon
   HSW 홈페이지와 동일한 디자인 시스템 (화이트 · 잉크 · 브랜드 컬러)
   ============================================================ */

@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.css');
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root {
  --ink:       #0c1a30;
  --ink-2:     #16294a;
  --ink-soft:  #5c6b82;
  --ink-faint: #8593a8;
  --paper:     #ffffff;
  --brand:     #ffb703;
  --line:      #e6e8ec;

  --sans: 'Pretendard', -apple-system, 'Apple SD Gothic Neo', system-ui, sans-serif;
  --mono: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', monospace;
  --ease: cubic-bezier(.22,.68,.24,1);
}

* { margin: 0; padding: 0; box-sizing: border-box; }
body {
  font-family: var(--sans);
  color: var(--ink);
  background: var(--paper);
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  word-break: keep-all;
  min-height: 100vh; min-height: 100svh;
  display: flex; flex-direction: column;
}
::selection { background: var(--brand); color: #fff; }

/* ===== 중앙 스테이지 ===== */
.stage {
  flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; padding: 48px 32px;
}
.tagline { font-family: var(--mono); font-size: 13px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--ink-soft); }
.wordmark { font-size: clamp(56px, 11vw, 120px); font-weight: 800; letter-spacing: -0.045em; line-height: 1.05; color: var(--brand); margin-top: 18px; }
.desc { font-size: clamp(16px, 2.2vw, 19px); color: var(--ink-2); line-height: 1.7; margin-top: 26px; }
.soon {
  display: inline-flex; align-items: center; gap: 9px;
  font-family: var(--mono); font-size: 13px; font-weight: 500; letter-spacing: .12em;
  color: var(--ink-soft); border: 1px solid var(--line); border-radius: 100px;
  padding: 10px 20px; margin-top: 44px;
}
.soon .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--brand); animation: pulse 1.8s var(--ease) infinite; }
@keyframes pulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .35; transform: scale(.72); } }

/* ===== 푸터 ===== */
.foot { text-align: center; font-family: var(--mono); font-size: 11px; letter-spacing: .08em; color: var(--ink-faint); padding: 0 32px 28px; }

/* ===== 등장 애니메이션 ===== */
@keyframes rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.reveal { animation: rise .7s var(--ease) both; }
.reveal-1 { animation-delay: .05s; } .reveal-2 { animation-delay: .13s; }
.reveal-3 { animation-delay: .21s; } .reveal-4 { animation-delay: .29s; }
.reveal-5 { animation-delay: .37s; }

@media (prefers-reduced-motion: reduce) {
  * { animation-duration: .001ms !important; animation-iteration-count: 1 !important; }
  .reveal { opacity: 1 !important; }
}
